zoukankan      html  css  js  c++  java
  • 权限管理一

    一、ACL 权限

    如果我们只想要某一用户对文件或者有权限,可以使用acl权限。

    1、查看acl是否开启
    [root@localhost ~]# dumpe2fs -h /dev/mapper/VolGroup-lv_root # /设备文件名,可以用mount查看。
    
    Default mount options:    user_xattr acl#默认开启
    
    #如果没有开启,手工开启分区的 ACL 权限
    [root@localhost ~]# mount -o remount,acl / # 重新挂载根分区,并挂载加入 acl 权限
    
    也可以通过修改/etc/fstab 文件,永久开启 ACL 权限
    
    [root@localhost ~]# vi /etc/fstab 
    /dev/mapper/VolGroup-lv_root /                       ext4    defaults,acl        1 1   # 加入 acl 
    
    [root@localhost ~]# mount -o remount /     #重新挂载 / 分区
    
    2、ACL 基本命令
    getfacl  文件名  查询文件的 ACL 权限 
    
    [root@localhost ~]# getfacl /root
    getfacl: Removing leading '/' from absolute path names
    # file: root
    # owner: root
    # group: root
    user::r-x
    group::r-x
    other::---
    
    setfacl  选项  文件名  设定 ACL 权限
    -m       设定 ACL 权限   
    -b       删除 ACL 权限   
    -R       只能对目录使用,递归赋予权限
    -x       删除单个用户的 ACL 权限
    
    用法:
        setfacl  -m  u:用户名:权限   文件名  
        setfacl  -m  g:组名:权限   文件名 
        setfacl  -x  u:用户名   文件名
    [love2@localhost ~]$ ls /root
    ls: 无法打开目录/root: 权限不够,此时我们可以对love2用户授予acl权限,使其能够对/root目录由访问权限。
    [root@localhost ~]# setfacl -m u:love2:rx /root
    
    注意:如果给目录赋予 acl 权限,两条命令都要输入,递归与默认的区别:   
    setfacl -m u:love2:rx -R /root        只对已经存在的文件生效   
    setfacl -m d:u:love2:rx -R /root/   只对以后新建的文件生效
    
    3、 最大有效权限 mask
    [root@localhost /]# setfacl -m m:rw  123.txt   # 设定 mask 权限为 r - w ,给123.txt文件设定最大权限为 r-w
    [root@localhost ~]# getfacl 123.txt 
    # file: 123.txt
    # owner: root
    # group: root
    user::rw-
    group::r--
    mask::rw-
    other::---
    
    4、删除acl权限
    [root@localhost ~]# setfacl -x u:love2 /root/ # 删除指定用户和用户组的 ACL 权限 
    [root@localhost ~]# setfacl -b /root # 会删除文件的所有的 ACL 权限
    

    二、sudo 授权

    普通用户执行某些命令没有权限时,可使用sudo命令赋予部分管理员权限。

    1 root 身份:

    visudo 赋予普通用户权限命令,命令执行后和 vim 一样使用

    #Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    #用户名  目标主机= (可使用的身份) 授权命令(绝对路径) 
    #Allows people in group wheel to run all commands
    %wheel        ALL=(ALL)       ALL 
    % 组名 被管理主机的地址 = (可使用的身份) 授权命令(绝对路径) 
    

    例子

    1)授权用户 love2 可以重启服务器,则visudo添加如下行: 
    [root@localhost ~]# visudo / vim /etc/sudoers
    love2  ALL=(root)   /sbin/shutdown –r now 
    [user1@localhost ~]$ sudo -l #查看可用的授权  
    
    2)授权love2用户可以添加其他普通用户  
    love2  ALL=/usr/sbin/useradd    #赋予 love2 添加用户权限.命令必须写入绝对路径 
    love2  ALL=/usr/bin/passwd       
    love2 ALL=/usr/bin/passwd [A-Za-z0-9]*,  !/usr/bin/passwd "",  !/usr/bin/passwd root   #赋予改密码权限,取消对 root 的密码修改
     
    切换love2 身份    
    sudo  /usr/sbin/useradd  love3  
    
  • 相关阅读:
    react生命周期-渲染阶段
    react声明周期详解
    react子传父
    react 爷爷组件件传递给孙子组件
    react验证参数格式类型
    原生input上传视拼,参数形式 file: (binary)形式的
    L2-4 彩虹瓶 (25分)
    L2-3 深入虎穴 (25分)
    L2-1 链表去重 (25分)
    L1-1 帅到没朋友 (20分)
  • 原文地址:https://www.cnblogs.com/hjnzs/p/11965516.html
Copyright © 2011-2022 走看看