linux学习笔记8-linux的用户和组管理(上)
linux的用户和组管理(上)
1、cat /etc/passwd
查看passwd文件,passwd记录了用户信息;
wei:x:500:500::/home/wei:bin/bash
第一列是用户名;
第二列用x表示密码;
第三列是UID,root用户的是0,普通用户从500开始;
第四列是GID;
第五列是用户的解释说明,无实际意义;
第六列是用户的家目录;
第七列是shell,默认就是/bin/bash,而/sbin/nologin表示不让从外部登录;
2、cat /etc/shadow
shadow文件专门用来存放用户密码信息
第一列是用户名;
第二列是密码,*表示用户锁定不能登录,!!表示空密码,密码是加密的,$1表示MD5加密, $5表示sha-256加密,$6表示sha-512加密;
第三列表示密码上次更改的日期,表示密码更改的时候距离1970年1月1日过去了多少天;
第四列表示再过多少天才能修改密码,0表示没有限制;
第五列表示密码过多少天失效;
第六列表示密码失效前的第7天提醒;
3、创建和删除 用户、组
groupadd groupname 增加组;
groupadd -g GID groupname 制定组ID;
groupdel groupname 删除组;组内有用户的时候,无法删除组;
4、创建修改删除用户
(1)useradd username 创建用户
useradd -u uid username 创建指定uid的用户
useradd -u uid -g gid username 创建指定uid和指定gid的用户,其中gid必须是已经存在的,否则提示失败,主要是用来加入已经存在的组;
useradd -u uid -g gid1 -G gid2,gid3.. username ,-G表示副组;
(2)userdel username 删除用户,但用户家目录不会删除;
userdel -r username 删除用户和家目录;
(3)useradd -u gid -M username ;-M表示创建用户时,不创建家目录
这个时候,su - user6会提示无法切换家目录,这个时候,可以通过切回root增加用户家目录(介绍这个主要来处理当用户家目录被删除时改如何处理),然后拷贝/etc/skel/下的文件来解决问题:
cp -v /etc/skel/.b* /home/user6/
(4)useradd -u uid -g -gid -s /sbin/nologin username,创建一个禁止远程登录的用户;
(5)usermod 更改用户信息
usermod -u uid -g -gid -d filename -s /bin/bash username,支持的参数-u,-g,-s,-d,其中-d表示家目录:
chfn username 可以更改user的备注信息;
5、用户密码
passwd username 更改用户的密码;
密码应该足够复杂,包含大小写、数字、字母、特殊符号,长度要够(至少10位);
可以通过mkpasswd来生成随机密码,需要yum安装;
yum install - y expect;
mkpasswd -l n,-l定义密码长度,-d定义数字数量,-c定义小写字母数量,-C定义大写字母数量,-s定义特殊符号最少数量