setfacl
我从这个链接找到了:
sudo setfacl -m u:$(id -u):rwx -R /some/folder
rwx
但它会根据我的要求设置所有文件权限different
。
这是测试文件夹:
rm -rf /test
mkdir -p /test/hello/world
echo "hello" > /test/hello.txt
echo "hi" > /test/hi.sh
chmod 755 /test/hi.sh
echo "foo" > /test/foo.sh
chmod 400 /test/foo.sh
echo "bar" > /test/bar.sh
chmod 700 /test/bar.sh
这是文件权限:
# ls -l /test
-rwx------ 1 root root 4 Jun 1 12:20 bar.sh
-r-------- 1 root root 4 Jun 1 12:20 foo.sh
drwxr-xr-x 3 root root 4096 Jun 1 12:20 hello
-rw-r--r-- 1 root root 6 Jun 1 12:20 hello.txt
-rwxr-xr-x 1 root root 3 Jun 1 12:20 hi.sh
我想授予用户1234
相同的权限root
:
sudo setfacl -m u:1234:(???) -R /test
这是用户 1234 的预期权限(这里不更改所有者,只是在这里使用 1234 来解释详细权限,与用户 root 相同):
# ls -l /test
-rwx------ 1 1234 root 4 Jun 1 12:20 bar.sh
-r-------- 1 1234 root 4 Jun 1 12:20 foo.sh
drwxr-xr-x 3 1234 root 4096 Jun 1 12:20 hello
-rw-r--r-- 1 1234 root 6 Jun 1 12:20 hello.txt
-rwxr-xr-x 1 1234 root 3 Jun 1 12:20 hi.sh
这个怎么写呢sudo setfacl -m u:1234:(???) -R /test
?
只是一个指针,因为我认为这有点笨拙......但是,你会明白的。
在 shell 循环中:
这是一次试运行...当对输出感到满意时,删除
--test
并重新运行它以实际修改 ACL。