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
  • 相关阅读:
    常用、好用的资源管理器收藏
    单片机延时函数整理——针对裸机
    ad7793的调试记录
    《80c51单片机实用技术》邹久朋学习笔记
    使用串口工具(volt++ vofa)伏特加来实时打印波形
    golang从简单的即时聊天来看架构演变
    无敌简单快速的文件服务器sgfs
    到底是否应该使用“微服务架构”?
    你所学习的设计模式到底有什么用?到底怎么用?
    浅入深出ETCD之【raft原理】
  • 原文地址:https://www.cnblogs.com/onegoal/p/7244817.html
Copyright © 2011-2022 走看看