useradd用于添加一个linux账户。adduser跟本命令等价。

useradd同样属于不复杂但很重要的命令。

--help获得帮助信息。

-b选项,制定家目录的根

 -c选项,给新用户添加说明信息

-d选项,给新用户设置家目录

-D选项,新用户使用默认设置

-e选项,账号有效期

-f选项,密码过期后多少天关闭账号

-g选项,设置新用户所属于的组

-m选项,自动建立用户的家目录

-M选项,不自动建立用户的家目录

-r选项,建立系统账号

-s选项,设置新用户使用的shell。

-u,制定用户uid

例1:创建一个一般账户

useradd x1

该命令创建了1个普通账户x1,家目录为/home/x1(默认设置),shell为bash(默认设置)

例2:创建一个一般账户,家目录根为/home2

useradd -b x2

该命令创建了1个普通账户x1,家目录为/home2/x2(-b选项设置),shell为bash(默认设置)

 例3:创建一个系统账户

useradd -r x3

看似创建一个系统账户跟普通账户没什么两样。其区别主要是其uid使用为系统账户保留的uid区间内的uid。它会从最末一个可用的uid启用。本例在CentOS7下执行,默认系统设置0-1000是系统保留给系统账户的uid区间。这个设置在/etc/login.defs中设置。

例4:创建一个账户,指定uid为1999

useradd -u 1999 x4

例5:创建一个账户,指定一个目录作为家目录。

 useradd -d /home3/x500 x5

 这里要注意,家目录这个参数,最后一层目录是将要被创建的,其上层目录必须是已经存在的。如果上层目录不存在,会报错。不过如图所示,账号还是会被创建。

-b-d两个选项可以实现相同的效果,但是逻辑不一样。

例6:创建一个账号,给它赋予额外的组。

useradd -G 0 x6

创建账号x6,用root创建一个文件,并赋权664,让同组用户可以写入。

切换到x6账号,写入内容666.

切换到x5账号,这是一个普通账户,尝试写入555,会提示没有权限。

由此可见,x6跟root同组。

 例7:创建一个跟x6同组的账户x7

useradd -g x6 x7

 另一种 写法如下:

useradd -g 2001 x8

 例8:创建一个有效期7天的账号

useradd -e 7 x9

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