用户管理是 Linux 系统管理员的重要任务之一。在 Linux 操作系统中,本地帐户或用户由 useradd、usermod、userdel、chage 和 passwd 命令管理。
- useradd - 用于在 Linux 下创建新帐户
- usermod - 用于修改 Linux 系统中已存在的帐户
- userdel - 用于删除 Linux 系统的本地帐号
- passwd - 为本地帐户或用户分配密码的命令
- chage - 用于查看和修改用户密码过期信息
useradd 命令语法
# useradd <options> <username_or_login>
命令选项:
usermod 命令语法
# usermod <options> <username_or_login>
命令选项:
userdel 命令语法
# userdel <options> <username_or_login>
命令选项:
chage 命令语法
# chage <options> <username_or_login>
命令选项:
passwd 命令语法
# passwd <username_or_login>
有关 passwd 命令的详细信息请参考:
10 passwd command examples in Linux
(1) 创建本地帐户并指定密码
使用下面的 useradd 和 passwd 命令创建一个用户并为其分配密码
# useradd <username> ; echo -e "<newpassword>\n<newpassword>" | passwd username
让我们创建一个用户 harry 并分配密码
# useradd harry ; echo -e "Roxicant@123#\nRoxicant@123#" | passwd harry
Changing password for user harry.
New password: Retype new password:
#
(2) 使用自定义设置创建用户
假设我们想要创建一个具有以下选项的用户:
UID = 2000
GID = 5000
Comments = ‘Admin Account of SAP’
Home Directory = /opt/sap
Shell = /bin/ksh
Username = john
password = xxxxxx
运行如下命令:
# useradd -u 2000 -g 5000 -c "Admin Account of SAP" -d /opt/sap -s /bin/ksh john
# echo -e "Sapcant@123#\nSapcant@123#" | passwd john
Changing password for user john.
New password: Retype new password: passwd: all authentication tokens\
updated successfully.
#
查看 /etc/passwd 文件,验证上述设置
# grep john /etc/passwd
john:x:2000:5000:Admin Account of SAP:/opt/sap:/bin/ksh
#
(3) 修改已有用户
usermod 命令用于修改 Linux 系统中已存在的本地用户。
假设我们要将现有用户 harry 加入 sap 组,用户主目录由 /home/harry 改为 /opt/sap,登录 shell 由 /bin/bash 改为 /bin/sh
[root@linuxtechi ~]# usermod -G sap -d /opt/sap -s /bin/sh harry
[root@linuxtechi ~]#
[root@linuxtechi ~]# grep harry /etc/passwd
harry:x:1000:1000::/opt/sap:/bin/sh
[root@linuxtechi ~]#
(4) 创建新用户,首次登录强制修改密码
chage -d 0 username 可以强制用户首次登录时修改密码。
让我们创建一个用户 mark,隶属于 sap 组,用户主目录为 /opt/sap,强制他在第一次登录时更改密码。
# useradd -c "sap user" -G sap -d /opt/data mark
# echo -e "Sapdata@123#\nSapdata@123#" | passwd mark ; chage -d 0 mark
Changing password for user mark.
New password: Retype new password: passwd: all authentication tokens \
updated successfully.
#
现在以 mark 的身份登录,看看用户是否会得到修改密码的提示。
备注: 使用 chage -l username 命令可以查看用户密码过期信息。
(5) 删除用户及其主目录
userdel 命令用于删除 Linux 系统的本地用户。
假设我们要删除用户 linuxtechi 及其主目录,示例如下
# userdel -r linuxtechi
# grep linuxtechi /etc/passwd
#
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。