您的位置:首页 > 运维架构 > Linux

用户管理(1)---useradd

2016-09-20 23:01 162 查看

useradd命令

useradd用户管理命令。帐号建立或更新新用户资讯的工具。

当使用useradd命令不加参数选项,后面直接跟所添加的用户名时,系统首先会读取配置文件/etc/login.defs和/etc/default/useradd中所定义的参数或规则,根据设置的规则添加用户,同时会向/etc/passwd和/etc/group文件内添加新建用户和用户组记录。/etc/passwd和/etc/group对应的加密资讯文件/etc/shadow和/etc/gshadow也会同步生成记录,同时系统还会根据/etc/default/useradd文件中所配置的信息建立用户的家目录,并复制/etc/skel中的所有文件到新用户的家目录中。

useradd语法

useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-s shell]
[-u uid [ -o]] [-n] [-r] login
useradd -D [-g default_group] [-b default_home]
[-f default_inactive] [-e default_expire_date]
[-s default_shell]


当不加-D参数时,useradd指令使用命令列来指定新帐号的设定值和使用系统上的预设值(/etc/login.defs和/etc/default/useradd等配置文件)。

useradd参数选项说明
-c comment就是 /etc/passwd 第五栏的用户说明信息
-d home_dir用此参数后面指定的路径做为新帐号的家目录,而不使用默认值
-e expire_date帐号终止日期
-g initial_group后面接的用户组名称就是之前提到的初始用户组。该group ID(GID)会放置到 /etc/passwd 的第四个字段内。
-G group,[…]定义此用户为多个不同groups的成员。每个用户组使用“,”分隔
-M不建立家目录,优先于/etc/login.defs文件的设定。一般创建虚拟用户时不建立家目录,部署服务时需要创建虚拟用户
-s shell指定预设的登入shell
-u uid用户的ID值

实例

1.-c 加说明信息



2.-d 指定家目录



3.-e 帐号终止日期

[root@ianLinux ~]# useradd -e "2016/09/21" Lisa3




之前测试时我将时间改为2016/09/21,但注销Lisa3之后却能再次登录。



但是当我把时间改为2016/09/30时,注销Lisa3之后不能再次登录了,提示帐号已经过期。



[Lisa3@ianLinux ~]$ whoami
Lisa3
[Lisa3@ianLinux ~]$ logout
...
Your account has expired; please contact your system administrator


4.useradd -c、-u、-G、-s、-d多个参数组合例子,自定义用户的家目录、shell类型、所属的用户组等。

添加用户Lisa4,并设置其用户注释信息为TestAccount,UID指定位806。归属为用户组root、Ian、Lisa,其shell类型为/bin/sh,设置家目录为/opt/Lisa4。

[root@ianLinux ~]# useradd Lisa4 -c TestAccount -u 806 -G root,Ian,Lisa -s /bin/sh -d /opt/Lisa4


5.添加一个用户IanA,并指定属于sa组,要求组ID为801,uid为808,并且不建立家目录及禁止其登陆。

[root@ianLinux data]# groupadd -g 801 sa
[root@ianLinux data]# useradd -u 808 -g sa -M -s /sbin/nologin IanA
[root@ianLinux data]# tail -1 /etc/passwd
IanA:x:808:801::/home/IanA:/sbin/nologin
[root@ianLinux data]# id IanA
uid=808(IanA) gid=801(sa) 组=801(sa)




与useradd相关联的文件

/etc/passwd 用户账号文件

/etc/shadow 用户账号密码文件

/etc/group 用户组文件

/etc/gshadow 组密码文件

/etc/login.defs

/etc/default/useradd

/etc/skel

/etc/login.defs

/etc/login.defs文件是用来定义创建用户时需要的一些用户的配置信息。如创建用户时,是否需要家目录,UID和GID的范围,用户及密码的有效期限等等。

要不要创建家目录



密码的最大有效期限99999,更换密码的最小天数,密码的最小长度,密码失效前提前多少天开始警告



UID与GID的范围



家目录的umask 077



家目录的权限为777-077=700



删除用户同时删除用户组



/etc/default/useradd

/etc/default/useradd文件是在使用useradd添加用户时的一个需要调用的一个默认的配置文件,可以使用“useradd -D 参数”,这样的命令格式来修改文件里面的内容。也可以直接用vim编辑文件。



GROUP=100
HOME=/home  # 把用户的家目录建在/home中
INACTIVE=-1 # 是否启用帐号过期停权,-1表示不启用
EXPIRE=   # 帐号终止日期,不设置表示不启用
SHELL=/bin/cat # 新用户默认所用的shell类型
SKEL=/etc/skel #配置新用户家目录的默认文件存放路径
CREATE_MAIL_SPOOL=yes # 创建mail文件


(1)SKEL

SKEL=/etc/skel
改为
SKEL=/tmp






(2)SHELL

SHELL=/bin/bash
改为
SHELL=/bin/cat




使用useradd -D +参数

(1)useradd -D -e default_expire_date (修改默认过期时间)



(2)useradd -D -s default_shell(修改新用户默认登入shell)



/etc/skel

有关/etc/skel详细内容:

http://blog.csdn.net/codetz/article/details/52541780
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux useradd 用户管理