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。