用户和组管理类命令的使用方法总结:
首先要知道在linux系统中有4个配置文件和用户、组相关:
/etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);//并不保存密码
/etc/shadow:用户密码及其相关属性;
/etc/group:组及其属性信息;
/etc/gshadow:组密码及其相关属性;
相关命令总结
用户创建:useradd
useradd [options] LOGIN
-u UID: [UID_MIN, UID_MAX], 文件定义在/etc/login.defs //UID的定义,最近UID+1
-g GID:指明用户所属基本组,可为组名,也可以GID; //组必须事先存在
-c "COMMENT":用户的注释信息;//详细信息,一般用引号引起来
-d /PATH/TO/HOME_DIR: 以指定的路径为家目录;
-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中;//守护进程不要登录为/sbin/nologin
-G GROUP1[,GROUP2,...[,GROUPN]]]:为用户指明附加组;组必须事先存在;
-N 不创建私用组做主组,使用users组做主组
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户
-r: 创建系统用户
CentOS 6: ID<500
CentOS 7: ID<1000
用户属性修改:usermod
usermod [OPTION] login
-u UID: 新UID
-g GID: 新基本组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
-s SHELL:新的默认SHELL; //使用chsh命令修改
-c 'COMMENT':新的注释信息; //使用chfn命令修改
-d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;//不适用-m新家是不会被创建的,文件也不会被挪过去。
-l login_name: 新的名字;
-L: lock指定用户 //在/etc/shadow文件密码前面有个!
-U: unlock指定用户
-e YYYY-MM-DD: 指明用户账号过期日期;
-f INACTIVE: 设定非活动期限;
删除用户userdel:
userdel
userdel [OPTION]... login
-r: 删除用户家目录/home/username和邮箱/var/spool/mail; //相当于将此用户的数据删了
给用户添加密码:passwd
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd: 修改自己的密码;
常用选项:
-l: 锁定指定用户
//只是修改/etc/shadow里面加!号,如果/etc/passwd里面的文件密码栏是空的话,代表不使用/etc/shadow,也可以空密码登录
-u: 解锁指定用户
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限;
-e强制用户下次登录修改密码
--stdin:从标准输入接收用户密码;
echo "PASSWORD" | passwd --stdin USERNAME //会生成信息
组创建:groupadd
groupadd [OPTION]... group_name
-g GID: 指明GID号;[GID_MIN, GID_MAX] //文件定义在/etc/login.defs,可以指定ID
-r: 创建系统组;
CentOS 6: ID<500
CentOS 7: ID<1000
组属性修改groupmod、groupmems
groupmod
groupmod [OPTION]... group //和usermod相像
-n group_name: 新名字
-g GID: 新的GID;
groupmems [options] [action]
options:
-g, --group groupname 更改为指定组 (只有root)
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表
groups [OPTION].[USERNAME]... 查看用户所属组列表
组删除groupdel
groupdel
groupdel GROUP
组密码gpasswd
gpasswd
gpasswd [OPTION] GROUP
-a user: 将user添加至指定组中(附加组);
-d user: 删除用户user的以当前组为组名的附加组
-A user1,user2,...: 设置有管理权限的用户列表 //用户有管理权限
练习题目:
(1)、创建组distro,其GID为2019;
(2)、创建用户mandriva, 其ID号为1005;基本组为distro;
(3)、创建用户mageia,其ID号为1100,家目录为/homenux;
(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期
(5)、删除mandriva,但保留其家目录;
(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
(7)、修改slackware的默认shell为/bin/tcsh;
(8)、为用户slackware新增附加组admins;