基于ACL和文件属性chattr ,umask,suid,sgid的常用方法

 

一、基本权限名词:ACL(可以针对文件或目录,设置更多用户的权限,是对UGO的补充)

语法:  setfacl      -m         u:alice:rw-               /home/test.txt

          命令     设置         用户或组:用户或组名:权限    文件对象

1、setfacl 可以完成chmod  的工作

chmod的工作可以改变属主权限,属组权限,改其他人的权限

     setfacl  -m  u::rwx  /home/test.txt

     setfacl  -m  g::rwx  /home/test.txt

     setfacl  -m  o::rwx  /home/test.txt

以上三条命令等同于  chmod  777  /home/test.txt

getfacl   :查看文件权限,删除了根路径

file:  /home/test.txt

owner:  root  属主:root

group:  root   属组:root

user:  alice:rw  用户:alice:rw

group : :     组:属组:rwx

mask : rwx          掩码:rwx (与前面u,g 取交集,才会得出u,g的最后权限)

  1. 删除用户的权限

setfacl   -x   u:alice    /home/test.txt(删除该用户的所有acl信息)

setfacl  -b    /home/test.txt  (删除主,组的所有acl信息)

实验步骤:

  1. touch  /home/test.txt
  2. ll  /home/test.txt
  3. useradd  alice   

useradd  jack

  1. 设置某个用户权限setfacl   -m  u:alice::rw-  /home/test.txt
  2. 查看设置后的权限 getfacl    /home/test.txt

(用ll 查看会出现假象)

  1. 切换用户:su  - alice  
  2. 检验该用户是否可读可写可执行

二、文件属性 chattr  (常用于锁定某个文件,拒绝修改)

查看属性  lsattr  文件名

语法:  chattr  +i   文件名   (加上不能删除,更改,重命名的属性)

检验方法:rm  -rf  文件名   (不允许操作则成功)

想要去除则chattr  -i    文件名

三、进程掩码umask  默认权限的设置(系统默认0022)

 文件夹权限默认755=777-022

 文件默认644 (去掉执行权)

 进程掩码可以更改#umask  0000     //则创出文件夹权限默认为777,文件默认权限为666

  1. ls    可以查看文件夹里面的内容
  2.  ls  -d   查看文件夹本身
  3. ll  查看文件夹中内容的属性
  4. ll  -d  查看文件夹本身的属性

四、suid 针对文件/程序时,具备临时获得属主权限

实验目的:为cat 程序加上suid 权限

实验步骤:

  1. which  cat  查看命令的位置
  2. chmod u+s  /usr/bin/cat  授予suid权限
  3. su  -   alice   切换到普通用户家
  4. cat  /root/file1.txt   使用cat程序的用户(任何用户),将临时获得属主的权限
  5. 去除权限chmod  u-s  /usr/bin/cat

sgid(使子文件,自动继承目录的属组)

    chmod  g+s   文件夹

   

stick (只有属主和超管可以删除,防止被普通用户删除)

    chmod  o+t  dir1     增加权限

    chmod  o-t   dir1     去除权限

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值