零碎知识总结
a. Multi-tasks,Multi-Users 以前计算机少,多个用户共用一个计算机,出现多用户多任务方式
b. 每一个使用计算机的用户:
i. 使用标示:用户ID
ii. 认证手段:密码
iii. 认证:Authentication,认证身份
iv. 授权:Authorization,能干什么
v. 审计:Audition,防止权力滥用
c. 组:用户组,用户容器,多个用户对一个文件有操作,可以将多个用户放到一个组里,一个组拥有某个权限,便于权限管理。
d. 用户类型:
i. 管理者
ii. 普通用户
1. 系统用户
2. 登录用户
e. 用户标示:UserID,UID
i. 16bits二进制数字:0-65535
1. 管理员:0
2. 普通用户:1-65535
a. 系统用户:1-499(centos6),1-999(centos7)
b. 登录用户:500-60000(centos6),1000-60000(centos7)
ii. 名称解析:名称转换,识别用户用对应的ID
1. Username <–> UID
2. 根据名称解析库进行:/etc/passwd
f. 组类别1:
i. 管理员组
ii. 普通用户组
1. 系统组
2. 登录组
iii. 组标示:GroupID,GID
1. 16bits二进制数字:0-65535
a. 管理员组:0
b. 普通用户组:1-65535
i. 系统用户组:1-499(centos6),1-999(centos7)
ii. 登录用户组:500-60000(centos6),1000-60000(centos7)
iv. 名称解析:名称转换,识别组对应的ID
1. GroupID <–> GID
2. 根据名称解析库进行:/etc/group
g. 组类别2:
i. 用户的基本组:linux在创建用户的时候会同时创建和用户名相同的组,这个组就是基本组,不能把用户从这个组删除。
ii. 用户的附加组:附加组也称额外组,是除基本组之外用户所在的其他组。用户可以从附加组中删除。
h. 组类别3:
i. 私有组:组名同用户名,且只包含一个用户
ii. 公共组:组内包含多个用户。
i. 认证信息:
i. 通过比对事先存储的,与登录时提供的信息是否一致
ii. passwd: /etc/shadow /etc/gshadow
j. 密码使用策略:
i. 使用随机数
ii. 最短长度不要低于8位
iii. 应该使用大写字母,小写字母,数字和标点四类中至少3类
iv. 定期更换
v. 不要用以前用过的密码
k. 加密算法:
i. 对称加密:加密和解密使用同一个密钥
ii. 非对称加密:一组秘钥,私钥和公钥。私钥加密只能用公钥解密,公钥加密只能用私钥解密
iii. 单向加密:只能加密,不能解密,提取数据特征码,指纹信息
1. 定长输出:不论输入多大,输出长度一样
2. 雪崩效应:输入差一点,输出差很大
3. 算法:数字代表后面的加密的算法种类
a. 1:md5:massage digest 128bits
b. 2:sha1: secure hash algorithm 160bits
c. 3:sha224
d. 4:sha256
e. 5:sha384
f. 6:sha512
[root@localhost ~]#echo "hello" | sha512sum e7c22b994c59d9cf2b48e549b1e24666636045930d3da7c1acb299d1c3b7f931f94aae41edda2c2b207a36e10f8bcb8d45223e54878f5b316e7ce3b6bc019629 - [root@localhost ~]#echo "hell" | sha512sum 7c657811658adf5d5f77bf571270a8ad242ed454fb353ff90f6ad6248edcba14fd155b8a78ad9af53fc4a58dd10464295322655ade5264598a7b5e537032d539 -
l. /etc/passwd: 文件说明
i. account:password:UID:GID:GECOS:directory:shell #格式
ii. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin #举例
1. account:用户名
2. password:加密的密码或者x字符
3. UID:id
4. GID:用户所属的组的ID号
5. GECOS:注释信息
6. directory:用户的家目录
7. shell:对应的默认shell
m. /etc/shadow: 文件说明
i. zhao:$1$phwjVoAP$lkEtZK0YmEi4c/EwrSY2q1:16988:0:99999:7:::
1. login name:登录名
2. encrypted password:加密了的密码
a. $加密算法代号,在上面,$盐$密文,
b. 如果禁止登陆为最前面加!!,例如:!!$加密算法代号(在上面,解释k)$盐$密文,
c. 在计算时加salt,添加随机数到密码明文里面后再进行加密运算,每个用户对应的随机数不一样。为防止不同用户使用相同密码,可以对比出对方的密码,提高破解难度
3. days since Jan 1, 1970 that password was last changed:最后一次更改密码的日期,从1970年开始算
4. days before password may be changed:密码最短使用周期,在最短使用期限内禁止修改密码。0表示随时可修改,单位:天
5. days after which password must be changed:密码最长使用周期,天
6. days before password is to expire that user is warned:警告期,密码过期前几天提醒用户修改
7. days after password expires that account is disabled:限制期,密码过期几天后禁止登录
8. days since Jan 1, 1970 that account is disabled:禁止期,从1970年起,多少天后禁止登录
9. a reserved field
ii.有一个密码过期时间点,过期点前几天为警告期,每次登陆都会提示修改,不影响使用。过期点后为限制期,登录用户必须修改,不然不让登录,限制期后为禁止期,过期时间点是根据密码最长使用周期来定的
iii. 假如最后字段:17000:0:20:10:5:17025: 最后修改时间17000,现在时间17015,最长使用时间20天,警告时间10天,限制期5天,则登录会提示用户修改密码
n. /etc/group: 文件说明
i. 格式:group_name:password:GID:user_list
ii. zhao:x:500:
1. user_list: 该组的用户成员:以此组为附加组的用户的用户列表
a. group_1:x:1003:andy,bob 有两个用户
2. 创建用户的时候会默认创建对应的私有组,组号和userid相同
[root@localhost ~]#tail -5 /etc/group stapsys:x:157: stapdev:x:158: tcpdump:x:72: zhao:x:500: named:x:25:
Linux用户和组管理:
相关命令:useradd, userdel, usermod, passwd, groupadd, groupdel, groupmod, gpasswd, chage, chsh, id, su
a. 系统安全上下文:
i. 进程应该以其发起者的身份运行;
ii. 进程对文件的访问权限,取决于发起此进程的用户的权限
iii. 为了能让那后台进程或者服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从不用登录系统。
–
–
–
评论前必须登录!
注册