1、useradd创建用户账号
格式:useradd [选项] 用户名
实例:添加一个新用户并设置密码
选项:
“-u”选项,指定用户的UID,要求该UID号未被其他用户使用
( 如果不使用“-u”选项,那么普通用户的UID将从1000开始递增;若使用“-u”选项,则可以任意指定UID,甚至是1000之前的UID,当然,前提是这个UID并未被占用。对于普通用户,建议尽量还是使用1000之后的UID,以免造成混乱。)
实例:创建名为user2的用户账号,并将其UID指定为1004
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# useradd -u 1004 user2 [root@iZ8vb9nmgwljcf9m2wxaekZ ~]# tail -1 /etc/passwd user2:x:1004:1004::/home/user2:/bin/bash
实例1:照默认值新建用户user1
# useradd user1
“-d”选项,指定用户的家目录
( 普通用户的家目录默认都存放在/home目录,而通过“-d”选项可以指定到其他位置 )
实例2:创建一个辅助的管理员账号admin,并将其家目录指定为/admin
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# mkdir admin [root@iZ8vb9nmgwljcf9m2wxaekZ ~]# useradd -d /admin admin
此时,会在根目录下创建admin用户的家目录/admin,而在默认的/home目录中则不再创建用户家目录。
注意:
如果指定的家目录之前不存在,则将创建家目录,并从/etc/skel/目录中复制基本的用户环境配置文件到新建的家目录中。
这些环境配置文件都是隐藏文件,需要使用“ls –a”命令才能查看到
如果指定的家目录事先已经存在,则会直接使用该目录,但不会为用户复制环境配置文件
所以,在使用“-d”选项时,建议最好指定一个事先不存在的目录作为用户家目录
“-g”选项,指定用户的基本组
(如果在创建用户时指定了基本组,那么系统就不再创建与用户同名的用户组。当然,必须要保证所指定的用户组事先已经存在)
“-G”选项,指定用户的附加组
“-e”选项,指定用户账号的失效时间,可以使用yyyy-mm-dd的日期格式
“-M”选项,不建立用户家目录
(某些用户不需要登录系统,而只是用来使用某种系统服务(如ftp用户),这类用户就可以不创建家目录。)
“-s”选项,指定用户的登录Shell
(“-s”选项用于指定用户登录时默认使用的Shell,从/etc/shells文件中可以查看到可用的Shell列表,如果将用户的默认Shell指定为/sbin/nologin,那么该用户将被禁止登录)
(8)联合使用多个选项
在Linux系统中,useradd命令在添加用户账号的过程中会自动完成以下几项任务:
在“/etc/passwd”文件和“etc/shadow”文件的末尾增加该用户账号的记录
若未指明用户的家目录,则在“/home”目录下自动创建与该用户账号同名的家目录,并在该目录中建立用户的初始配置文件
若未指明用户所属的组,则自动创建与该用户账号同名的基本组账号。组账号的记录信息保存在“/etc/group”和“/etc/gshadow”文件中
创建用户user1之后,可以分别查看/etc/passwd、/etc/shadow文件以及/home目录中新增加的信息