1、用户

Linux系统上的每一个进程,都需要一个特定的用户运行,一个用户拥有特定的权限,该用户运行的进程与用户权限一致。
管理员 UID 为 0:普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000开始的(即使前面有闲置的号码)。
Linux 系统中还引入了用户组(GID)的概念。通过使用用 户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中,从而方 便为组中的用户统一规划权限或指定任务

  1. #普通用户的UID和GID
  2. [root@localhost root01]# id root01
  3. uid=1000(root01) gid=1000(root01) 组=1000(root01)
  4. #root用户的UID和GID
  5. [root@localhost root01]# id root
  6. uid=0(root) gid=0(root) 组=0(root)

1、创建用户useradd
  1. -d 指定用户的家目录(默认为/home/username
  2. -e 账户的到期时间,格式为 YYYY-MM-DD.
  3. -u 指定该用户的默认 UID
  4. -g 指定一个初始的用户基本组(必须已存在)
  5. -G 指定一个或多个扩展用户组
  6. -N 不创建与用户同名的基本用户组
  7. -s 指定该用户的默认 Shell 解释器
  8. [root@localhost root01]# useradd -u 10000 -g user test
  9. [root@localhost root01]# id test
  10. uid=10000(test) gid=1001(user) 组=1001(user)

2、创建组groupadd
  1. [root@localhost root01]# groupadd user

3、修改用户属性usermod
  1. -c 填写用户账户的备注信息
  2. -d -m 参数-m 与参数-d 连用,可重新指定用户的家目录并自动把旧的数据转移过去
  3. -e 账户的到期时间,格式为 YYYY-MM-DD
  4. -g 变更所属用户组
  5. -G 变更扩展用户组
  6. -L 锁定用户禁止其登录系统
  7. -U 解锁用户,允许其登录系统
  8. -s 变更默认终端
  9. -u 修改用户的 UID
  10. [root@localhost root01]# id test
  11. uid=10000(test) gid=1001(user) 组=1001(user)
  12. [root@localhost root01]# usermod -g test test
  13. [root@localhost root01]# id test
  14. uid=10000(test) gid=1002(test) 组=1002(test)

4、修改密码
  1. -l 锁定用户,禁止其登录
  2. -u 解除锁定,允许用户登录
  3. --stdin 允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username
  4. -d 使该用户可用空密码登录系统
  5. -e 强制用户在下次登录时修改密码
  6. -S 显示用户的密码是否被锁定,以及密码所采用的加密算法名称
  7. #使用root账号修改其他账号的密码
  8. [root@localhost root01]# passwd root01
  9. 更改用户 root01 的密码
  10. 新的 密码:
  11. 无效的密码: 密码少于 8 个字符
  12. 重新输入新的 密码:
  13. passwd:所有的身份验证令牌已经成功更新。
  14. [root@localhost root01]#

5、删除用户userdel
  1. -f 强制删除用户
  2. -r 同时删除用户及用户家目录
  3. [root@linuxprobe ~]# id linuxprobe
  4. uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)
  5. [root@linuxprobe ~]# userdel -r linuxprobe
  6. [root@linuxprobe ~]# id linuxprobe
  7. id: linuxprobe: no such user

6、补充用户操作常用命令
  1. [root@laser ~]# id root 查看当前用户, root
  2. uid=0(root) gid=0(root) 组=0(root)
  3. [root@laser ~]# whoami 查看登陆用户
  4. root
  5. [root@laser ~]# who 查看所有登陆用户
  6. root pts/0 2020-11-24 10:21 (192.168.11.227)
  7. [root@laser ~]# ps aux |grep [s]sh 每一个进程都有用户所属
  8. root 1150 0.0 0.1 112924 1524 ? Ss 11:52 0:00 /usr/sbin/sshd -D
  9. root 1256 0.0 0.2 161012 2040 ? Ss 11:52 0:01 sshd: root@pts/0
  10. 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、文件权限与归属

  1. -:普通文件。
  2. d:目录文件。
  3. l:链接文件。
  4. b:块设备文件。
  5. c:字符设备文件。
  6. p:管道文件。
  7. [root@localhost t]# ll
  8. 总用量 0
  9. -rw-r--r--. 1 root root 0 4 21 20:34 a
  10. drwxr-xr-x. 2 root root 6 4 21 20:35 b
  11. -rw-r--r--. 1 root root 0 4 21 20:35 c
  12. lrwxrwxrwx. 1 root root 14 4 21 20:36 d -> /study/abc.txt

image.png

权限分配 文件所有者 文件所属者 其他用户
权限项 执行 执行 执行
字符表示 r w x r w x r w x
数字表示 4 2 1 4 2 1 4 2 1

3、文件的特殊权限

  1. SUID
  2. SGID
  3. SBIT 只能删除自己的文件,而不能删除其他用户的文件

4、隐藏文件

  1. #创建隐藏文件只需要把原有的文件改名前面加上一个.文件就会被隐藏
  2. [root@localhost b]# touch a.txt
  3. [root@localhost b]# ll
  4. 总用量 0
  5. -rw-r--r--. 1 root root 0 4 21 20:53 a.txt
  6. [root@localhost b]# mv a.txt .a.txt
  7. [root@localhost b]# ll -a
  8. 总用量 0
  9. drwxr-xr-x. 2 root root 20 4 21 20:53 .
  10. drwx------. 3 root root 42 4 21 20:36 ..
  11. -rw-r--r--. 1 root root 0 4 21 20:53 .a.txt

5、文件访问权限

  1. 更改所属组: chown -r root01:/home/XXX (冒号后面指定文件夹或者文件)
  2. 更改文件权限: chmod -r 755 /home/xxx/xxx 指定文件夹或者文件

6、su与sudo

  1. su 命令可以解决切换用户身份
  2. 一般建议使用su - 来切换用户,意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息
  1. 一般常用与给某个账号赋予root账号的权限
  2. 1、添加用户,首先用adduser命令添加一个普通用户,命令如下:
  3. #adduser tommy //添加一个名为tommy的用户
  4. #passwd tommy //修改密码
  5. Changing password for user tommy.
  6. New UNIX password: //在这里输入新密码
  7. Retype new UNIX password: //再次输入新密码
  8. passwd: all authentication tokens updated successfully.
  9. 2、赋予root权限
  10. 方法一: 修改 /etc/sudoers 文件,找到%wheel一行,把前面的注释(#)去掉
  11. ## Allows people in group wheel to run all commands
  12. %wheel ALL=(ALL) ALL
  13. 然后修改用户,使其属于root组(wheel),命令如下:
  14. #usermod -g root tommy
  15. 修改完毕,现在可以用tommy帐号登录,然后用命令 sudo su - ,即可获得root权限进行操作。
  16. 方法二: 修改 /etc/sudoers 文件,找到root一行,在root下面添加一行,如下所示:
  17. ## Allow root to run any commands anywhere
  18. root ALL=(ALL) ALL
  19. tommy ALL=(ALL) ALL
  20. 修改完毕,现在可以用tommy帐号登录,然后用命令 sudo su - ,即可获得root权限进行操作。
  21. 方法三: 修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
  22. tommy:x:500:500:tommy:/home/tommy:/bin/bash
  23. 修改后如下
  24. tommy:x:0:500:tommy:/home/tommy:/bin/bash
  25. 保存,用tommy账户登录后,直接获取的就是root帐号的权限。
  26. 建议使用方法二,不要轻易使用方法三。