1、用户与组账号
- 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号)
每一个用户账号包含一个唯一的用户 ID 和组 ID
标准用户是系统安装过程中自动创建的用户账号,其中除 root 是管理者外,其余的都是系统账号 - 组账号:组是逻辑性单元,用来集合特定的用户,以便于其中的所有成员对文件具有相同的访问权限
标准组是系统自动添加的,其中除 root 组用来组织管理者外,其余的供程序执行时使用
2、账号信息
(1)用户账号信息
有关用户账号的信息都记录在 /etc/passwd
文件中,其中每一行代表一个用户账号信息
每个用户数据中,以 :
分割不同的字段记录,例如 root 管理员的信息:root:x:0:0:root:/root:/bin/bash
其中各个字段的含义列举如下:
- 登陆名称:即用户账号,由 root 或具有相同权限的管理员指定
- 密码:通常以
x
表示,如果显示*
,则表示此账号停用,可使用passwd
命令更改自己的密码
另外,出于安全性的考虑,最好不要直接在/etc/passwd
文件中指定密码 - UID:每一个用户账号都有一个唯一的号码,称为 UID,最大可达 65335
其中 root 的 UID 为 0,并且 500 之前的 UID 都是预留给系统服务使用的,第一个添加的账号的 UID 是 1000 - GID:每一个组账号都有一个唯一的号码,称为 GID
其中 root 所属组 GID 为 0,第一个添加的组的 GID 是 1000 - 用户信息:账号的附加信息
- 主目录:用户登陆后直接进入的目录,除 root账号是
/root
外,其他账号默认是/home/username
- 登陆 shell:用户登陆时使用的 shell,默认是
/bin/bash
,用户可以使用 chsh 命令更改登陆 shell
/etc/shadow
文件主要用于密码保护,它是根据 /etc/passwd
产生的一个文件
在 Ubuntu 安装期间默认启用 Shadow Password 和 MD5 密码保护功能
若在系统中使用 /etc/shadow
文件,则利用 /etc/passwd
文件建立账号的方法将会失效
(2)组账号信息
在进行账号管理时,应以组为管理的基本单位,组的信息记录在 /etc/group
文件中,每一行代表一个组账号数据
每个用户数据中,以 :
分割不同的字段记录,例如 root 管理员所属组的信息:root:x:0
- 登陆名称:组账号名称
- 密码:通常以
x
表示 - GID:组账号 ID
- 用户列表:账号间以
,
隔开
同样的,对于组账号也有一个对应的 /etc/gshadow
文件用于提高账号的安全性
3、添加账号
(1) 添加用户账号
可以使用 useradd 账号名
命令添加用户账号,其常用的参数如下:
参数 | 描述 |
-d | 指定账号的登陆目录 |
-e | 指定账号的有效期限 |
-g | 指定 GID |
-u | 指定 UID |
-s | 指定账号的登陆 shell |
(2)添加组账号
可以使用 groupadd 账号名
命令添加组账号,其常用的参数如下:
参数 | 描述 |
-g | 指定 GID |
-o | 覆盖原有 GID |
4、修改账号
(1) 修改用户账号
可以使用 usermod 账号名
命令修改用户账号,其常用的参数如下:
参数 | 描述 |
-l | 指定账号的用户名称 |
-d | 指定账号的登陆目录 |
-e | 指定账号的有效期限 |
-g | 指定 GID |
-u | 指定 UID |
-s | 指定账号的登陆 shell |
-f | 缓冲天数 |
-c | 注释 |
(2)修改组账号
可以使用 groupmod 账号名
命令修改用户账号,其常用的参数如下:
参数 | 描述 |
-g | 指定 GID |
-o | 重复使用 |
5、删除账号
(1)删除用户账号
删除用户账号需要经过以下几个比较繁杂的步骤:
- 在
/etc/passwd
文件中删除用户记录 - 在
/etc/shadow
文件中删除用户记录 - 在
/etc/group
文件中删除与用户同名的组记录 - 删除用户主目录
- 删除用户的电子邮件记录,一般存放在
/var/spool/mold
目录下 - 删除用户的 arontab 设置,一般存放在
/var/spool/cron
目录下
(2)删除组账号
只需要使用命令 sudo groupdel 组名称
即可,但是要注意此时组中任何一个用户不能在系统登陆
6、密码管理
对于普通用户只能更改自己的密码,使用 passwd 命令即可
对于管理员则可以管理所有用户的密码
- 删除密码:
passwd -d 用户名
,删除密码后用户无需输入密码就可以直接登陆 - 锁定密码:
passwd -l 用户名
,锁定账号后用户无法继续登陆 - 打开锁定密码:
passwd -u 用户名
,注意若此账号使用了空白密码,则需要使用-f
参数强制打开
除了使用命令管理用户密码之外,还可以使用文件管理用户密码
- 删除密码:将
/etc/paswswd
和/etc/shadow
文件中的密码字段中的x
清除 - 锁定密码:在
/etc/passwd
文件中账号前面加上#
锁定账号 - 打开锁定密码:在
/etc/passwd
文件中账号前面去掉#
即可