Изменение прав доступа только к папкам, а не к файлам в Linux - PullRequest
2 голосов
/ 27 октября 2011

Я пытаюсь изменить разрешение папки для каждой папки на моем сайте, но не для файлов.

Я могу перечислить их, выполнив ls -l | egrep '^d', но есть ли способ сделать это:

chmod 751 | egrep '^d', я получаю сообщение об ошибке, так как chmod ожидает 3 параметра, но я не уверен, как дать ему результаты из egrep.

Я пытался обмануть, используя chmod 751 -R *.*, но у меня есть несколькопапки с «.»в имени, чтобы это не сработало.

Ответы [ 2 ]

11 голосов
/ 27 октября 2011

Я думаю, это должно работать:

find . -type d -exec chmod 751 {} \;
0 голосов
/ 27 октября 2011

Если у вас есть способ перечисления нужных элементов для изменения, вы всегда можете заключить его в $() (или обратные метки), чтобы этот бит выполнялся первым и располагался как параметры, например:

chmod 751 $(ls -l | egrep '^d')
...