用户和组管理命令:
用户管理命令:useradd usermod userdel
组管理命令:groupadd groupmod groupdel
用户创建:useradd
-u:uid 定义在/etc/login.defs
-o:配合-u选项,不检查uid的唯一性
-g:gid,指明用户所属基本组,可为组名,也可以gid
-c:用户的诠释信息
-d;指定用户的主目录
-s:用户指定的默认shell类型。可用shell列表在/etc/shells文件中
-G:为用户指定附加组,组必须事先存在
-N:不创建私有组做主组,使用user组做主组。
-r:创建系统用户时,用到的参数。CentOS 6: ID<500,CentOS 7: ID<1000
系统默认值:/etc/default/useradd文件中。
显示或更改默认设置:
useradd -D:显示默认设置
useradd -D -s shell :新用户的shell。对应:/etc/default/useradd文件中的SHELL项
useradd -D -b:新用户主目录的路径。对应:/etc/default/useradd文件中的HOME项
useradd -D -g:新用户初始组的祖名或id,组必须事先存在,组id也必须有一个已经存在的项。对应:/etc/default/useradd文件中的GROUP项。
新建用户的相关文件和命令:
/etc/default/useradd
/etc/skel/*
/etc/login.defs
用户属性修改:usermod
-u uid:新的uid
-g gid:新的gid
-G group1,group2,group3: 新的附加组,原来的附加组会被覆盖,如果保留原有,则同时使用-a选项,表示append
-a:添加用户到指定组,只能和-G配合使用。
-s SHELL:shell 新的默认shell
-c "诠释信息":新的注释信息
-d home:新家目录,不会自动创建,原家目录的文件不会同时移动到新的家目录;
如果要创建新的家目录并移动原来家目录的数据,同时使用-m选项
-l login_name : 新的名字
-L:lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e yyyy-mm-dd :指明用户账号过期日期
-f inactive :设定非活动期限
用户删除:userdel
-r:删除用户家目录
查看用户相关的id信息
id [option]…. [USER]
-u:uid
-g:gid
-G:groups
-n :name(需要配合ugG来使用)
切换用户或以其他用户身份执行命令:
su [options…] [-] [user [args…]]
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的 配置文件,不改变当前工作目录
su – UserName:登录式切换,会读取目标用户的配置 文件,切换至家目录,完全切换
root su至其他用户无须密码;普通用户切换时需要密码。
换个身份执行命令:
su -l UserName 相当于 su – UserName 选项:-l –login:
设置密码:
passwd [OPTIONS] UserName : 修改指定用户的密码。(只有管理员有权限修改用户的密码)
passwd: 修改自己的密码
passwd -e username :强制用户密码过期,下次登陆修改密码,与chage -d 0 username命令功能相同。
常用选项:
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登陆修改密码
-n mindays: 指定最短使用期限
-x maxdays:指定最大使用期限
-w warndays: 提前多少天开始警告
-i inactivedays: 非活动期限
–stdin : 从标准输入接受用户密码 ,不用和用户交互。
eg1:echo "新密码" | passwd –stdin 用户名
修改用户密码策略:
chage [OPTION]… LOGIN
常用选项:
-d LAST_DAY 最近日期
-E, –expiredate EXPIRE_DATE 过期日期
-I, –inactive INACTIVE : 设置账号失效日期。(账户禁用功能)
-m, –mindays MIN_DAYS
-M, –maxdays MAX_DAYS
-W, –warndays WARN_DAYS
–l,显示密码策略
eg1: chage -d 0 tom : 下一次登录强制重设密码
最近日期为0,意思是密码立即到期,需要修改 用户名
eg2:chage -m 0 –M 42 –W 14 –I 7 tom
随时更改 最大天数42天 过期前14天警告 过期7天禁用 用户名称
eg3:chage -E 2016-09-10 tom
tom账户到2016-09-10到期
用户相关的其他命令:
chfn:交互式指定个人信息 。(就是/etc/passwd中的诠释信息)
chsh:指定shell。(chsh -s /bin/csh tom:指定tom的shell类型为csh)
finger:查看用户的个人信息。(就是/etc/passwd中的诠释信息)
创建组:
groupadd [OPTION]… group_name
-g gid:指明gid号
-r:创建系统组 centos6 gid<500 centos7 gid< 1000
修改和删除组:
组属性修改:groupmod [OPTION]… group
-n group_name : 新的组名
-g gid:新的gid号
删除组: groupdel group
更改组密码:gpasswd [OPTION] GROUP
-a user : 将user添加到指定组中。
-d user: 删除组中的指定用户user。
-A user1,user2,…..: 设置有管理权限的用户列表。
newgrp命令:临时切换基本组
如果用户不属于此组,则需要组密码。
更改和查看组成员: groupmems [options] [action]
options: -g, –group groupname 更改为指定组 (只有root)
Actions: -a, –add username 指定用户加入组
-d, –delete username 从组中删除用户
-p, –purge 从组中清除所有成员
-l, –list 显示组成员列表
groups [OPTION].[USERNAME]… 查看用户所属组列表
知识点梳理:
1、文件格式说明:
passwd文件格式:
login name | passwd | uid | gid | gecos | home directory | shell |
登入用户名 | 密码 | 用户身份ID | 用户组ID | 用户诠释信息 | 用户主目录 | 默认使用shell类型 |
root | x | 0 | 0 | root | /root | /bin/bash |
yhb | x | 1000 | 1000 | yhb | /home/yhb | /bin/bash |
tom | x | 1000 | 1000 | tom | /home/tom | /bin/csh |
shadow文件格式:
以:为分隔符,共8个:,解释各个字段的含义
bin : * : 17095 : 0 : 99999 : 7 :3 : :预留
yhb : 密码 : 17095 : 0 : 99999 : 7 : 密码过期几天后账号会被锁定 : 从1970年1月1日起,多少天后账号失效 :预留
登陆用户:
用户密码:一般用sha512加密 :
从1970年1月1日起到密码最近一次被修改的时间 :
密码在过几天可以被变更(0表示随时可被更改) :
密码在过几天必须被变更(99999表示永不过期) :
密码过期前几天系统提示用户变更密码(7天,系统默认的) :
密码过期几天后账号会被锁定 :
从1970年1月1日起,多少天后账号失效 :
密码加密:
单向加密:哈希算法,原文不同,密文必不同。
相同算法定长输出,获得密文不可逆推出原始数据。
雪崩效应:初始条件的微小变化,引起结果的巨大变化
MD5: 128bit
sha1: 160bit
sha224,sha256,sha384,sha512
更改加密算法命令:
authconfig –passalgo=sha256 –update
group文件格式: cat /etc/group
群组名称:组名
组密码:通常不需要设定,密码是被记录在/etc/gshadow中
GID:组的id号
以当前组为附加组的用户列表(分隔符为逗号)
gshadow文件格式: cat /etc/gshadow
群组名称:组名
组密码:通常不需要设定,密码是被记录在/etc/gshadow中
组管理员列表:组管理员的列表,更改组密码和成员
以当前组为附加组的用户列表(分隔符为逗号)
2、pwunconv和pwconv命令:
3、添加用户到指定的组: 从组中删除用户:
一、usermod -aG 用户名 组名 一、groupmems -d 用户名 -g 组名
二、gpasswd -a 用户名 组名 二、 groupmems -p -g 组名(清楚所有成员)
三、groupmems -a 用户名 -g 组名
4、用户的修改、删除、加解锁
修改用户名:
usermod -l newname oldname
用户加锁与解锁:
usermod -L yi :会在/etc/passwd中,yi用户密码字段前,添加1个!号。
usermod -U yi :会将在/etc/passwd中,yi用户密码字段前的!号去掉。
或者
passwd -l yi :会在/etc/passwd中,yi用户密码字段前,添加2个!号。
passwd -u yi :会将在/etc/passwd中,yi用户密码字段前的一个!号弃掉。
用户删除
userdel username: 只是删除了该用户,用户的家目录和邮箱等数据都还在。
userdel -r username : 将用户的家目录和邮箱等一起删除滴。
5、强制用户需改密码
passwd -e tom
或者
chage -d0 tom
::强制tom用户下次登入修改密码
6、批量添加用户和组
第一步、需要和passwd文件格式一样的文件 名字usere.txt
执行命令,如下图所示:
用户增加完成。
第二步、编辑一个文件,名字p.txt,其内容格式为:用户名:密码 如图所示:
完成文件编辑后,执行chpasswd命令,如图:
密码修改完成。
注意:
通过上述操作可以批量添加用户和设置用户密码,但是不会创建新用户家目录下的配置文件,需要手动复制。
原创文章,作者:cxhzcxhz,如若转载,请注明出处:http://www.178linux.com/53928