useradd
- -c comment
给账户添加注释信息,说明此账户的是干什么用的,有些linux上把它作为用户的全名 - -d dir
为用户指定主目录;如果不指定,将使用 /etc/default/useradd中HOME指定的路径建立主目录,主目录名称为用户名 - -m
此选项会检查-d指定的主目录是否存在,如果不存在则创建它;如果没有指定主目录,则以/etc/default/useradd中HOME的值创建一个以账户名为名字的目录 - -k
skel如果没有此选项 -m会以/etc/default/useradd中SKEL指定的目录为模板创建用户主目录;如果指定了则以指定的目录创建主目录。模板内容一般包括用户登录后的一些设定,如.profile等 - -M
不创建主目录,即使-d指定了主目录 - -u uid
指定用户的ID,如果不指定,系统会根据/etc/login.defs中UID_MIN分派一个,比如,UID_MIN值为1000,系统已经有一个1001的账户,则系统会分派1002给此账户。 - -g gid
指定用户所属的组的组ID,/etc/login.defs中有一个GID_MIN,使用方法和UID_MIN一样 - -G [gname1,gname2 ...]
这里指定用户所属的次要的组 参数为以","分隔的组名称;此选项会修改/etc/group对应组名的第四个字段,比如 -G指定了组名sys,如果这个组存在,就会在sys对应的行上写入",username" - -r
创建一个系统账户;系统账户的ID由/etc/login.defs中SYSTEM_UID_MIN指定 - -s shell
指定用户的登录Shell,此shell必须是/etc/shells中的一;如果不指定,会使用/etc/default/useradd中SHELL指定默认值 - -p
指定账户的密码;如果不指定,系统会在/etc/shadow中此账户的密码字段里写一个"!",表示此账户禁用,可以用passwd给用户设定密码;如果指定了密码,系统会调用API crypt( )把密码加密(/etc/shadow中保存的是加密后的密码,只有root可以修改,同组账户可以查看);加密方法可以查看crypt:man 3 crypt,由此还可以知道,密码中可以包含64种字符,用正则表达式表示:[a–zA–Z0–9./]。
useradd还有一些和密码有效期有关的选项,具体请看man。