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