如何在 Mac OS X 中递归更改文件夹的共享/权限

pur*_*uri 66 permissions macos

是否有任何 Mac OS X 工具或脚本允许我递归更改文件夹中文件和子文件夹的共享/权限属性?例如,让每个人或特定用户都可以读写、只读或只写。

Hai*_* Vu 88

试试 chmod 命令。例如,如果您有一个目录名称 mydir,则以下命令将递归地启用该 mydir 的读/写。

$ chmod -R +rw mydir
Run Code Online (Sandbox Code Playgroud)

想要查询更多的信息:

$ man chmod
Run Code Online (Sandbox Code Playgroud)

  • 好的答案,坏的例子。在添加对文件夹的读取和/或写入访问权限时,您还需要添加执行(“x”,又名搜索)访问权限,否则 r/w 有点无用。另一方面,您通常不希望将执行添加到文件中。进行递归更改时,您正在对文件和文件夹的混合进行操作。答案是使用 chmod 的“智能执行”(大写 X)功能:`chmod -R +rwX mydir` 只会在有意义的时候添加执行。 (21认同)

小智 36

选择您要使用的根文件夹并打开检查器(CMD-i 或右键单击并“显示信息”)。底部面板是您可以管理权限的地方。

在那里的列表中添加和删除权限。要将相同的权限递归地应用于每个子文件夹,请单击齿轮并选择“应用于封闭项目...”

注意:我注意到当窗口右下角的小锁图标被锁定时,“应用于封闭项目...”是灰色的。如果是这种情况,只需通过输入您的凭据单击锁以将其解锁,然后使用“应用于封闭项目...”重试。


Jos*_*unt 12

您想使用chmodchown命令。

如果我没记错的话,您可以像这样更改权限:

chmod -R +a "joshhunt allow read" /some/file/or/folder/
chmod -R +a "Guest deny read" /some/other/folder/
chmod -R +a "Guest deny write" /some/other/folder/
Run Code Online (Sandbox Code Playgroud)

有关这些命令的更多详细信息,请在终端中查找它们各自的手册页:

man chmod
man chown
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用 OSX 界面:

\n
    \n
  1. 选择您的目录
  2. \n
  3. 右键单击 -> 获取信息 -> 共享和权限
  4. \n
  5. 添加您的用户
  6. \n
  7. 设置你想要的权限(例如读和写)
  8. \n
  9. \xd0\xa1lick 加号图标附近的三个点(添加用户)
  10. \n
  11. 选择“应用于随附的项目...”
  12. \n
  13. 确认在此处输入图像描述
  14. \n
\n