Не очень хорошо документированная, но очень полезная функция Gnu chmod
заключается в том, что вы можете использовать символическое разрешение X
вместо x
. x
просто представляет исполняемое разрешение, тогда как X
представляет собой исполняемое разрешение, если (а) целью является каталог или (б) целью является файл и установлен один из исполняемых разрешений.
Это позволяет сделать следующее:
chmod -R u=rwX,go=rX /path/to/directory
, который будет рекурсивно (-R
) установить права доступа всех каталоги и исполняемые файлы для rwxr-xr-x
и разрешение всех обычных файлов в rwxr--r--
(то есть, 0755 и 0644 соответственно).
Другой пример: предположим, что у вас есть проект с исполняемыми файлами, которые в настоящее время доступны только вам. (Таким образом, в настоящее время разрешениями являются rwx------
или rw-------
). Теперь вы хотите, чтобы сделать их читаемыми, с возможностью поиска (для каталогов) и исполняемый файл (для исполняемых файлов) членам группы pundits
:
chgrp -R pundits /path/to/the/project
chmod -R g+rX /path/to/the/project
Теперь каталоги и исполняемые файлы rwxr-x---
и другие файлы rwxr-----
(а также , все группы были изменены на pundits
).
не забудьте принять свой собственный ответ! – OneHoopyFrood
Как это автоматическое? Вы должны запускать это вручную каждый раз, когда хотите это сделать. – Barmar
Да, это руководство, но вам не нужно менять разрешения для каждого руководства по файлу. Вы просто запускаете это comamnds и его нормально. Если вы хотите сделать полную автоматическую, просто сделайте cronjob с этими командами. – Greg