此命令中的选项如下:
-m 创建家目录并在其中生成初始文件
-g 指定用户归属的用户组
-c 添加账户描述信息(通常是用户的姓名)
若你希望总是创建家目录,你可以编辑 /etc/login.defs 文件来更改默认工作方式。更改或添加 CREATE_HOME 变量并将其设置为 yes :
$ grep CREATE_HOME /etc/login.defs CREATE_HOME yes
另一种方法是用自己的账户设置别名从而让 useradd 一直带有 -m 选项。
$ alias useradd=’useradd -m’
确保将该别名添加到你的 ~/.bashrc 文件或类似的启动文件中以使其永久生效。
深入了解 /etc/login.defs
下面这个命令可列出 /etc/login.defs 文件中的全部设置。下面的 grep 命令会隐藏所有注释和空行。
$ cat /etc/login.defs | grep -v "^#" | grep -v "^$" MAIL_DIR /var/mail FAILLOG_ENAB yes LOG_UNKFAIL_ENAB no LOG_OK_LOGINS no SYSLOG_SU_ENAB yes SYSLOG_SG_ENAB yes FTMP_FILE /var/log/btmp SU_NAME su HUSHLOGIN_FILE .hushlogin ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games TTYGROUP tty TTYPERM 0600 ERASECHAR 0177 KILLCHAR 025 UMASK 022 PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_WARN_AGE 7 UID_MIN 1000 UID_MAX 60000 GID_MIN 1000 GID_MAX 60000 LOGIN_RETRIES 5 LOGIN_TIMEOUT 60 CHFN_RESTRICT rwh DEFAULT_HOME yes CREATE_HOME yes <=== USERGROUPS_ENAB yes ENCRYPT_METHOD SHA512
注意此文件中的各种设置会决定用户 id 的取值范围以及密码使用期限和其他设置(如 umask)。
如何显示用户所属的用户组
出于各种原因用户可能是多个用户组的成员。用户组成员身份给与用户对用户组拥有的文件和目录的访问权限,有时候这种工作方式是至关重要的。要生成某个用户所属用户组的清单,用 groups 命令即可。
$ groups jdoe jdoe : jdoe adm admin cdrom sudo dip plugdev lpadmin staff sambashare
你可以键入不带任何参数的 groups 命令来列出你自己的用户组。
如何添加用户至用户组
如果你想添加一个已有用户至别的用户组,你可以仿照下面的命令操作:
$ sudo usermod -a -G devops jdoe
你也可以指定逗号分隔的用户组列表来添加一个用户至多个用户组:
$ sudo usermod -a -G devops,mgrs jdoe
参数 -a 意思是“添加”,-G 指定用户组列表。
你可以编辑 /etc/group 文件将用户名从用户组成员名单中删除,从而将用户从用户组中移除。usermod 命令或许也有个选项用于从用户组中删除某个成员。
fish:x:16:nemo,dory,shark | V fish:x:16:nemo,dory
提要
添加和管理用户组并非特别困难,但长远来看配置账户时的一致性可使这项工作更容易些。 【编辑推荐】 - 用大写字母输入Linux命令以将其作为sudo用户运行
- 详解三种Linux测试磁盘IO性能的方法总结,值得收藏
- 适合于初学者的Linux发行版
- Linux下如何实现MySQL数据库每天定时自动备份
- Linux下如何临时或永久禁用SELinux
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0
(编辑:ASP站长网)
|