• 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 和pang 的身份运行/bin/cat /etc/shadow ,得到的结果是不同的,资源能否能被访问,是由运行者的身份决定,非程序本身。
    要想访问资源先检查权限,没权限先赋权!
    pang用户可以查看passwd但是无法查看shadow文件

    [root@C8-1 ~]# su pang
    [pang@C8-1 root]$ cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
    systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    polkitd:x:998:996:User for polkitd:/:/sbin/nologin
    unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
    libstoragemgmt:x:996:993:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
    setroubleshoot:x:995:992::/var/lib/setroubleshoot:/sbin/nologin
    clevis:x:994:990:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
    cockpit-ws:x:993:989:User for cockpit-ws:/nonexisting:/sbin/nologin
    sssd:x:992:988:User for sssd:/:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    chrony:x:991:987::/var/lib/chrony:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    pang:x:1000:1000::/home/pang:/bin/bash
    [pang@C8-1 root]$ cat /etc/shadow
    cat: /etc/shadow: Permission denied
    
    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    基于visual Studio2013解决算法导论之018栈实现(基于链表)
    基于visual Studio2013解决算法导论之017查找第n小元素
    基于visual Studio2013解决算法导论之016查找最大值最小值
    基于visual Studio2013解决算法导论之015第二小元素
    基于visual Studio2013解决算法导论之013基数排序
    shell脚本执行的三种方式
    Linux rm删除大批量文件遇到 Argument list too long
    lsof 命令简介
    查看目录大小以及目录数量的命令
    python调用脚本或shell的方式
  • 原文地址:https://www.cnblogs.com/bpzblog/p/13174614.html
Copyright © 2020-2023  润新知