UserAdd

Смена прав, владельца на файлы и каталоги, массовая смена прав

Как сменить права, владельца на файлы и каталоги, массовая смена прав.

1. $ man find (для общего развития)
2. $ find /dir -type f -exec chmod 644 {} \; (смена прав доступа на все файлы в директории /dir и нижележащих)
3. $ find /dir -type d -exec chmod 755 {} \; (смена прав доступа на все директории в /dir и нижележащих)


команды chmod и chown
Думаю многие сталкивались с проблемой, когда необходимо было изменить пользователя/группу для папок/файлов. Самый доступный способ-это поковыряться в меню mc (midnight commander), но что делать, когда нужно сменить права и пользователя не для папки и подпапок. Вручную решать данную проблему не самый лучший вариант. Наверняка многие слышали либо мельком видели такие команды chmod и chown, некоторым наверняка даже приходилось пользоваться командами.Честно признаться сам долгое время старался всячески избегать данных команд, т.к копаться в манах не было ни малейшего желания. Однако, в итоге был вынужден использовать данные команды. В общем сразу к делу.

Изменение прав доступа:

chmod - изменяет права доступа к файлу (собственно из man-а)

Данная команда имеет различные опции: 'rwxXstugo'

r -чтение;
w -запись;
x -выполнение (или доступ к каталогу);
X -выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя;
s -setuid- или setgid-биты;
t -sticky-бит;
u -установка для остальных таких же прав доступа, которые имеет пользователь, владеющий этим файлом;
g -установка для остальных таких же прав доступа, которые имеет группа файла;
o -установка для остальных таких же прав доступа, которые имеют остальные пользователи (не входящие в группу файла).

Т.е, предположим, что у нас есть "Папка_А", которую нам надо сделать доступной для чтения/записи и выполнения (доступа к каталогу).
От рута (супер пользователя) вводим в консоли команду:

# chmod =rwx путь_к_папке/ Папка_А


Кстати говоря, перед опциями могут стоять следующие операторы: '=' (равно),' - ' (минус) ,' + ' (плюс)

Оператор `+' добавляет выбранные права доступа к уже имеющимся у
каждого файла;
`-' удаляет эти права;
`=' присваивает только эти права каждому указанному файлу.

А что делать, если надо поменять права не только на "Папка_А", но и на вложенные в нее папки? Все очень просто добавляем опцию рекурсивного изменения прав доступа -R :

# chmod =rwx -R путь_к_папке/ Папка_А


О дополнительных возможностях chmod читаем, набрав

man chmod


2) изменение владельца/группы:

chown - изменить владельца и группу файлов


chown также имеет большое количество параметров. (Подробнее читаем в мане: man chown). Углубляться сильно во все параметры не буду, рассмотрю лишь основные.

Допустим есть "Папка_А" и нам надо сменить владельца и группы данной папки на pupkin. От рута (супер пользователя) делаем следующее:

chown -R pupkin:pupkin


здесь мы опять видим параметр рекурсивного изменения -R, только в этом случаю уже пользователя и группы.

pupkin:pupkin - означает пользователь:группа

Ну вот вроде бы и все.. Как оказалось ничего сложного нету.