路漫漫其修远兮
吾将上下而求索

linux用户、组和权限管理

 零碎知识总结

  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天,则登录会提示用户修改密码

E9E81759E38F4DC09E0AC652C9B34200.jpg

   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. 为了能让那后台进程或者服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从不用登录系统。

未经允许不得转载:江哥架构师笔记 » linux用户、组和权限管理

分享到:更多 ()

评论 抢沙发

评论前必须登录!