linux怎么给目录创建acl,linux – 默认情况下通过ACL为新目录设置粘滞位?

我想设置一个目录,其中所有新文件和目录都有一定的访问掩码,并且目录中也设置了粘滞位(t one,这限制了删除这些目录中的文件).

对于第一部分,我的理解是我需要为父目录设置默认ACL.但是,新目录不会从父级继承t位.因此,非所有者可以删除子目录中的文件.我能解决这个问题吗?

解决方法:

这是一个允许组成员acltest创建的配置

并禁止删除和重命名文件时修改组文件

除了他们的主人和“其他人”,没有.使用用户名,列弗和

假设umask为022:

groupadd acltest

usermod -a -G acltest lev

注销root帐户和lev帐户.登录并成为root或使用sudo:

mkdir /tmp/acltest

chown root:acltest /tmp/acltest

chmod 0770 /tmp/acltest

chmod g+s /tmp/acltest

chmod +t /tmp/acltest

setfacl -d -m g:acltest:rwx /tmp/acltest

setfacl -m g:acltest:rwx /tmp/acltest

ACL无法设置粘滞位,粘滞位不会复制到子目录.但是,您可以使用inotify或类似软件来检测文件系统中的更改,例如新目录,然后进行相应的反应.

例如,在Debian中:

apt-get install inotify-tools

然后为inotify创建一个脚本,例如/usr/local/sbin/set_sticky.sh.

#!/usr/bin/env bash

inotifywait -m -r -e create /tmp/acltest |

while read path event file; do

case "$event" in

*ISDIR*)

chmod +t $path$file

;;

esac

done

授予root用户执行权限:chmod 0700 /usr/local/sbin/set_sticky.sh.然后在启动时从/etc/rc.local或任何适合的RC文件运行它:

/usr/local/sbin/set_sticky.sh &

当然,在这个例子中,/ tmp / acltest应该在重启时消失.否则,这应该像魅力一样.

标签:acl,linux,permissions

来源: https://codeday.me/bug/20190810/1640160.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值