我有一个名为“电影”的文件夹,它的子文件夹名为“Movie1”、“Movie2”等,然后是该子目录中的电影。例子如下:
Movies:
Movie1
film.whatever1
Movie2
film.whatever1
Movie3
film.whatever1
Movie4
film.whatever1
Movie5
film.whatever1
我希望目录的权限为755,这样任何人都可以导航到Movie1-5文件夹(这是755而不是744的唯一原因,因为执行位是改变为目录所必需的)。但我要所有的文件,不管是1-5个文件都是只读的。我一辈子都想不出这是可能的。
我尝试使用setfacl命令和大写X一起完成此操作,如下所示:
setfacl -R -d -m u::rwx Movies
setfacl -R -d -m g::r-X Movies
setfacl -R -d -m o::r-X Movies
setfacl -R -m u::rwx Movies
setfacl -R -m g::r-X Movies
setfacl -R -m o::r-X Movies
结果是,它将文件夹和文件都更改为可执行文件。这是我需要解决的一个非常烦人的问题。
发布于 2019-02-03 08:31:59
可以使用find
在常规文件和目录上运行不同的命令,方法是使用-type
选项对它们进行筛选。这在./Movies
内部的所有东西上都递归地运行:
# all directories become 755 (rwx r-x r-x):
find ./Movies -type d -exec chmod 755 '{}' \;
# all files become 644 (rw- r-- r--):
find ./Movies -type f -exec chmod 644 '{}' \;
https://askubuntu.com/questions/1115288
复制