Как я могу скопировать права пользователя / владельца файла в разрешения группы?
Например, если права доступа 755, я хочу, чтобы они стали 775.
Разъяснение: 755 -> 775 123 -> 113 abc -> aac
Бонус, если я могу сделать это рекурсивно для всех файлов в каталоге.
(То есть для каждого файла права владельца копируются в разрешения группы. У каждого файла могут быть разные разрешения.)
ты можешь использовать g=u
сделать групповые завивки такими же, как и пользовательские завивки
ls -l file
-rw------- 1 user users 0 Jun 27 13:47 file
chmod g=u file
ls -l file
-rw-rw---- 1 user users 0 Jun 27 13:47 file
и рекурсивно
chmod -R g=u *
или для некоторых файлов
find /patch/to/change/perms -name '*.txt' -exec chmod g=u {} +
в chmod man-страница твой друг.
Как говорят, изменение разрешений на файлы может быть опасным. С большой властью приходит большая ответственность и все такое. Это мой ответ:
файл / usr / bin / otog:
#!/bin/sh
f=$1
p=`stat -c "%a" $f`
chmod ${p:0:1}${p:0:1}${p:2:1} $f
Пример использования:
find . -exec otog {} \;
Использует стат чтобы получить числовые разрешения, использует chmod для изменения разрешений.
PS: Пожалуйста, посмотрите ответ Иэна, чтобы узнать, как это лучше сделать!
В первую очередь нужно указать свои права.
ls -l /your_directory/
-rwxr-xr-x 1 57 Jul 3 10:13 file1
-rwxr-xr-x 1 57 Jul 3 10:13 file2
чтобы перевести результат в числовое разрешение, используйте это: R = 4, W = 2, X = 1.
Итак, для этого 2 файла разрешение 755.
Получив право, вы должны использовать команду chmod, чтобы изменить его так, как вы хотите:
chmod 775 /your_directory/
Эта команда изменит только право на каталог, но не на файл внутри.
Если вы хотите также изменить правую часть внутри, выполните эту команду:
chmod 775 /your_directory/ -fR
-FR вызовет рекурсивность. (используйте его, только если вы уверены в праве, которое хотите применить, и в файле внутри каталога.)
Если вы хотите изменить только право на file1, тогда:
chmod 775 /your_directory/file1
И так крошится печенье!
/! \ Будьте осторожны, неправильное использование этой команды может уничтожить все разрешения вашей ОС и привести к ее неправильной работе. /! \
пс: посмотрите там чтобы узнать больше о chmod.
Надеюсь, что это поможет вам.