• Linux基础巩固--Day3--用户组及权限操作


    Linux的安全模型

      用户登录系统时必须提供用户名和密码(用户是由 root 用户创建的,最初的密码也是 root 用户设定的)。

      使用用户和群组来控制使用者访问文件和其他资源的权限。

      系统上的每一个文件都一定属于一个用户(一般该用户就是文件的创建者)并与一个群组相关。

      每一个进程(处理程序)都会与一个用户和群组相关联。

    用户和组

      用户user

        令牌token,identity

        linux用户:Username/UID

        管理员:root ,0

        普通用户:1-65535

          系统用户:1-499,1-999(centos7)

            对守护进程获取资源进行权限分配

          登录用户:500+,1000+(centos7)

            交互式登录

      组group

        Linux组:Groupname/GID

        管理员组:root,0

        普通组:

          系统组:1-499,1-999(centos7)

          普通组:500+,1000+(centos7)

      

    用户和组管理

       添加用户

        useradd

          -u UID:手动指定用户的UID;

          -d 家目录:手动指定用户的家目录;

          -c 用户说明:手动指定用户的说明;

          -g 组名:指定用户的初始组;

          -G 组名:指定用户的附加组;

          -s shell:手动指定用户登录的shell,默认是/bin/bash;

       修改用户密码状态

        chage [选项] 用户名

          -l: 列出用户的详细密码状态

          -d: 修改密码最后一次的更改日期 shadow3字段

          -m 天数:   两次修改密码的间隔 shadow4字段

          -M 天数: 密码有效期 shadow5字段

          -W 天数:密码过期前警告天数 shadow6字段

          -i 天数: 密码过期后宽限天数  shadow7字段

          -E 日期: 账号失效时间 shadow8字段

       删除用户:

        vi /etc/passwd

        vi /etc/shadow

        vi /etc/group

        vi /ect/gshadow

        mv /var/spool/mail/username /temp #删除用户的邮件

        mv /home/username /temp #删除用户的目录

      

       添加组

        groupadd [选项] 组名

          -g GID:指定组ID

       修改用户组

        groupmod [选项] 组名

          -g GID:修改组ID

          -n 新组名:修改组名

        groupmod -n testgrp group1 # 把组名group1 修改为testgrp

       删除用户组:

        groupdel 组名

        要想删除住,则需要先删除初始用户,否则不能删除

        

    文件权限

      查看:

        ls -l a.txt

         结果中 一共有十位数,其中:最前面那个 - 代表的是类型

         中间那三个 rw- 代表的是所有者(user)拥有的权限
         然后那三个 r-- 代表的是组群(group)拥有的权限
         最后那三个 r-- 代表的是其他人(other)拥有的权限

         r代表可读权限,w代表可写权限,x代表可执行权限,-代表还没有授予权限

      修改:

        举例chmod 755 a.txt

          r=4,w=2,x=1,-=0

        -rw------- (600) 只有所有者才有读和写的权限
        -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
        -rwx------ (700) 只有所有者才有读,写,执行的权限
        -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
        -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
        -rw-rw-rw- (666) 每个人都有读写的权限
        -rwxrwxrwx (777) 每个人都有读写和执行的权限

      

    默认权限

      umask -S

        022=rwxr-xr-x  那么创建文件的时候 默认的权限就会是 rwx r-x r-x 的权限

      临时的修改:umask 0000

    特殊权限

      SUID

        功能:临时使用命令的属主权限执行该命令,主要是对命令或者二进制文件,以该二进制文件的属主权限来执行该文件

        chmod  u+s filename  # 通过加s

        chmod 4755 filename # SUID的数字权限是4000

      SGID

        功能:多个用户共享一个组,目录授权,共享目录

        chmod g+s /tmp/test/

        chmod 2755 /tmp/test/  # SGID的数字权限是2000

        1.针对用户组权限位修改,用户创建的目录或文件所属组和该目录的所属组一致。
        2.当某个目录设置了sgid后,在该目录中新建的文件不在是创建该文件的默认所属组
        3.使用sgid可以使得多个用户之间共享一个目录的所有文件变得简单。

      SBIT

        功能:粘滞位,即便是该目录拥有w权限,但是除了root用户,其他用户只能对自己的文件进行删除、移动操作

        chmod 1755/opt  # SBIT的数字权限是1000

    ACL

      访问控制列表:Access Control List

        ACL在UGO权限管理的基础上为文件系统提供了一个额外的,更加灵活的权限管理机制  

      UGO:

        Linux 文件的 ugo 权限把对文件的访问者划分为三个类别:文件的所有者、组和其他人。所谓的 ugo 就是指 user(也称为 owner)、group 和 other 三个单词的首字母组合

      ACL特点:

        1.可以针对用户来设置权限

        2.可以针对用户组来设置权限

        3.子文件/目录继承父目录的权限

      查询ACL是否启用:

        cat /boot/config-3.10.0-693.el7.x86_64 | grep -i xfs

      设置ACL:

        setfacl

          -m: 设置后续acl参数,不可与-x合用
          -x: 删除后续acl参数,不可与-m合用
          -b: 删除全部的acl参数
          -k: 删除默认的acl参数
          -R: 递归设置acl,包括子目录
          -d: 设置默认acl,只对目录有效

      查询ACL:

        getfacl

      更改ACL:

        -m 选项其实是在更改文件和目录的 ACL 权限
        *当一个用户或组的 ACL 权限不存在时,-m 选项执行的是添加操作
        *如果一个用户或组的 ACL 权限已经存在时,-m 选项执行的是更新操作。

        我们重新创建一个 aclfile 文件,通过下面的命令设置 tester 用户对它的访问权限:
        setfacl -m u:tester:rwx aclfile

        移除其对 aclfile 的执行权限:
        setfacl -m u:tester:rw aclfile

      删除ACL:

        setfacl -b aclfile  # -b用来清除文件和目录上所有的ACL权限

  • 相关阅读:
    Redis为什么使用单进程单线程方式也这么快
    高性能IO模型浅析
    计算机基础知识_硬件知识
    计算机基础知识_进制转化
    计算机基础知识
    C语言_第一讲_C语言入门
    C语言_第二讲_规范以及常用数据类型
    COM_第四讲_保存GUID_优化使用代码
    4.性能下降原因和常见的Join查询
    3.MySQL的架构介绍
  • 原文地址:https://www.cnblogs.com/bk770466199/p/12015374.html
Copyright © 2020-2023  润新知