Как я могу скопировать права пользователя / владельца файла в разрешения группы?
Например, если разрешения 755, я хочу, чтобы они стали 775.
Уточнение: 755 -> 775 123 -> 113 abc -> aac
Бонус, если я могу сделать это рекурсивно для всех файлов в каталоге.
(То есть для каждого файла права владельца копируются в разрешения группы. Каждый файл может иметь разные разрешения.)
Ответы:
Вы можете использовать,
g=u
чтобы сделать групповые привилегии такими же, как пользовательскиеи рекурсивно
или для некоторых файлов
CHMOD страница руководства является вашим другом.
источник
g=u
трюк только что спас мне часы утомительного управления. Там идет +1 ;-)chmod -R ag=u ${path_to_directory}
Как уже говорили, изменение прав доступа к файлам может быть опасным. С великой силой приходит великая ответственность и все эти шизы. Это мой ответ:
файл / usr / bin / otog:
Пример использования:
Использует stat для получения числовых разрешений, использует chmod для изменения разрешений.
PS: Пожалуйста, посмотрите ответ Iain для лучшего способа сделать это!
источник
chmod
это далеко не очень опасная команда. По сравнению сrm
, я имею в виду,rsync --delete
или с некоторыми другими.Прежде всего, вам нужно перечислить свое право.
чтобы перевести результат в числовое разрешение, используйте это: R = 4, W = 2, X = 1.
Таким образом, для этого 2 файла разрешение составляет 755.
Получив право, вы должны использовать команду chmod, чтобы изменить то, что вы хотите:
Эта команда изменит только право на каталог, но не на файл внутри.
Если вы тоже хотите изменить право внутри, выполните эту команду:
-FR заставит рекурсивность. (используйте его, только если вы уверены в праве, которое хотите применить, и в файле внутри каталога.)
Если вы хотите изменить только права на file1, то:
И это так, как печенье крошится!
/! \ Будьте осторожны, неправильное использование этой команды может уничтожить все разрешения вашей ОС и привести к ее неправильной работе. /! \
ps: посмотрите там, чтобы узнать больше информации о chmod.
Надеюсь, что это поможет вам.
источник