Linux 用户和组管理(以centos7为例)
第一章 实验思路
用户和组对于管理者来说是比较重要的东西,可以跟着实验步骤浅序渐进,看不懂的可以尝试 使用man+命令 ,毕竟man可是很强大的手册。
第二章 实验目的
进一步了解用户和组的具体表内容,从/etc/passwd、/etc/shadow和/etc/group、/etc/gshadow 中分开细品,具体了解文件构成的部分、作用、含义;
第三章 实验步骤
3.1 文件
3.1.1 属主
管理员用户 root: uid=0
系统用户 user: uid=(1-999) 系统用户
普通用户 user: uid=(1000-65535) 普通用户
3.1.2 属组(创建用户时,如果不指定组,都会创建一个同名组)
管理员组: root
普通组:基本组、附件组
3.2 /etc/passwd:存储用户的基本信息
拿一条自己建的普通用户来说:
jackbanbo:x:1000:1000:jack:/home/jackbanbo:/bin/bash
这里的冒号是用来分割的,从第一个开始往下分析:
Jackbanbo:用户名;
X:密码占位符,具体秘钥在/etc/shadow中;
1000:uid,用户id;
1000:gid,用户所属组id;
Jack/home/jackbanbo: 用户家目录;
/bin/bash: 用户使用的shell程序(如果是空的,默认使用/bin/sh);
3.3 /etc/shadow:存储用户的影子口令
拿第一条分析(冒号依然是分割符):
root:$6$j89gfX7/CY8Eic2F$Guk18XpRQgY6pLOyyFaAcW7DrBNnduaoOKFkIU4wF6jqcuuu8aZbxd6t5ur4lqGk7e182YiVJw1nYiQqq41dY1::0:99999:7:::
root:登录名,必须是有效用户名,并且已经存在系统中;
$6$j89……dY1:加密后的口令密码;
第三列:口令最后修改时间距原点(1970-1-1)的天数;
第四列:口令最小修改间隔(防止修改口令,如果时限未到,将恢复至旧口令;
第五列:口令最大修改间隔;
第六列:口令失效前的警告天数;
第七列:账户不活动天数;
第八列:账号失效天数;
第九列:保留字段;
【注】:shadow文件为可读文件,普通用户没有读写权限,超级用户拥有读写权限。如果密码字符串为*,则表示系统用户不能被登入;如果字符串为!,则表示用户名被禁用;如果字符串为空,则表示没有密码。
我们可以使用passwd –d 用户名 清空一个用户的口令密码。
具体密码加密方式可看我的有道云笔记:
文档:shadow文件中密码的加密方式.note
链接:http://note.youdao.com/noteshare?id=be6addd3b05052be9b42c9a235c76222&sub=F3E7F3E25D0C4EE8841289CD8A99E365
3.4 /etc/group: 存放组的基本信息
jackbanbo:x:1000:jackbanbo
第一列:组名称;
第二列:x密码占位符,组密码,如果该字段为空,则不需要密码;
第三例:gid,组的数字标识;
第四列:组内成员用户列表;
3.5 /etc/gshadow:存放组密码信息
jackbanbo:!!::jackbanbo
第一列:组名,必须是系统中已经存在的有效组;
第二列:加了密的密码;
第三列:管理员,管理员可以更改组密码和成员;
第四列:成员,必须是一个逗号分隔的用户名列表;
3.6 useradd 添加用户
3.7 chmod 修改用户
3.7.1 usermod -g stein source 修改source的用户组为stein
可以看到source的用户组合stein一样了,都是1001
3.7.2 usermod -u 1006 source 修改source的uid为1006
source用户uid变成1006了。
3.7.3 userdel 删除用户信息,userdel -f 强制删除用户信息
3.8 passwd 修改密码
3.8.1 passwd uid 修改对应用户密码
3.8.2 passwd -d uid 删除密码
3.9 id+用户名, 显示用户和组ID
3.10 groupadd 创建组
3.10.1 groupadd –g 1500 zzc 创建组时指定ID
3.11 groupdel 删除一个组
3.12 groupmod 修改组属性
3.12.1 groupmod –g 1200 zxc 修改组zxc的ID号为1200
3.12.2 groupmod –n zzz zxc 修改组zxc名为zzz