linux centos7增加文件夹权限,Linux运维-Centos7-文件权限管理(3)

原标题:Linux运维-Centos7-文件权限管理(3)

文件的特殊权限:suid sgid sticky

1、SUID(set uid设置用户ID):限定:只能设置在二进制可执行程序上面。对目录设置无效

功能:程序运行时的权限从执行者变更成程序所有者的权限

2、SGID:限定:既可以给二进制可执行程序设置,也可以对目录设置

功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会,继承上级目录的所属组

3、Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位

这3个特殊权限对应的数值为

dc94cbe95e727aa14a640ed1743764c8.png

SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。使用”ls -l” 或者”ll” 命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的”s”,就表明该执行文件拥有SUID属性。比如/usr/bin/passwd文件

例:普通用户mk,没有对shadow文件写入的权限, 但是mk用户使用passwd修改自己密码时,可以修改shadow文件中的内容,这是什么原因?

[root@xuegod63 ~]# ll /etc/shadow

----------. 1 root root 1179 9月 19 2017 /etc/shadow

[root@xuegod63 ~]# su - mk

上一次登录:二 5月 8 21:07:24 CST 2018pts/0 上

[mk@xuegod63 ~]$ passwd

更改用户 mk 的密码 。

为 mk 更改 STRESS 密码。

(当前)UNIX 密码:123456

新的 密码:Xuegod*666

重新输入新的 密码:Xuegod*666

passwd:所有的身份验证令牌已经成功更新。

[root@xuegod63 ~]# vim /etc/shadow #查看shadow文件已经被mk用户修改成功。

因为mk用户执行passwd命令时,权限会提升成root用户,所以可以修改成功。

例:

[root@xuegod63 ~]# useradd mk

[root@xuegod63 ~]# su - mk

[root@xuegod63 ~]$less /etc/shadow #看不到内容

[root@xuegod63 ~]# su - root

[root@xuegod63 ~]# chmod u+s /usr/bin/less #切换到root,给一个suid权限

[root@xuegod63 ~]# su - mk

[mk@xuegod63 ~]$ less /etc/shadow #看到

查看u+s后的效果:

[root@xuegod63 ~]# ll /usr/bin/less

-rwsr-xr-x 1 root root 154536 Sep 26 2011 /usr/bin/less

[root@xuegod63 ~]# ps -axu | grep less

root 43407 0.0 0.0 110260 980 pts/0 S+ 22:30 0:00 less /etc/shadow

另外:

[root@xuegod63 ~]# chmod 4755 /usr/bin/less # 等同于 chmod u+s /usr/bin/less

SGID:

限定:既可以给二进制可执行程序设置,也可以给目录设置。

功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的权限。

[root@xuegod63 ~]# mkdir test

[root@xuegod63 ~]# ll -d test

drwxr-xr-x 2 root root 4096 Jan 24 20:14 test

[root@xuegod63 ~]# chmod g+s test

[root@xuegod63 ~]# !ll

ll -d test

drwxr-sr-x 2 root root 4096 Jan 24 20:14 test

测试:sgid效果

[root@xuegod63 ~]# chown :bin test/

[root@xuegod63 ~]# touch test/a.txt

[root@xuegod63 ~]# ll !$

ll test/a.txt

-rw-r--r-- 1 root bin 0 Jan 24 20:15 test/a.txt

Stickybit

限定:只作用于目录

功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。

例: 系统中的tmp目录就是这样

[root@xuegod63 ~]# ll -d /tmp/

drwxrwxrwt. 11 root root 4096 Jan 24 19:41 /tmp/

用法:

chmod o+t /tmp/test/

文件扩展权限ACL

扩展ACL :access control list

例:设置用户mk对文件a.txt拥有的rwx权限 ,mk不属于a.txt的所属主和组,mk是other。怎么做?

[root@xuegod63 ~]# touch /tmp/a.txt

[root@xuegod63 ~]# getfacl /tmp/a.txt

getfacl: Removing leading '/' from absolute path names

# file: tmp/a.txt

# owner: root

# group: root

user::rw-

group::r--

other::r--

#setfacl -m u:mk:rwx /tmp/a.txt u : 设置某个用户拥有的权限

[root@xuegod63 ~]# getfacl /tmp/a.txt

getfacl: Removing leading '/' from absolute path names

...

user::rw-

user:mk:rwx

[mk@xuegod63 ~]$ vim /tmp/a.txt

[mk@xuegod63 ~]$ ll /tmp/a.txt

-rw-rwxr--+ 1 root root 8 5月 8 22:42 /tmp/a.txt

例: 给目录加扩展权限

[root@xuegod63 ~]# mkdir /tmp/test

#setfacl -m d:u:mk:rwx /tmp/test # -d default 设置默认acl,对目录有效,此目录下新建的目录或文件都继承此acl权限

例:测试一下 -d 参数:

[root@xuegod63 ~]# mkdir /tmp/test

[root@xuegod63 ~]# setfacl -m d:u:mk:rwx /tmp/test

[root@xuegod63 ~]# getfacl /tmp/test/

getfacl: Removing leading '/' from absolute path names

# file: tmp/test/

# owner: root

# group: root

user::rwx

group::r-x

other::r-x

default:user::rwx

default:user:mk:rwx

default:group::r-x

default:mask::rwx

default:other::r-x

[root@xuegod63 ~]# touch /tmp/test/a.txt

[root@xuegod63 ~]# mkdir /tmp/test/data

[root@xuegod63 ~]# getfacl /tmp/test/a.txt #因为-d参数,所以test下所有创建的文件和目录都继承了默认的acl权限

getfacl: Removing leading '/' from absolute path names

# file: tmp/test/a.txt

# owner: root

# group: root

user::rw-

user:mk:rwx #effective:rw-

group::r-x #effective:r--

mask::rw-

other::r--

[root@xuegod63 ~]# getfacl /tmp/test/data

getfacl: Removing leading '/' from absolute path names

# file: tmp/test/data

# owner: root

# group: root

user::rwx

user:mk:rwx

group::r-x

mask::rwx

other::r-x

default:user::rwx

default:user:mk:rwx

default:group::r-x

default:mask::rwx

default:other::r-x

例:给目录下所有文件都加扩展权限

[root@xuegod63 ~]# setfacl -R -m u:lee:rw- testdirectory/ #-R一定要在-m前面,表示目录下所有文件

[root@xuegod63 ~]# setfacl -x u:mk /tmp/a.txt # 去掉单个权限

[root@xuegod63 ~]# setfacl -b /tmp/a.txt # 去掉所有acl权限返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值