Команда `chmod` и `chown` в Linux
Описание
chmod
(change mode) — команда для изменения прав доступа к файлам и каталогам в Linux.
chown
(change owner) — команда для изменения владельца и группы файла или каталога.
Синтаксис
chmod
chmod [опции] режим файл
режим
— права доступа (цифровой или символьный формат).файл
— целевой файл или каталог.
chown
chown [опции] пользователь[:группа] файл
пользователь
— новый владелец файла.группа
(необязательно) — новая группа файла.файл
— целевой файл или каталог.
Форматы задания прав
chmod
— Цифровой (восьмеричный) формат
Каждому типу прав соответствует число:
4
— чтение (r)2
— запись (w)1
— выполнение (x)
Пример:
chmod 755 myfile
Означает:
- Владелец:
rwx
(7 = 4+2+1) - Группа:
r-x
(5 = 4+1) - Остальные:
r-x
(5 = 4+1)
chmod
— Символьный формат
Формат:
chmod [категория][действие][права] файл
Где:
категория
:u
(владелец),g
(группа),o
(остальные),a
(все).действие
:+
(добавить),-
(убрать),=
(установить).права
:r
(чтение),w
(запись),x
(выполнение).
Пример:
chmod u+x myscript.sh
Добавляет владельцу право на выполнение.
chown
— Изменение владельца
Изменение владельца файла:
chown user myfile
Изменение владельца и группы:
chown user:group myfile
Изменение владельца каталога и его содержимого рекурсивно:
chown -R user:group my_directory
Распространенные примеры
chmod
- Разрешить всем пользователям выполнение:
chmod +x script.sh
- Установить полные права для владельца и запретить остальным:
chmod 700 private_file
- Дать группе права на запись:
chmod g+w shared_folder
- Установить точные права для всех:
chmod u=rwx,g=rx,o=rx public_file
chown
- Изменить владельца файла:
chown alice myfile
- Изменить владельца и группу каталога рекурсивно:
chown -R alice:developers my_directory
Изменение прав рекурсивно
chmod
Для применения к каталогу и его содержимому используйте -R
:
chmod -R 755 my_directory
Полезные опции
chmod -v
— подробный вывод изменений.chmod -c
— выводить только измененные файлы.chmod --reference=файл
— применить права, как у указанного файла.chown --from=olduser newuser файл
— изменить владельца только если старый владелец совпадает.chown --reference=файл файл2
— назначить владельца и группу аналогично указанному файлу.
Заключение
Команды chmod
и chown
позволяют эффективно управлять доступом к файлам и каталогам, используя цифровой или символьный формат.