如何递归设置只读权限?

如何递归设置只读权限?

我有一个非常大且很深的目录。我想将其全部设为只读。问题是我想我必须区分文件(将获得a=r)和目录(将获得a=rx)。

我怎样才能做到这一点?

答案1

我刚刚发现这个:chmod a=rX它解决了我的问题。来自 man: (X) execute/search only if the file is a directory or already has execute permission for some user

答案2

  1. chmod接受模式X,仅设置x目录。a=X

  2. 您也可以删除写权限:a-w

答案3

上述建议对我不起作用,所有文件夹都设置为只读。
一位同事给了我这个,很管用:

find . -type f -exec chmod a-w {} \;

答案4

find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)

相关内容