• Linux 文件隐藏权限 文件访问控制列表(ACL)


    文件的隐藏属性:
    chattr命令:
    chattr命令用于设置文件的隐藏权限
    格式 char[参数] 文件
    需要在命令后面追加”+参数”
    想要把某个隐藏命令移除“-参数”

    i:无法对文件进行修改;最目录设置了该参数,则只能修改其中的子文件内容
    而不能新建或者删除文件
    a:仅允许补充(追加内容),无法覆盖/删除内容
    S:文件内容在更改后立即同步到硬盘
    s:彻底从硬盘删除,不可恢复
    A:不在修改这个文件或目录的最后访问时间(atime)
    b:不在修改文件或目录的存取时间
    D:检查压缩文件的错误
    d:使用dump命令备份是忽略本文件/目录
    c:默认将文件/或者目录进行压缩
    u:当删除该文件后依然保留其在硬盘中的数据,方便恢复
    t:让文件系统支持尾部合并
    X:可以直接访问压缩文件的内容
    
    例如:
    echo "for test" > linux
    chattr +a linux
    rm linux
    //不可删除的
    
    
    lsattr命令:
    显示文件的隐藏属性 格式为:"lsattr [参数] 文件"
    lsattr linux
    -----a--------- linux
    chattr -a linux
    lsattr linux
    --------------- linux
    rm linux
    //现在成功了
    

    文件访问控制列表:
    如果想要对某个指定的用户进行单独的权限控制,就需要用到文件的访问
    控制列表(ACL)了。

    setfacl命令:
    setfacl命令用于管理文件的ACL规则,格式为:setfacl[参数] 文件名称

    它可以针对单一用户或者是用户组、单一文件或者是目录来进行读/写/执行权限    
    的控制。
    
    针对目录文件需要使用-R递归参数;
    针对普通文件则使用-m参数,
    如果想删除某个文件的ACL,使用-b参数
    
    setfacl -Rm u:username:rwx /root
    su - username
    cd /root
    ls
    cat ananconda-ks.cfg
    exit
    ls -ld /root
    dr-xrwx---+//'+'表示该文件已经设置了ACL了
    

    getfacl命令:
    用于显示文件上设置的ACL信息 ,格式为”getfacl 文件名称”
    getfacl /root
    setfcal -b /root

    su命令和sudo服务:

    su命令:
    id //查看信息
    su - username//切换用户
    id//查看信息

    sudo命令:
    格式sudo[参数] 命令名称
    参数:
    -h 列出帮助信息
    -l 列出当前用户可执行的命令
    -u 用户名或者UID值:以指定的用户身份执行命令
    -k 清空密码的有效时间
    -b 在后台执行指定的命令
    -p 更改询问密码的提示语

    总体来说,sudo命令具有如下功能:
    限制用户执行指定的命令
    记录用户执行的每一条命令
    配置文件,提供集中的用户管理、权限与主机等参数
    验证密码的后5分钟内,无需在让用户在此验证密码
    
    visudo命令配置用户权限,可以在配置用户权限时将禁止多个用户
    修改sudoers配置文件(root)
    
    例如:
    谁可以使用 允许使用的主机=(以谁的方式) 可执行命令的列表
    visudo
    root ALL=(ALL) ALL
    username ALL=(ALL) ALL
    
    更改完成之后,使用sudo -l就可以查看到所有可执行的命令了
    su -username
    sudo -l
    
    例如://修改完之后
    ls /root
    sudo ls /root
    
    再次改变:
    su - root
    whereis cat
    visudo
    username ALL=(ALL) /usr/bin/cat
    
    :wq!
    
    
    
    //修改为执行poweroff不需要验证密码
    whereis poweroff
    visudo
    username ALL=NOPASSWD: /usr/sbin/poweroff
    
    技术不分国界
  • 相关阅读:
    mysql设置外网访问
    c# 导出excel的两种常见方法
    mysql记录
    nginx配置文件nginx.conf简单介绍
    nginx编译安装之-./configure 参数详解
    Springboot中Filter的使用
    Spring Boot中@ConditionalOnProperty使用详解
    spring boot2 配置 FastJsonHttpMessageConverter 不起作用
    springBoot yaml属性配置文件使用详解
    Eclipse离线安装Java Decompiler插件(反编译)
  • 原文地址:https://www.cnblogs.com/angels-yaoyao/p/12443635.html
Copyright © 2020-2023  润新知