1、用户
Linux系统上的每一个进程,都需要一个特定的用户运行,一个用户拥有特定的权限,该用户运行的进程与用户权限一致。
管理员 UID 为 0:普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000开始的(即使前面有闲置的号码)。
Linux 系统中还引入了用户组(GID)的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务
#普通用户的UID和GID[root@localhost root01]# id root01uid=1000(root01) gid=1000(root01) 组=1000(root01)#root用户的UID和GID[root@localhost root01]# id rootuid=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 testuid=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 testuid=10000(test) gid=1001(user) 组=1001(user)[root@localhost root01]# usermod -g test test[root@localhost root01]# id testuid=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 linuxprobeuid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)[root@linuxprobe ~]# userdel -r linuxprobe[root@linuxprobe ~]# id linuxprobeid: linuxprobe: no such user
6、补充用户操作常用命令
[root@laser ~]# id root 查看当前用户, rootuid=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 -Droot 1256 0.0 0.2 161012 2040 ? Ss 11:52 0:01 sshd: root@pts/0root 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 adrwxr-xr-x. 2 root root 6 4月 21 20:35 b-rw-r--r--. 1 root root 0 4月 21 20:35 clrwxrwxrwx. 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、文件的特殊权限
SUIDSGIDSBIT 只能删除自己的文件,而不能删除其他用户的文件
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总用量 0drwxr-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 anywhereroot ALL=(ALL) ALLtommy 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帐号的权限。建议使用方法二,不要轻易使用方法三。
