我有一个非常大且很深的目录。我想将其全部设为只读。问题是我想我必须区分文件(将获得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
chmod
接受模式X
,仅设置x
目录。a=X
您也可以删除写权限:
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 {} \; \)