Linux useradd 命令介绍( 二 )

家目录useradd 的默认处理是,在 /home 目录下创建用户的家目录 。然而,下面的参数可以改写家目录的基础目录 。-b 设置另一个可以创建家目录的基础目录 。例如指定 /home2 而不是 /home 。
$ sudo useradd -b /home2 vicky$ getent passwd vickyvicky:x:1013:1013::/home2/vicky:/bin/bash-d 参数可以指定一个与用户名不同的家目录 。
$ sudo useradd -d /home/ben jerry$ getent passwd jerryjerry:x:1014:1014::/home/ben:/bin/bash目录模板指定 -k 参数会在创建新用户时,复制 /etc/skel 目录下的所有文件到用户的家目录中 。这些文件通常是 shell 配置文件,当然也可以是系统管理员想在新建用户时使用的任何文件 。
Shell-s 参数可以指定 shell 。如果不指定,则使用默认的 shell 。例如,下面的例子中,配置文件中定义的 shell 是 bash,但 wally 这个用户指定的是 zsh 。
SHELL=/bin/bash$ sudo useradd -s /usr/bin/zsh wally$ getent passwd wallywally:x:1004:1004::/home/wally:/usr/bin/zsh安全安全是用户管理的重中之重,因此 useradd 命令也提供了很多关于安全的选项 。可以使用 -e 参数,以 YYYY-MM-DD 的格式指定一个用户的过期时间 。
$ sudo useradd -e 20191231 sammy$ sudo getent shadow sammysammy:!!:18171:0:99999:7::20191231:当密码过期时,账号也会自动失效 。-f 参数指定密码过期后经过几天账号失效 。如果设为 0,则立即失效 。
$ sudo useradd -f 30 willy$ sudo getent shadow willywilly:!!:18171:0:99999:7:30::实例生产环境中,创建一个用户账号时会用到多个参数 。例如,我要创建一个 Perry 账号,可能会用下面的命令:
$ sudo useradd -u 1020 -c "Perry Example" -G tgroup -b /home2 -s /usr/bin/zsh -e 20201201 -f 5 perry查看前面的内容来理解每个选项 。用下面的命令确认结果:
$ getent passwd perry; getent group perry; getent shadow perry; id perryperry:x:1020:1020:Perry Example:/home2/perry:/usr/bin/zshperry:x:1020:perry:!!:18171:0:99999:7:5:20201201:uid=1020(perry) gid=1020(perry) groups=1020(perry),3000(tgroup)一点小建议useradd 命令是所有 Unix(不仅仅是 Linux)系统管理员都必知必会的命令 。由于用户创建不能出错,需要第一次就正确,所以理解它的每一个选项很重要 。这意味着你需要有一套深思熟虑的命名约定,包括为整个企业环境而不仅仅是一个单系统预留一个专用的 UID/GID 范围,尤其是你为一个成长中的组织工作时 。
 
via: https://opensource.com/article/19/10/linux-useradd-command
作者: Alan Formy-Duval 选题: lujun9972 译者: lxbwolf 校对: wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出

【Linux useradd 命令介绍】


推荐阅读