Linux 用户管理
- 添加用户:useradd
- 删除用户 : userdel
- 修改用户信息 : usermod
- 添加用户密码 : passwd
1.添加用户
useradd
格式: passwd [-options] [username]
参数:
-a all, 此选项只能和 -S 一起使用, 来显示所有用户的状态
-d delete, 删除用户密码(把密码置为空)
-l lock, 锁定指定账户(将密码更改为一个不可能与加密值匹配的值来禁用)
-u unlock, 解锁指定账户
-S status, 显示账户状态信息
例子:
useradd -md /home/u2 user02 // 新建用户 user02, 自动创建主目录 /home/u2, 自动创建组 user02
useradd -md /home/u3 -g g3 user03 // 新建用户 user03, 自动创建主目录 /home/u3, 指定组为 g3(指定的组必须已存在)
2.删除用户
userdel
删除用户时, 如果用户所属组是创建用户时自动创建的和用户名称同名的组, 并且该组内没有其他用户, 则该组也会被删掉。
格式: userdel [-options] username
参数:
-f 强制删除用户, 即使用户当前已登录
-r 删除用户, 同时删除用户主目录
例子:
userdel -r user02 // 删除用户 user02, 并同时删除用户主目录
3.修改用户信息
usermod
usermode 命令用于修改用户的基本信息。不允许修改正在线上的用户的名称, 不允许修改正在系统上执行程序的用户的ID。
格式: usermod [-options] username
参数:
-c comment, 设置帐户注释
-d home_dir, 设置用户主目录
-e expiredate, 设置帐户过期日期
-g group, 强制修改用户的新主组
-G groups, 修改用户新的附加组列表
-a append group, 将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户
-u uid, 修改账户的用户ID
-l login, 设置用户的登录名称
-s shell, 修改用户登录后使用的 shell
-L lock, 锁定用户帐户(等同于 passwd -l 命令锁定账户)
-U unlock, 解锁用户帐户(等同于 passwd -u 命令解账户)
例子:
usermod -u 9999 user01 // 把用户 user01 的 ID 修改为 9999
usermod -l u1 user01 // 把用户 user01 的名称修改为 u1
usermod -aG sudo user01 // 把 组sudo 添加到用户 user01 的附加组列表, 使该用户拥有执行 sudo 命令的权限
4.用户密码
passwd
设置或修改用户密码, 普通用户可以根据原密码修改自己的密码, 超级用户可以直接重置所有用户(包括 root 用户)的密码。
格式: passwd [-options] [username]
参数:
-a all, 此选项只能和 -S 一起使用, 来显示所有用户的状态
-d delete, 删除用户密码(把密码置为空)
-l lock, 锁定指定账户(将密码更改为一个不可能与加密值匹配的值来禁用)
-u unlock, 解锁指定账户
-S status, 显示账户状态信息
例子:
passwd user01 // 重置用户的密码, 输入 新密码, 确认新密码
passwd -aS // 查看所有用户的状态
passwd -S user01 // 查看用户 user01 的状态
###用户账户信息: /etc/passwd
文件 /etc/passwd 中存放了所有用户的账户信息, 每一行为一个用户, 每个用户的账户信息分为 7 个字段, 用 “:” 分隔。
格式:
Username : Password : User ID : Group ID : Comment : Home Diretory : Login Command
用户名 : 密码 : 用户ID : 组ID : 用户注解 : 主目录 : 登录后执行的命令
用户组信息:/etc/group
文件 /etc/group 中存放了所有组的信息, 每一行表示一个组, 每个组的信息分为 4 个字段, 用 “:” 分隔。
格式:
Group Name : Password : Group ID : User List
注意:
新创建的用户默认不能使用 sudo 命令, 需要另外添加该命令的权限, 实际上 sudo 是一个组的名称,
把 组sudo 追加到用户的附加组列表, 该用户便能在输入用户自己密码的情况下执行 sudo 命令。
例如让用户 user01 拥有 sudo 命令权限, 命令格式为: usermod -aG sudo user01
出现的问题
此处为借鉴内容
当时给用户添加 sudo 用户组时(usermod -aG sudo user01
),报 usermod: group 'sudo' does not exist
的错
因为centos默认没有sudo组,可以将你的用户指向wheel用户组, wheel用户组同样有sudo权限
所以在centos上可以使用如下命令添加用户组
root@centos-system$ sudo usermod -a -G wheel userName
操作后注销重新登录
修改后必须重新登录才生效,否则会报错