文章目录

  • 简介
  • 相关文件内容说明
  • 常用选项
  • 参考示例
  • 添加新用户 test
  • 添加新用户 test,且不创建家目录,并且禁止登陆
  • 添加新用户 test,指定 UID 为 888,指定归属用户组为 root,cool,其默认使用的 shell 类型为 /bin/sh
  • 添加新用户 linuxcool,设置家目录为 /tmp/linuxcool,用户过期时间为2019/05/01,且过期后两天停权
  • 添加新用户 jack,同时指定所属的主要用户组和次要用户组


简介

添加用户的命令:useraddadduser

useradd 命令用来创建新的用户或更改用户的信息。用户建好之后,再用 passwd 命令设定用户的登录密码。使用 useradd 指令所创建的用户的基本信息实际上是保存在 /etc/passwd 文本文件中。不过在创建新用户时,实际会修改以下 4 个文件:

文件名

说明

/etc/passwd

用户账户的详细信息在此文件中更新。

/etc/shadow

用户账户密码在此文件中更新。

/etc/group

新用户群组的详细信息在此文件中更新。

/etc/gshadow

新用户群组密码在此文件中更新。

相关文件内容说明

请参见《Linux 命令之 passwd – 修改用户账号密码》

常用选项

选项

说明

-D

改变新建用户的预设值。创建新帐号后保存为新帐号设置的默认信息。

-c

添加备注文字,备注文字会保存在/etc/passwd的备注栏位中

-d

指定用户每次登陆时所使用的家目录,也就是起始目录。设置用户主目录,默认值为用户的登录名,并放在/home目录下。

-e

用户终止日期,账号的有效期,账号的过期日期。日期的格式为YYYY-MM-DD

-f

用户过期几日后永久停权。当值为0时用户立即被停权,而值为-1时则关闭此功能,预设值为 -1

-g

指定用户所属的基本用户组

-G

指定用户所属的附加用户组

-k<skel_dir>

设置框架目录,该目录包含用户的初始配置文件,创建用户时该目录下的文件都被复制到用户主目录下

-m

用户目录不存在时则自动创建。自动创建用户主目录,并把框架目录(默认为/etc/skel)下的文件复制到用户主目录下。如果不将框架目录下的文件复制到新用户主目录下,登录命令终端会显示 -bash-4.1$ 而不是 [mqm@locahost~]

-M

不建立用户家目录,优先于/etc/login.defs文件设定

-n

取消建立以用户名称为名的群组

-r

建立系统帐号。允许保留的系统帐号使用用户ID创建一个新帐号

-u

指定用户id,需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号

-s

指定用户登入后所使用的shell

参考示例

添加新用户 test

[root@linuxcool ~]# useradd test

添加新用户 test,且不创建家目录,并且禁止登陆

[root@linuxcool ~]# useradd -M -s /sbin/nologin test

如果你想将禁止登录的用户改成可以登录,使用命令 usermod 进行设置:

[root@linuxcool ~]# usermod -s /bin/bash test

关于 usermod 命令的更多用法,请参见《Linux 命令之 usermod – 用于修改用户的基本信息》

添加新用户 test,指定 UID 为 888,指定归属用户组为 root,cool,其默认使用的 shell 类型为 /bin/sh

[root@linuxcool ~]# useradd -u 888 -s /bin/sh -G root,cool test

添加新用户 linuxcool,设置家目录为 /tmp/linuxcool,用户过期时间为2019/05/01,且过期后两天停权

[root@linuxcool ~]# useradd -e "2019/05/01" -f 2 -d /tmp/linuxcool linuxcool

添加新用户 jack,同时指定所属的主要用户组和次要用户组

[root@linuxcool ~]# useradd –g sales –G company,employees jack   //-g:加入主要组sales、-G:加入次要组company和employees