《linux 用户管理》- useradd/userdel/usermod/groupadd/who/w/id/group
一:概念
- 在 Linux 中,分为三种用户
- 普通用户 (即为所有使用 Linux 的真实用户)
- 根用户 (即为 root 用户,拥有对于系统的完全控制)
- 系统用户 (系统运行时的必须用户,但并不是真实用户,例如 PHP 的 www-data)
- UID/GID (用户ID/组ID)概念
- 在 Linux 中,使用一个 32位整数 来记录每一个用户(USER ID 简称 UID)
- 这意味着在 Linux 中,可以有 40亿 个不同的用户。
- 系统默认从 500之后创建用户/组 (1-499系统用户使用)
- 用户的 UID/GID(Group ID 简称 GID) 为 0.
- 用户信息存在哪?
- 在 /etc/passwd 记录了每一个用户组/权限等信息
- 由于每个用户都有权限查看 /etc/passwd 权限.对于密码来说,是不安全的。
- 所以现代 Linux 将 密码信息剥离到了 /etc/shadow 里面,只有 root 用户 可以查看
二: 账号管理
- useradd 添加用户
- 推荐使用 useradd -m 用户名 创建用户,这样会同时生成用户 ‘家(home)’ 目录。
-
-
-
root@1feebb8a548b:~# useradd -m homework root@1feebb8a548b:~# cd /home/homework/ root@1feebb8a548b:/home/homework# pwd /home/homework
-
-
- 用户创建成功后,Linux 会在在 /etc/passwd 和 /etc/shadow 追加该用户记录,同时分配一个 UID 和 GID
-
-
-
cat /etc/passwd ... homework:x:1000:1000::/home/homework: cat /etc/shadow ... homework:!:17942:0:99999:7:::
-
-
- 同时创建这个用户组
-
-
-
cat /etc/group ... homework:x:1000:
-
-
- passwd 修改密码
- 没有设置过密码的用户(在 /etc/shdow 里面会有 ! 作为标识) 是不允许登录的.
- usermod 修改用户
- 冻结账户 usermod -L 用户名
- 解冻账户 usermod -U 用户名
- 指定家目录 usermod -d /home/homework_new -m 用户名
- -m 的作用为,创建新的家目录文件 并指向新的家目录
- usedel 删除用户
- 使用 usedel 删除用户, 同时会删除 /etc/passwd 和 /etc/shadow 的记录
- 但是 Linux 出于安全考虑,并不会删除所有的用户记录(保留邮件和家目录)
- 如果想彻底删除,使用 usedel -r 用户名 可以删除与用户相关的所有信息。
三: 用户组管理
- groupadd 新增用户组
- groupadd 组名,新增的用户组可在 /etc/group 中查看
- groupdel 删除用户组
- groupdel 组名, 如果组内有成员,则删除失败
四: 用户信息
- id (查看自己的 UID 和 GID)
- who (查看当前登录用户)
-
homework@lihong ~ $ who 用户名 来源 日期 homework pts/1 2019-02-15 15:07 (xx.xx.xx.xx) homework pts/2 2019-02-13 15:43 (xx.xx.xx.xx)
- w (查看当前登录用户详细信息)
-
-
17:48:12 up 77 days, 21:26, 8 users, load average: 0.03, 0.06, 0.01 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
用户名 终端 来源 登录时间 闲置时间 与终端相关的CPU运行量 与当前WHAT进程消耗的CPU时间总量 当前运行进程 homework pts/1 xxx.xx.xxx.xx 15:07 6:15 0.07s 0.07s -bash homework pts/2 xxx.xx.xxx.xx Wed15 25:13m 0.08s 0.01s tail -f php-error.log homework pts/9 xxx.xx.xxx.xxx 17:47 0.00s 0.00s 0.00s w
-
-