Что такое права доступа и структура chmod
Папка в Linux имеет три категории: владелец, группа и остальные. По умолчанию права задаются как «чтение/запись/выполнение», каждая категория получает по три бита. Например, 755 означает:
- 7 (rwx) для владельца;
- 5 (r-x) для группы;
- 5 (r-x) для остальных.
Вводишь ls -ld /путь/к/каталогу — и сразу видишь строку вроде drwxr-xr-x. Буква d обозначает, что это папка. На практике важно понимать, что «выполнение» для каталога означает возможность войти в него, а не запуск программы.
Объяснение цифровой записи
Каждое число — сумма: 4 (чтение) + 2 (запись) + 1 (выполнение). Если нужно запретить запись, ставим 5 вместо 7. Чтобы ограничить доступ всем, кроме владельца, используем 700, а если нужно дать только чтение группе — 740.
На практике такие комбинации позволяют точно настроить доступ: например, папка с логами может быть 750, чтобы админ мог читать и запускать, группа — только читать, остальные — ничего.
Основные команды для смены прав
Используй эти инструменты:
- chmod — для изменения прав. Пример:
chmod -R 755 /srv/www рекурсивно выставит одинаковые права в каталоге, но на практике сначала проверяй содержимое, чтобы не испортить конфигурацию.
- chown — меняет владельца и группу:
chown www-data:www-data /var/www. Без корректного владельца даже правильные права не спасают.
- chgrp — если нужно только сменить группу, не трогая владельца.
- setfacl — для ACL. Например,
setfacl -m u:dev:rwx /opt/app добавит права конкретному пользователю, не меняя стандартных битов.
Часто бывает достаточно одной команды, но лучше сначала посмотреть текущие права, затем применить chmod, а после — убедиться, что владельцы настроены правильно. На практике такая последовательность исключает ошибки и потерю доступа.
Символьный и рекурсивный режимы
Символьные изменения выглядят как chmod g+w /data — добавление записи группе без трогания остальных. Рекурсивно: chmod -R u=rwX,g=rX,o= /data. Обрати внимание, что X добавляет выполнение только там, где оно уже было, что полезно для смешанных каталогов и файлов.
Владение и специальные биты
Кроме rwx существуют три дополнительных бита:
- setuid и setgid — позволяют запускать программу с правами владельца/группы. Для папки используют setgid, чтобы новые файлы наследовали группу:
chmod g+s /shared.
- Sticky bit — предотвращает удаление чужих файлов в общем каталоге:
chmod +t /tmp.
Просмотр битов происходит командой ls -ld, например: drwxr-sr-x значит, что стоит setgid. Это важно для совместной работы команды над одной директорией.
Проверка безопасности и umask
Установленный umask влияет на стандартные права новых файлов. Проверь, сколько он сбрасывает: umask выводит, например, 0022, и тогда файлы создаются с правами 644, директории — 755. Менять umask нужно осторожно и обычно в профиле, например, echo "umask 002" >> ~/.bashrc.
На практике следи за тем, чтобы root не оставался владельцем пользовательских папок без необходимости, и проверяй права после массовых копий — иногда вся структура наследует старую маску.
Критерии выбора курса по управлению командами и системными процессами
Если хочешь прокачать не только техническую часть, но и умение координировать разработки и поддержку сервисов, учитывай:
- фокус на практику — какие задачи разбирают: симуляция инцидентов, работа с командой, решение реальных проблем;
- инструменты — упоминают ли CI/CD, мониторинг, отладку прав доступа;
- поддержка наставника — важна обратная связь, особенно если изучаешь управление сложными системами;
- промежуточный контроль — тесты, кейсы, живые сессии.
Checklist «Как выбрать курс»:
- Сравнить длительность и формат занятий;
- Посмотреть, какие проекты выполняют студенты;
- Убедиться, что есть разбор случаев с Linux-пермишенами и командной работой;
- Проверить наличие диплома или сертификата;
- Рассмотреть возможность консультаций и разбора ошибок.
Сравнение курсов для расширения управления командами и процессами
В обоих курсах SkillBox есть фокус на работе с людьми и проектами, а практический курс от Нетологии помогает выстроить процессы, включая управление доступом к ресурсам и задачами. Сравнивай программы по чек-листу выше, чтобы выбрать именно то направление поддержки систем.
Что делать, если права не меняются
Частые причины:
- ты не владелец и не root — тогда используй
sudo chown или попроси системного администратора;
- файловая система в режиме только для чтения (например, после ошибки) — проверяй вывод команды
mount;
- включены ACL — придется использовать
getfacl и setfacl для настройки дополнительных записей;
- астериск «sticky» или setgid выставлены — посмотри на атрибуты и убери с помощью
chmod g-s или chmod -t.
На практике сначала выясни, кто владелец, затем проведи chmod, и только потом задавай ACL, если нужно тонко контролировать доступ.
Частые вопросы
1. Что делать, чтобы ограничить доступ к папке только для группы?
Идеальное сочетание — назначить владельца, поставить группу и выставить права chmod 750 /папка. Также можно задать ACL: setfacl -m g:dev:rwx /папка.
2. Можно ли изменить права без sudo?
Только если ты владелец каталога. Иначе нужная команда — sudo chmod ... или sudo chown. На практике старайся работать под нужным пользователем, а не постоянно sudo.
3. Как вернуть прежние права?
Если сохранил вывод stat или getfacl, просто повтори аналогичные команды. В противном случае восстанови из бэкапа или установи «жёсткий» режим: chmod 700 /важная_папка.
4. Что означает символ «s» в правах?
Это setuid/setgid. Если видишь drwxr-sr-x, значит setgid работает — новые файлы наследуют группу. Удалить можно chmod g-s.
5. Как защитить папку, если многие работают над проектом?
Собери команду в одну группу, установи права 770 и включи setgid; добавь ACL для конкретных пользователей. Это даёт нужный баланс между доступностью и безопасностью.
Рекомендуемые курсы
Понимание chmod, chown и ACL позволяет на практике решать задачи доступа к критичным каталогам. Если хочешь закрепить навыки и научиться координировать команды при работе с Linux-инфраструктурой, можно посмотреть программу, чтобы выбрать подходящий путь. Такой курс даст не только теорию, но и реальные кейсы.
Также можно подробнее о курсе, если нужно развивать коммуникацию и поддержку участников команды при управлении сервисами. Скажи себе: лучше разобраться с правами сегодня, чтобы избежать блокировок и простоев завтра.