Linux的安全模型

Posted 白_胖_子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的安全模型相关的知识,希望对你有一定的参考价值。

3A

资源分派:

  • Authentication:认证,验证用户身份
  • Authorization:授权,不同的用户设置不同权限
  • Accouting|Audition:审计
    当用户登录成功时,系统会自动分配令牌token,包括:用户标识和组成员等信息

用户

Linux中每个用户是通过User Id (UID)来唯一标识的
是一个纯数字,系统自动分配的,Linux中只靠UID来判断用户而不是用户名

  • 管理员:root, 0
  • 普通用户:1-60000 自动分配
    • 系统用户:1-499 (CentOS 6以前), 1-999 (CentOS 7以后)对守护进程获取资源进行权限分配
    • 登录用户:500+ (CentOS6以前), 1000+(CentOS7以后)给用户进行交互式登录使用
      用id命令查看UID
[root@C8-1 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@C8-1 ~]# id pang
uid=1000(pang) gid=1000(pang) groups=1000(pang)

用户组

Linux中可以将一个或多个用户加入用户组中,用户组是通过Group ID(GID) 来唯一标识的。

  • 管理员组:root, 0
  • 普通组:
    • 系统组:1-499(CentOS 6以前), 1-999(CentOS7以后), 对守护进程获取资源进行权限分配
    • 普通组:500+(CentOS 6以前), 1000+(CentOS7以后), 给用户使用
      减少了非陪权限的复杂性,root组里的用户并不一定是超级管理员
      在Linux里允许用户名和组名同名,Windows不允许用户名和组名同名

用户和组的关系

  • 用户的主要组(primary group):用户必须属于一个且只有一个主组,
    默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组
  • 用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组,附加组可有可无
[root@C8-1 ~]# id mail
uid=8(mail) gid=12(mail) groups=12(mail)

gid表示用户主组的信息,groups表示用户所有加入的组的信息,假如没有其他附加组,则只显示主组,看起来和gid一样,但并不是。

安全上下文

能不能访问资源,是由执行命令者的身份决定的
Linux安全上下文Context:运行中的程序,即进程 (process),以进程发起者的身份运行,进程所能够访问资源的权限取决于进程的运行者的身份
比如:分别以root 和wang 的身份运行/bin/cat /etc/shadow ,得到的结果是不同的,资源能否能被访问,是由运行者的身份决定,非程序本身









以上是关于Linux的安全模型的主要内容,如果未能解决你的问题,请参考以下文章

使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用

windows 安全模型简介

如何防止在背面片段导航上再次设置视图模型

Linux的安全模型

[linux][c/c++]代码片段01