开发者学堂课程【Linux 用户和组管理:用户和组配置文件】学习笔记,与课程紧密联系,让用户快速学习知识.
课程地址:https://developer.aliyun.com/learning/course/580/detail/7992
用户和组配置文件
内容介绍:
一、介绍安全3A
二、用户 user
三、组 group
四、Linux 安全上下文
五、Linux 组的类别
六、Linux 用户和组的主要配置文件
七、密码加密
八、shadow 文件格式
九、passwd 文件格式
十、密码的复杂性策略
十一、group 文件格式
一、介绍安全3A
资源分派:Authentication 认证(确定验证身份)
Authorization 授权
Accounting Audition 审计
二、用户 user
1、令牌 toke,identity
2、Linux 用户:Username/UID
3、管理员:root,0
4、普通用户:1-60000 自动分配
系统用户:1-499、1-999 (CentOS7)
对守护进程获取资源进行权限分配
登录用户:500+、100+ (CentOS7)
交互式登录
三、组 group
(一)相关概念
1、Linux 组:Groupname
2、管理员组:root,0
3、普通组:系统组:1-499、1-999
普通组:500+、100+
(二)相关操作
1、wang password1 file1 read write
li password2 file2 read
zhao password3 file3 read
使用组进行优化操作(更加方便,减少授权次数):
file 2 read write sales
li
zhao
zhang
li zhao zhang > sales
2、在 windows 中组的名称不允许与用户名相同
但在 Linux 中组名与用户名相同
3.用户的编号为 UID, 组的编号为GID
4、一个账号可以加入多个组,一个组也可包含多个用户
四、Linux 安全上下文
运行中的程序:进程(process)
以进程发起者的身份运行:root:/bin/cat
mage:/bin/cat
进程所能够访问资源的权限取决于进程的运行者的身份
五、Linux 组的类别
1、用户的主要组(primary group)
用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户,私有组
2、用户的附加组(supplementary group)
一个用户可以属于零个或多个辅助组
[root@centos7 ~]#id -u wang
1000
[root@centos7 ~]#id wang
uid =1000(wang) gid =1000(wang) groups=1000(wang)
[root@centos7 ~]#id wang
uid =0(root ) gid =0(root) groups=0(root)
[root@centos7 ~]#cat /etc/group
特殊的组 postfix
[root@centos7 ~]#id postfix
uid =89(postfix) gid =89(postfix) groups=89(postfix),12(mail)
六、Linux 用户和组的主要配置文件
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:
组及其属性信息
/etc/shadow:
用户密码及其相关属性
/etc/gshadow:
组密码及其相关属性
操作演示:
1、/etc/passwd
(使用 cat 编辑)
[root@centos7 ~]#file /etc/passwd
etc/passwd: ASCII text
[root@centos7 ~]#cat/etc/passwd
系统用户:
root: x: 0: 0: root: /root: /bin/bash
bin: x bin: /bin: /sbin/nologin
普通用户:
wang: xB1,000: 1000: wang: /home/wang: /bin/bash
mage: X: 1001: 1001: /home/mage: /bin/bash
[root@centos7 ~]# /etc/passwd /user/bin/passwd
查看用冒号隔开的字段的名称:
[root@centos7 ~]#whatis passwd
[root@centos7 ~]#man 5 passwd
如果把 wang 账号和 root 账号的 ID 都改为Linux:
[root@centos7 ~]#id
uid =0(wang) gid =0(root) groups=0(root)
[root@centos7 ~]#nano /etc/passwd
就会出现系统中没有为0的账户的情况
GID:主组 ID 号
GECOS:描述信息
[root@centos7 ~]#chfn mage
Changing finger information for mage.
Name [ ]:mage
Office number:10086
装载 finger软件:
root(centos7 ~]#finger mage
bash: finger: command not found …
[root@centos7 ~]#df
Filesystem lK-blocks Used Available Use% Mounted on
/dev/sda2 52403200 3560708 48842492 7% /
devtmpfs 916724 0 91672 0% /dev
tmpfs 932652 0 932652 0% /dev/shm
tmpfs 932652 10588 922064 2% /run
tmpfs 932652 0 932652 0% /sys/fs/cgroup
/dev/sda3 31441920 32976 31408944 1% /data
/dev/sdal 1038336 168556 869780 17% /boot
tmpfs 186532 20 186512 1% /run/user/0
/dev/sr0 9176232 9176232 0. 100% /run/media/root/CentOS 7 x86_64
root(centos7 ~]#rpm -ivh /run/media/root/CentOS\7\x86_64/Packages/finger- finger-0.17-52.e17.x86_64.rpm finger-server-0.17-52e17x86_64. rpm
[root@centos7 ~]rpm -ivh/run/media/root/CentOS\ 7\ x86_64/pacages/ finger-0.17-52.e17.x86_64.rpm
warning: /run/media/root/CentOS7 ~x86_64/Packages/ finger-0.17-52e17x86_64.rpm: Header v3
RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing… #####################[100%]
Updating / installing…
1: finger-0.17-52.e17 ##################[100%]
[root@centos7 ~]#finger mage
Login: mage Name: mage
Directory: /home/mage shell: /bin/bash
office: CEO, x1-0086 Home Phone: x1-0010
Never logged in
No mail.
No Plan
全部清空描述信息:
[root@centos7 ~]#chfn -f ‘’ -o ‘’ - p ‘’ -h ‘’ mage
将 wang 账号变成 nologin:
[root@centos7 ~]#chsh -s/sbin/nologin
挑选性选择信息:
[root@centos7 ~]#getent passed
/etc/shadow(放口令的文件,普通用户不可见)
加密算法:sha512(使用512bit加密算法)
md5(相对简单,但不安全,使用128bit加密算法)
$1使用工具生成md5加密算法:
[root@centos6 ~]#grub-md5-crypt
Password:
Retype password:
$1$t5mk20$2iBpU.7e9Qg4v0GPtQfM.1
查看第三个字段:
[root@centos7 ~]#man shadow
算秒:
[root@centos7 ~]#date +%s
1537961276
[root@centos7 ~]#echo ‘date +%s’ /3600/24 |bc
17800
调整时间为三天以后:
[root@centos7 ~]# date -s‘+3 day’
windows口令有效期:42天
缩短口令有效期:
[root@centos7 ~]#clock -s
[root@centos7 ~]#date
wed Sep 26 19:37:10 CST 2018
[root@centos7 ~]#nano/etc/shadow
有效期过期前七天会进行提醒
如果过期后再超过宽限期就会锁定账户
使用专门工具改文件:
[root@centos7 ~]#chage mage
Changing the aging information for mage
Enter the new value,or press ENTER for the default
Minimum Password Age 「0」: 3
Maximum Password Age 「3」:42
Last Password Change (YYYY- MM- DD)「2018-9-26」:2018-9-20
Password Expiration Warning 「7」:14
Password Inactive 「-1」:10
Account Expiration Date(YYYY- MM- DD)「-1」:2019-9-26
口令立即过期操作(适用于初始登陆口令):
[root@centos7 ~]#chage -d0 mage
[root@centos7 ~]#chage -1 mage
七、密码加密
1、加密机制:
加密:明文—〉密文
解密:密文—〉明文
2、单向加密:哈希算法,原文不同,密文必不同
相同算法定长输出,获得密文不可逆推出原始数据
雪崩效应:初始条件的微小改变,引起结果的巨大改变
md5: message digest,128bits
sha1: secure hash algorithm,160bits
sha224: 224bits
sha384: 384bits
sha512: 512bits
更改加密算法:
authconfig - -passalgo=sha256 - - update
八、shadow 文件格式
1、登录用名
2、用户密码: 一般用 sha512 加密
3、从1970年1月1日起到密码最近一次被更改的时间
4、密码再过几天可以被变更(0表示随时可以变更)
5、密码再过几天必须被变更(99999表示永不过期)
6、密码过期前几天系统提醒用户(默认为一周)
7、密码过期几天后账号会被锁定
8、从1970年1月1日算起,多少天后账号失效
九、passwd 文件格式
1、login name:登录用名(wang)
2、passwd:密码(x)
3、UID:用户身份编号(1000)
4、GID:登录默认所在组编号(1000)
5、home directory:用户主目录(/home/wang)
6、shell:用户默认使用 shell(/bin/bash)
十、密码的复杂性策略
1、使用数字、大写字母、小写字母及特殊字符中至少3种
2、足够长
3、使用随机密码
4、定期更换,不要使用最近曾经使用过的密码
设置随机口令操作:
[root@centos7 ~]#openss」 rand -base64 12
即可出现随机口令
十一、group 文件格式
1、群组名称
2、群组密码:通常不需要设定,密码被记录在/etc/gshadow
3、GID:就是群组 ID
4、以当前组为附加组的用户列表(分隔符为逗号)