useradd
是一个用于创建新用户的命令。通过该命令可以指定用户的详细信息,包括用户名、用户ID、主目录、登录shell等。此命令通常需要超级用户权限。
基本语法
useradd [选项] 用户名
常用选项
-c, --comment COMMENT
添加用户注释信息,通常是全名或描述。
useradd -c "John Doe" johndoe
-d, --home HOME_DIR
指定用户的家目录。如果未指定,将使用默认的家目录路径。
useradd -d /home/johndoe johndoe
-e, --expiredate EXPIRE_DATE
指定账户过期日期。格式为YYYY-MM-DD。
useradd -e 2023-12-31 johndoe
-f, --inactive INACTIVE
指定密码过期后多少天账户自动失效。值为0表示立即失效,-1表示不启用此功能。
useradd -f 30 johndoe
-g, --gid GROUP
指定用户的主要组ID。
useradd -g 500 johndoe
-G, --groups GROUPS
指定用户的附加组列表,用逗号分隔。
useradd -G sudo,wheel johndoe
-m, --create-home
创建用户的家目录,并复制模板目录的内容到该目录下。
useradd -m johndoe
-M, --no-create-home
不创建用户的家目录。
useradd -M johndoe
-p, --password PASSWORD
指定用户的初始密码。密码需要是加密后的形式,通常使用openssl passwd -crypt
生成。
useradd -p $(openssl passwd -crypt password) johndoe
-r, --system
创建一个系统用户。系统用户主要用于运行系统服务。
useradd -r johndoe
-s, --shell SHELL
指定用户的登录shell。
useradd -s /bin/bash johndoe
示例
创建一个普通用户
sudo useradd -c "John Doe" -m -s /bin/bash johndoe
创建一个系统用户
sudo useradd -r -s /sbin/nologin sysuser
创建用户并设置过期日期和密码
sudo useradd -c "Jane Smith" -e 2023-12-31 -m -s /bin/bash janedoe echo "janedoe:$(openssl passwd -crypt password)" | sudo chpasswd
注意事项
- 使用
useradd
时最好结合其他命令如chfn
、chsh
等来完善用户信息。 - 如果使用
-p
选项设置密码,请确保密码已经加密,否则会导致无法登录。 - 使用
useradd
命令时,最好以root或具有相应权限的用户身份执行,以避免权限问题。
相关命令
usermod
: 修改用户属性。userdel
: 删除用户。passwd
: 更改用户密码。chfn
: 更改用户全名及其他注释信息。chsh
: 更改用户的默认shell。
以上是关于useradd
命令的基本用法及示例。希望这些信息能帮助您更好地理解和使用Linux系统中的用户管理工具。