Linux 运维 | 3.从零开始,用户和用户组管理实践

3e1cdc8c78b5ad338cd2bda8bfe8b5bb.jpeg

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]

大家好,我是一个正在向全栈工程师(SecDevOps)前进的计算机技术爱好者

作者微信:WeiyiGeeker
公众号/星球:全栈工程师修炼指南
主页博客: https://weiyigeek.top - 为者常成,行者常至

0x00 用户和用户组管理

描述:作者根据自身学习情况,对Linux运维工程师学习之路系列文章进行整理,并记录自己学习过程,方便后期复习和回顾,以及各位读者朋友交流学习,文章中不足之处还望读者朋友不吝赐教。

前一章,我们实践学习了文件目录结构以及文件目录管理方面的命令,此章我们学习用户组创建管理方面的知识,为后续学习文件目录权限访问配置打下基础,除此之外,文中的相关命令详细解析都在作者整理归纳的《#Linux 命令 | 系列》系列文章,将作为《#运维从业必学》专栏辅助学习知识,这是也是每位Linux运维工程师必须掌握的基础知识,作者耗费心力、时间进行总结,希望对大家有所帮助,所以若有帮助还请多多关注作者,并鼓励作者创造更多实践文章吧。

温馨提示:文章末尾有练习题,希望大家可以多动手实践,加深理解。

原文链接: https://mp.weixin.qq.com/s/A223MfexT2de_oP3KmekZw

1.基础概述

了解Linux安全模型

描述:在Linux系统中当用户登录成功时,系统会自动分配令牌 token,包括用户标识和组成员等信息。

同时在Linux进行资源分配时,是要满足网络安全领域的3A认证模型的。

  • Authentication: 认证,验证用户身份。

  • Authorization: 授权,不同的用户设置不同权限。

  • Accouting|Audition: 审计,记录用户操作。

 

用户和组

Q: Linux中用户和组的意义?

答:它们在Linux的世界里面是相当重要的,使得多任务Linux环境变得更容易管理,以及系统资源分配和系统文件访问安全等等;

在Linux系统中每个用户是通过用户ID (UID,User ID) 来唯一标识的,每个组是通过 用户组ID (GID,Group ID) 来唯一标识的,其中可以将一个或多个用户加入到用户组中。

  • 管理员:对系统进行管理的最高权限,即常说的root , uid = 0。

  • 系统用户:对守护进行获取资源进行权限分配,通常 1 <= uid <= 999,但是在CentOS6以前范围是1~499

  • 普通用户:对业务运维或用户进交换使用,通常 60000 >= uid >= 1000,但是在CentOS6以前范围是500~60000,当然此范围也可以修改,这个我们后续会讲到。

  • 管理员组:root,gid = 0

  • 系统用户组:通常 gid = 1~999,但是CentOS6以前范围是1~499

  • 普通用户组:通常 gid = 1000~60000,,但是CentOS6以前范围是1000~60000

 

用户和组的关系

  • 用户的主要组(primary group): 用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组

  • 用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,又称为附属组,类比于你同时担任两个部门的工作😳。

例如,假如创业公司有CEO(首席执行官)、CTO(首席技术官)、CFO(首席财务官)、CIO(首席信息官)四个职位,那么我们就可以创建四个组,其中CEO是必要的所以是主组,而其他三组可以是辅助组。

# 使用 id 命令查看用户和主要、附加组信息
$ id root rocky
用户id=0(root) 组id=0(root) 组=0(root)
用户id=1000(rocky) 组id=1000(rocky) 组=1000(rocky)
$ id postfix
用户id=89(postfix) 组id=89(postfix) 组=89(postfix),12(mail)  # 附加组

温馨提示:在 Windows 系统中也有用户和组的概念,但是 Windows 系统中用户和组是互斥的,用户名称和组名称不能相同。

56770f5ccf59a571848e75daf3ada770.png

weiyigeek.top-Windows系统中用户和组是互斥图

了解安全上下文Context

