Linux添加用户(useradd)

Linux添加用户(useradd)教程

Linux 系统中的 useradd 或 adduser 命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。

Linux useradd命令详解

功能

创建用户账户。

语法

useradd [options] username

参数

参数 描述
options useradd 命令使用的参数。
username 需要添加的用户名。

useradd命令常用参数

选项 含义
-u UID 手工指定用户的 UID,注意 UID 的范围(不要小于 500)。
-d 主目录 手工指定用户的主目录。主目录必须写绝对路径,而且如果需要手工指定主目录,则一定要注意权限。
-c 用户说明 手工指定 /etc/passwd 文件中各用户信息中第 5 个字段的描述性内容,可随意配置。
-g 组名 手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。一旦手动指定,则系统将不会在创建此默认的初始组目录。
-G 组名 指定用户的附加组。我们把用户加入其他组,一般都使用附加组。
-s shell 手工指定用户的登录 Shell,默认是 /bin/bash。
-e 曰期 指定用户的失效曰期,格式为 “YYYY-MM-DD”。也就是 /etc/shadow 文件的第八个字段。
-o 允许创建的用户的 UID 相同。例如,执行 “useradd -u 0 -o usertest” 命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0。
-m 建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的。
-r 创建系统用户,也就是 UID 在 1~499 之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录。

Linux useradd命令常用实例

实例

实例 描述
useradd username 创建 username 用户
useradd -g groupname username 创建 username 用户,并指定用户组为 groupname
useradd -r username 创建一个系统用户 username
useradd -d /home/homedir username 为新添加的用户指定 home 目录
useradd username -u uid 创建 username 用户,并指定 uid

说明

使用 useradd 命令,添加一个用户,实际会做如下的处理:

  1. /etc/passwd 文件中创建一行与 username 用户相关的数据。
  2. /etc/shadow 文件中新增了一行与 username 用户密码相关的数据。
  3. /etc/group 文件中创建一行与用户名一模一样的群组。
  4. /etc/gshadow 文件中新增一行与新增群组相关的密码信息。
  5. 默认创建用户的主目录和邮箱。
  6. 将 /etc/skel 目录中的配置文件复制到新用户的主目录中。

添加用户

语法

useradd username

案例

我们使用 useradd 命令,创建一个 haicoder 用户,具体命令如下:

useradd haicoder

运行后,终端输出如下:

09_linux添加用户useradd命令.png

现在,我们使用 cat 命令与 grep 命令,查看 /etc/passwd 文件的用户信息,具体命令如下:

cat /etc/passwd | grep haicoder

运行后,终端输出如下:

10_linux添加用户useradd命令.png

我们可以看到,在 /etc/passwd 文件里面,添加了一条用户信息,我们再次查看 /etc/shadow 文件里的用户密码信息,具体命令如下:

cat /etc/shadow | grep haicoder

运行后,终端输出如下:

11_linux添加用户useradd命令.png

我们看到,在 /etc/shadow 文件里面,添加了一条用户密码信息,我们再次查看 /etc/group 文件里的用户组信息,具体命令如下:

cat /etc/group | grep haicoder

运行后,终端输出如下:

12_linux添加用户useradd命令.png

我们看到,在 /etc/group 文件里面,添加了一条用户组信息,我们再次查看 /etc/gshadow 文件里的用户组密码信息,具体命令如下:

cat /etc/gshadow | grep haicoder

运行后,终端输出如下:

13_linux添加用户useradd命令.png

我们看到,在 /etc/gshadow 文件里面,添加了一条用户组密码信息,同时,我们使用 ls 命令,查看添加的用户的家目录,具体命令如下:

ls -ld /home/haicoder/

运行后,终端输出如下:

14_linux添加用户useradd命令.png

我们看到,成功添加了用户的家目录,测试完毕之后,我们使用 userdel 命令,删除该用户,具体命令如下:

userdel haicoder

同时,我们使用 rm 命令,手动删除家目录和 mail 目录,具体命令如下:

rm -rf /home/haicoder/ rm -rf /var/spool/mail/haicoder

这样,就删除了用户的家目录和邮箱目录。

添加用户指定用户组

语法

useradd -g groupname username

案例

我们使用 useradd 命令,创建一个 haicoder 用户并指定其用户组为 root,具体命令如下:

useradd -g root haicoder

运行后,终端输出如下:

15_linux添加用户useradd命令.png

现在,我们使用 id 命令查看 haicoder 用户的信息,具体命令如下:

id haicoder

运行后,终端输出如下:

16_linux添加用户useradd命令.png

我们可以看到,haicoder 用户的用户组为 root,测试完毕之后,我们使用 userdel 命令,删除该用户,具体命令如下:

userdel haicoder

同时,我们使用 rm 命令,手动删除家目录和 mail 目录,具体命令如下:

rm -rf /home/haicoder/ rm -rf /var/spool/mail/haicoder

这样,就删除了用户的家目录和邮箱目录。

添加用户指定家目录

语法

useradd -d /home/homedir username

案例

我们使用 useradd 命令,创建一个 haicoder 用户并指定其用户组为 root,具体命令如下:

useradd -d /home/haicoderhome haicoder

运行后,终端输出如下:

17_linux添加用户useradd命令.png

现在,我们使用 ls 命令查看 haicoder 用户的家目录,具体命令如下:

ls -ld /home/haicoderhome

运行后,终端输出如下:

18_linux添加用户useradd命令.png

我们可以看到,这次用户的家目录不再是 haicoder,而是变成了我们手动指定的 haicoderhome 了,测试完毕之后,我们使用 userdel 命令,删除该用户,具体命令如下:

userdel haicoder

同时,我们使用 rm 命令,手动删除家目录和 mail 目录,具体命令如下:

rm -rf /home/haicoderhome/ rm -rf /var/spool/mail/haicoder

这样,就删除了用户的家目录和邮箱目录。

Linux添加用户(useradd)总结

Linux 系统中的 useradd 或 adduser 命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。