Ответ
Чтобы изменить владельца (owner) и/или группу (group) директории в Linux, используется команда chown (change owner).
Базовый синтаксис:
chown [опции] новый_владелец[:новая_группа] путь_к_директории
Ключевые опции:
-R– рекурсивное изменение для всех файлов и поддиректорий внутри.--from=текущий_владелец:текущая_группа– изменить права только у объектов с определёнными текущими владельцем и группой.
Практические примеры:
- Сменить владельца директории на пользователя
appuser:sudo chown appuser /var/www/myapp - Сменить владельца и группу одновременно:
sudo chown appuser:appgroup /var/www/myapp - Рекурсивно сменить владельца для всей директории и её содержимого:
sudo chown -R appuser:appgroup /var/www/myapp - Сменить только группу (используя
chgrpилиchown):sudo chown :appgroup /var/www/myapp # Или sudo chgrp appgroup /var/www/myapp
Важные замечания:
- Для смены владельца обычно требуются права суперпользователя (
sudo). - Перед изменением проверьте текущие права с помощью
ls -ld:ls -ld /var/www/myapp # drwxr-xr-x 5 root root 4096 ... /var/www/myapp - Некорректное изменение владельца системных директорий может нарушить работу ОС или приложений.
Ответ 18+ 🔞
Э, слушай, а вот эта ваша команда chown — это вообще пиздец как удобно, когда нужно кому-то права на папку отдать. Представь, ты поставил какой-нибудь сервис, а он, манда с ушами, работать не хочет, потому что файлы принадлежат руту, а запускается от appuser. Вот тут-то она и пригодится.
Как этим пользоваться, блядь:
chown [опции] новый_владелец[:новая_группа] путь_к_директории
Что там за опции полезные:
-R– это вообще волшебная штука. Она рекурсивно всё проебёт внутри папки, все подпапки и файлы. Без неё поменяется только сама директория, а внутри всё останется как было — доверия ебать ноль к такому результату.--from=...– хитрая жопа. Меняет права только у того, что сейчас принадлежит указанному владельцу. Удобно, если в куче файлов накосячили и нужно поправить только свои косяки.
Ну и примеры, чтобы совсем понятно было:
-
Просто отдать папку
myappюзеруappuser:sudo chown appuser /var/www/myappБез
sudoтут, скорее всего, не выйдет, если ты не рут. Система тебе сразу: «чё ты себе позволяешь, полупидор?». -
Владельца и группу поменять разом — красота:
sudo chown appuser:appgroup /var/www/myappДвоеточие — это магия. Слева владелец, справа группа.
-
А вот это уже серьёзно — залезть внутрь и всё переделать:
sudo chown -R appuser:appgroup /var/www/myappЭто
-R— овердохуища важная опция. Запустишь без неё — будешь потом чесать репу, почему скрипты внутри папки не работают. -
Если нужно поменять только группу (владелец пусть остаётся):
sudo chown :appgroup /var/www/myapp # Или вот так, по-старинке sudo chgrp appgroup /var/www/myappОба варианта рабочие, выбирай какой больше нравится.
А теперь, чувак, самое главное — не наебнись:
sudo— это почти всегда обязательно. Без него система тебя пошлёт нахуй, если ты не в корневой папке.- Сначала посмотри, что там вообще творится. Не тычь команды вслепую.
ls -ld /var/www/myapp # drwxr-xr-x 5 root root 4096 ... /var/www/myappВидишь
root root? Вот это текущий владелец и группа. Послеchownтут будет твойappuser. - И главное — не лезь в системные директории типа
/etc,/binили/usrбез чёткого понимания, зачем. Можешь так систему угробить, что потом только переустанавливать. Это не шутки, ёпта.