以递归方式修复一个目录的多个用户权限

以递归方式修复一个目录的多个用户权限

我想创建一个特定文件夹的 ZIP 存档,它主要包含多年来收集的从各种来源复制的照片。不幸的是,权限混乱。ls我看到类似

----------@

-r--r--r--@

最后一个在 Finder 中显示有重复的用户和组条目。当我尝试压缩文件夹时,具有这些权限的文件会出现错误。

我正在寻找一个终端命令,将文件夹内的所有文件重置为

-r--r--r--

或目录

drwxr-xr-x

谢谢。

答案1

我不完全清楚到底出了什么问题,但你应该能够用三个命令来规范权限:

sudo chown -R hhrutz:staff /path/to/folder

这会将文件夹所有内容的所有者设置为 hhrutz,并将组设置为 staff。请注意,这需要管理员权限,您必须输入管理员密码进行确认。

chmod -R u=rwX,go=rX /path/to/folder

这会将文件权限设置为“-rw-r--r--”,并将目录权限设置为“drwxr-xr-x”(“X”选项表示在适当的情况下添加执行权限)。

好的,现在 posix 权限已全部清除,但 OS X 有两种类型的文件权限:posix(“-rw-r--r--@ 1 hhrutz 757317411”部分)和访问控制列表(“0: user:hhrutz allow ...”)部分,而 ACL 部分仍然很乱。要清除它,请使用:

chmod -R -N /path/to/folder

这只会从文件和文件夹中删除所有 ACL。

答案2

假设您仍然有权更改文件权限,则可以使用标志-Rchmod递归方式更改文件权限。例如,要将文件夹中的所有权限更改\Users\Test\Desktop\PATH为每个人都可以读取、写入和执行,我们可以使用:

chmod -R 777 /Users/Test/Desktop/PATH

“777” 表示所有用户均可读取、写入和执行。要将权限更改为其他权限,请阅读有关八进制/数字文件系统权限表示法的信息(如果您不熟悉它),网址为https://en.wikipedia.org/wiki/File_system_permissions#Numeric_notation

答案3

一个相当愚蠢的解决方案是cp -r复制文件夹,这样可以清除所有错误的用户。然后,您需要找到没有权限的文件并调用chmod a+r它们。


编辑:好的,下面显示所有用户:

$ ls -le interplay_l8.jpg 
-rw-r--r--@ 1 hhrutz  757317411  283266  7 Feb  2011 interplay_l8.jpg
 0: user:hhrutz allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 1: group:everyone allow read,readattr,readextattr,readsecurity
 2: user:hhrutz allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 3: group:everyone allow read,readattr,readextattr,readsecurity

这是我这样做之后的chmod u+rw。使用n标志以数字方式显示用户:

$ ls -len interplay_l8.jpg 
-rw-r--r--@ 1 1622704362  757317411  283266  7 Feb  2011 interplay_l8.jpg
 0: 60B880EA-8F35-47F9-B64B-5384CBA15697 allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 1: ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C allow read,readattr,readextattr,readsecurity
 2: 60B880EA-8F35-47F9-B64B-5384CBA15697 allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
 3: ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C allow read,readattr,readextattr,readsecurity

因此,同一个用户有多个条目......

相关内容