1、用户
Linux系统上的每一个进程,都需要一个特定的用户运行,一个用户拥有特定的权限,该用户运行的进程与用户权限一致。
管理员 UID 为 0:普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000开始的(即使前面有闲置的号码)。
Linux 系统中还引入了用户组(GID)的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务
#普通用户的UID和GID
[root@localhost root01]# id root01
uid=1000(root01) gid=1000(root01) 组=1000(root01)
#root用户的UID和GID
[root@localhost root01]# id root
uid=0(root) gid=0(root) 组=0(root)
1、创建用户useradd
-d 指定用户的家目录(默认为/home/username)
-e 账户的到期时间,格式为 YYYY-MM-DD.
-u 指定该用户的默认 UID
-g 指定一个初始的用户基本组(必须已存在)
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户的默认 Shell 解释器
[root@localhost root01]# useradd -u 10000 -g user test
[root@localhost root01]# id test
uid=10000(test) gid=1001(user) 组=1001(user)
2、创建组groupadd
[root@localhost root01]# groupadd user
3、修改用户属性usermod
-c 填写用户账户的备注信息
-d -m 参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为 YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的 UID
[root@localhost root01]# id test
uid=10000(test) gid=1001(user) 组=1001(user)
[root@localhost root01]# usermod -g test test
[root@localhost root01]# id test
uid=10000(test) gid=1002(test) 组=1002(test)
4、修改密码
-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
--stdin 允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username
-d 使该用户可用空密码登录系统
-e 强制用户在下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称
#使用root账号修改其他账号的密码
[root@localhost root01]# passwd root01
更改用户 root01 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost root01]#
5、删除用户userdel
-f 强制删除用户
-r 同时删除用户及用户家目录
[root@linuxprobe ~]# id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)
[root@linuxprobe ~]# userdel -r linuxprobe
[root@linuxprobe ~]# id linuxprobe
id: linuxprobe: no such user
6、补充用户操作常用命令
[root@laser ~]# id root 查看当前用户, root
uid=0(root) gid=0(root) 组=0(root)
[root@laser ~]# whoami 查看登陆用户
root
[root@laser ~]# who 查看所有登陆用户
root pts/0 2020-11-24 10:21 (192.168.11.227)
[root@laser ~]# ps aux |grep [s]sh 每一个进程都有用户所属
root 1150 0.0 0.1 112924 1524 ? Ss 11:52 0:00 /usr/sbin/sshd -D
root 1256 0.0 0.2 161012 2040 ? Ss 11:52 0:01 sshd: root@pts/0
root 2234 0.0 0.0 72472 776 ? Ss 12:01 0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic"
2、文件权限与归属
-:普通文件。
d:目录文件。
l:链接文件。
b:块设备文件。
c:字符设备文件。
p:管道文件。
[root@localhost t]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月 21 20:34 a
drwxr-xr-x. 2 root root 6 4月 21 20:35 b
-rw-r--r--. 1 root root 0 4月 21 20:35 c
lrwxrwxrwx. 1 root root 14 4月 21 20:36 d -> /study/abc.txt
权限分配 | 文件所有者 | 文件所属者 | 其他用户 | ||||||
---|---|---|---|---|---|---|---|---|---|
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
3、文件的特殊权限
SUID
SGID
SBIT 只能删除自己的文件,而不能删除其他用户的文件
4、隐藏文件
#创建隐藏文件只需要把原有的文件改名前面加上一个.文件就会被隐藏
[root@localhost b]# touch a.txt
[root@localhost b]# ll
总用量 0
-rw-r--r--. 1 root root 0 4月 21 20:53 a.txt
[root@localhost b]# mv a.txt .a.txt
[root@localhost b]# ll -a
总用量 0
drwxr-xr-x. 2 root root 20 4月 21 20:53 .
drwx------. 3 root root 42 4月 21 20:36 ..
-rw-r--r--. 1 root root 0 4月 21 20:53 .a.txt
5、文件访问权限
更改所属组: chown -r root01:/home/XXX (冒号后面指定文件夹或者文件)
更改文件权限: chmod -r 755 /home/xxx/xxx 指定文件夹或者文件
6、su与sudo
su 命令可以解决切换用户身份
一般建议使用su - 来切换用户,意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息
一般常用与给某个账号赋予root账号的权限
1、添加用户,首先用adduser命令添加一个普通用户,命令如下:
#adduser tommy //添加一个名为tommy的用户
#passwd tommy //修改密码
Changing password for user tommy.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully.
2、赋予root权限
方法一: 修改 /etc/sudoers 文件,找到%wheel一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy
修改完毕,现在可以用tommy帐号登录,然后用命令 sudo su - ,即可获得root权限进行操作。
方法二: 修改 /etc/sudoers 文件,找到root一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 sudo su - ,即可获得root权限进行操作。
方法三: 修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
tommy:x:500:500:tommy:/home/tommy:/bin/bash
修改后如下
tommy:x:0:500:tommy:/home/tommy:/bin/bash
保存,用tommy账户登录后,直接获取的就是root帐号的权限。
建议使用方法二,不要轻易使用方法三。