zoukankan      html  css  js  c++  java
  • Linux学习--第八天--acl、SetUID、SetGID、chattr、lsattr、sudo

    acl权限

    文件只能有一个所属组
    acl就是不管用户什么组了,直接针对某个文件给他特定权限。
    acl需要所在分区文件系统的支持。

    df -h                     #查看分区
    dumpe2fs -h /dev/sda3     #-h 只显示超级块中的信息,而不显示磁盘快组的详细信息。
    						  #dump2fs命令查看分区详细文件系统信息
    mount -o remount,acl /    #给/分区添加acl权限,这条命令是临时生效,永久失效需要修改文件/etc/fstab
    

    vi /etc/fstab          #UUID=fadf-fds-adfaf-sdfa-fafdasdsadfsdf / ext4 defaults,acl
    mount -o remount /     #重新挂载文件系统,使修改生效               
    
    

    setfacl选项 描述
    -m 设定acl权限
    -x 删除指定的acl权限
    -b 删除所有的acl权限
    -d 设定默认的acl权限
    -k 删除默认的acl权限
    -R 递归指定的acl权限

    useradd mic
    useradd leon
    groupadd classroom
    gpasswd -a leon classroom
    gpasswd -a mic classroom
    mkdir /test
    chown root:classroom /test
    chmod 770 /test
    useradd shiting
    setfacl -m u:shiting:rwx /test
    

    group newgroup
    setfacl -m g:newgroup:rwx /test
    

    setfacl -m m:rx /test     #修改最大有效权限
    getfacl /test             #前面设置的是特殊acl权限,最后生效的权限是由mask最大有效权限和设置的特殊acl权限用与计算过来的。
    

    setfacl -x u:用户名 /test    
    setfacl -x g:组名 /test     
    setfacl -b /home/project     #删除所有acl权限
    

    setfacl -m u:用户名:权限 -R /test     #递归设置acl权限
    
    setfacl -m d:u:用户名:权限     		#设置默认acl权限
    #默认acl只针对新建的。对现有的还是递归acl。
    #递归只能针对目录,不能针对文件,不会报,但没什么用。
    

    SetUID,SetGID

    这里写图片描述


    这里写图片描述


    这里写图片描述


    这里写图片描述


    查看权限如果是rwS而不是rws,说明报错了,因为该命令执行者没有x权限。
    不要随便改SetUID,非常危险,为什么呢?
    因为他会灵魂附体,比如给vim设置了,那么以后普通用户就可以修改passwd文件。


    这里写图片描述


    这里写图片描述


    这里写图片描述


    这里写图片描述


    这里写图片描述


    这里写图片描述


    chattr

    chattr +i /test     #文件设置了i权限,不允许删除、改名、添加数据、修改数据;目录设置了i权限,只能修改目录下的文件,不能删除和建立文件
    chattr -i /test
    chattr =a /test     #文件设置了a权限,只可以增加数据,但不能删除不能修改数据;目录:只能建立和修改文件,不允许删除
    

    设置了a属性后,不能用vi编辑文件,只能用 echo 然后 >>
    chattr 连root的权限都能限制

    lsattr -a /test     #显示所有文件和目录的attr权限
    chattr -d /test		#显示test目录的attr权限
    
    

    sudo

    visudo
    
    root ALL=(ALL) ALL
    #%wheel  ALL=(ALL) ALL
    
    sc 192.168.0.156= /usr/bin/useradd
  • 相关阅读:
    zipline自制data bundles
    zipline目录结构
    Zipline入门教程
    QuantStart量化交易文集
    如何学习量化投资
    数字货币量化分析报告[2018-02-07]
    用于金融分析的Python包
    时间序列模式——ARIMA模型
    一份数学小白也能读懂的「马尔可夫链蒙特卡洛方法」入门指南
    Python实现HMM(隐马尔可夫模型)
  • 原文地址:https://www.cnblogs.com/onegoal/p/7244817.html
Copyright © 2011-2022 走看看