在 linux 下是 通过对用户配置文件的管理来实现对用户和组的管理
1、/etc/passwd 用户账号文件,记录所有用户记录
每行表示一个用户信息,7 个字段都有各自的含义
root : x : 0 : 0 : root : /root : /bin/bash
用户名 密码 UserID GroupID 用户相关说明 用户家目录路径 用户的登陆 shell
2、/etc/shadow 用户账户的影子文件,包含用户的加密密码和其他信息,两个文件互补来记录用户 信息,这个文件只有 root 可以读取和操作
每行包含 8 个字段,各项说明如下:
第 1 个字段 用户名
第 2 个字段 加密口令
第 3 个字段 上次口令改变时间,从 1970 年 1 月 1 日算起的天数
第 4 个字段 多少天内不能改变口令
第 5 个字段 多少天内必须改变口令
第 6 个字段 口令到期前多少天会出现警告
第 7 个字段 如果口令到期后几天不使用账号,则无法登陆
第 8 个字段 如果到这个日期不用账号则无法登陆,可以以 YYYY-MM-DD 格式,也可以用 1970 年 1 月 1 日起
的天数
用户管理 1、useradd 创建用户命令
useradd jake 创建名为 jake 的用户
-d 指定用户的家目录
-g 指定用户组
-G 指定用户的附加组
-u 指定用户的 UID 值
-p 创建密码
useradd -d /rose -g group -G root -u 505 rose
创建 rose 用户,指定家目录在/rose 下,加入到 group 组,同时附加到 root 组,并设置 UID 号为 505
users 查看所有登陆的用户(who)
2、tail 命令查看指定文件的末行
tail -n 3 /etc/passwd 查看 passwd 文件的最后三行 tail -1 /etc/passwd 查看 passwd 文件的最后一行 3、passwd 设置密码命令 注意:没有设置密码的用户不能使用
passwd rose 给用户 rose 设置密码
-d 删除密码
-f 强制执行下次登陆时更改密码
-l 停止账号使用
-u 启用已经停止的账号
-S 显示密码信息 4、userdel 删除账号命令
userdel rose 删除 rose 账号
userdel -r rose 删除用户登陆目录及目录下的文件(类似于 windows 的删除用户选择是否删除用户的文
档)
5、usermod 修改账号命令 usermod -l newname oldname
-d -g -G -u 等参数与 useradd 命令参数使用方法一样 usermod -d /home/rose -g group0 -G group1 -u 600 rose 将 rose 用户的家目录,主组和附加组以及 UID 值更改 用户的锁定与解锁
usermod -L rose 锁定 rose 用户 usermod -U rose 解除 rose 用户的锁定 6、gpasswd 用户添加到其他组的命令
注意:只有 root 和组管理员能够改变组成员 gpasswd -a u1 g1 将 u1 加入到 g1 组 gpasswd -d u1 g1 将 u1 退出 g1 组
gpasswd -A u1 g1 将 g1 组的管理员指派给 u1 7、id 查看 ID 信息命令
id rose 查看 rose 用户的 ID 信息
组的管理
1、groupadd 添加用户组
-g 指定 GID-o 一般和 g 选项同时使用,可以与已有组的 GID 相同 groupadd -go 501 g1 创建组 g1 其 GID 可以与已有的组重复 2、gpasswd 设置用户组的密码
一般的情况下,没有必要设置用户组的密码; gpasswd rose 修改 rose 组的密码 3、groupdel 删除用户组
groupdel g1 删除 g1 组(没有用户的空组) 4、groupmod 修改组属性
-g 指定新的 GID
-o 与-g 配合使用同 groupadd 的-o
-n 修改组名
groupmod -g 601 g1 修改 g1 的 GID 为 601 groupmod -n g11 g1 将 g1 组改名为 g11 5、newgrp 切换用户组
newgrp root 切换到 root 组