描述:Linux中安全上下文Context,是运行中的程序(即进程),以进程发起者的身份运行,进程所能够访问资源的权限取决于进程的运行者的身份,在Linux系统中,每个进程都有一个安全上下文,也就是一个用户和组。

例如,以 root 管理员 和 weiyigeek 普通用户分别运行cat /etc/shadow, 得到的结果是不同的,资源能否被访问,是由运行者的身份决定的,并非程序本身。

# 以 root 账户执行
[root@mail ~ 192.168.228.128 16:51]# cat /etc/shadow | head -n 2
root:$6$1LOC3PZIKa9zhTt6$TkJ/jEzJ7yHgdFpRnJv04zRtXNvVFm.gqYl6Sl9.lMWuLS0azrAn5jsFSCyKVXpuEE2DXgrAU/jXQ1qFDecc51::0:99999:7:::
bin:*:19469:0:99999:7:::

# 以 rocky 普通账号执行
[root@mail ~ 192.168.228.128 16:52]# sudo -u rocky cat /etc/shadow | head -n 2
cat: /etc/shadow: 权限不够

2.用户和组文件

用户和组配置文件

  • /etc/passwd:用户账户信息,包含用户及其属性信息文件(名称,uid,组ID等)

  • /etc/shadow:安全用户账户信息,包含用户密码及其属性信息文件(加密后的密码,密码过期时间等)

  • /etc/group:组账户信息,包含用户组及其属性信息文件(名称,gid,用户列表等)

  • /etc/gshadow:安全组账户信息,包含用户组密码及其属性信息文件(加密后的组密码,组密码过期时间等)

温馨提示:在 Linux 系统中,可以通过前面介绍的 man 命令来查看配置文件的具体格式。

$ whatis passwd
$ man 5 passwd shadow group gshadow
--Man-- 下一页: shadow(5) [ 查看 (return) | 跳过 (Ctrl-D) | 退出 (Ctrl-C) ]
--Man-- 下一页: group(5) [ 查看 (return) | 跳过 (Ctrl-D) | 退出 (Ctrl-C) ]
--Man-- 下一页: gshadow(5) [ 查看 (return) | 跳过 (Ctrl-D) | 退出 (Ctrl-C) ]

用户和组配置文件内容格式简述

# /etc/passwd 文件格式
$ head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/sbin/nologin
# 用户名称:密码占位符:用户ID:组ID:用户说明:主目录:登录shell

# /etc/shadow 文件格式
$ head -n 2 /etc/shadow
root:$6$1LOC3PZIKa9zhTt6$TkJ/jEzJ7yHgdFpRnJv04zRtXNvVFm.gqYl6Sl9.lMWuLS0azrAn5jsFSCyKVXpuEE2DXgrAU/jXQ1qFDecc51::0:99999:7:::
bin:*:19469:0:99999:7:::
# 用户名称:加密后的密码SHA512:上次修改密码的时间(从19700101开始):密码修改最小时间间隔(0表示随时):密码最大时间间隔(99999表示永不过期):密码到期前警告时间(缺省一周7day):密码过期几天后锁定:账号失效时间(从19700101开始)

# /etc/group 文件格式
$ head -n 2 /etc/group
root:x:0:
bin:x:1:
mail:x:12:postfix
# 组名称:组密码占位符:组ID:用户列表(查看用户的附加组)

# /etc/gshadow 文件格式
$ head -n 2 /etc/gshadow
root:::
bin:::
mail:::postfix
# 组名称:组密码占位符:组ID:用户列表(查看用户的附加组)

温馨提示:在 Linux 系统中,原本用户信息与密码都是保存在/etc/passwd文件中,后续由于其安全性将其密码保存在/etc/shadow文件中,同样的组密码也是存放在/etc/gshadow文件中。

温馨提示:在 Linux 系统中,/etc/passwd文件中的密码字段是采用SHA512加密后的密码,其格式为$id$salt$encrypted,其中id为加密算法类型,salt为随机字符串,encrypted为加密后的密码。

完整原文: https://mp.weixin.qq.com/s/A223MfexT2de_oP3KmekZw

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈工程师修炼指南

原创不易,赞赏鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值