Команда chmod изменяет биты режима файлов и каталогов. Обычно это может сделать только владелец файла или процесс с необходимыми привилегиями. Проверяйте текущий режим через ls -l до и после запуска chmod.
Разрешения · Урок 2
Изменение прав
Узнайте, как изменять биты прав Linux с помощью символических и восьмеричных режимов chmod.
Символический режим
Символический режим указывает, какой класс прав изменить, каким образом и какие права затрагиваются.
uвыбирает класс владельца.gвыбирает класс группы.oвыбирает класс остальных.aвыбирает все три класса.+добавляет права,-удаляет их, а=точно задаёт выбранный класс.
Например, добавьте право выполнения владельцу:
$ chmod u+x myfile
Удалите право записи у группы:
$ chmod g-w myfile
Добавьте право записи владельцу и группе:
$ chmod ug+w myfile
Несколько выражений можно разделять запятыми. Следующая команда задаёт владельцу чтение и запись, группе — только чтение, а остальным не предоставляет прав:
$ chmod u=rw,g=r,o= myfile
Если класс опущен, как в chmod +x myfile, маска процесса umask влияет на изменяемые классы. Явное указание класса облегчает проверку требуемого результата.
Какой символический режим удаляет у группы право записи, не меняя остальные биты группы?
Восьмеричный режим
Восьмеричный режим задаёт каждую основную тройку прав одной цифрой. Складывайте следующие значения внутри каждого класса:
4для чтения2для записи1для выполнения0при отсутствии прав
Три крайние правые цифры обозначают владельца, группу и остальных именно в таком порядке. Например:
$ chmod 755 myfile
Режим 755 раскрывается следующим образом:
- Для владельца
7равно4 + 2 + 1, то естьrwx. - Для группы
5равно4 + 1, то естьr-x. - Для остальных
5равно4 + 1, то естьr-x.
В отличие от символических операций + и -, восьмеричный режим задаёт полный набор обычных прав. Необязательная начальная цифра специальных битов режима рассматривается в последующем уроке.
Какое восьмеричное значение обозначает право чтения?
Какие обычные права задаёт chmod 640 report?
Безопасное применение изменений
Предоставляйте только тот доступ, который действительно нужен пользователям и службам. Не используйте chmod 777 как универсальный способ устранения неполадок: он даёт чтение, запись и выполнение каждому классу, часто повышая риск и не решая проблем владельца, прохода по каталогам, ACL или политики службы.
Рекурсивные изменения требуют особой осторожности. Предварительно просмотрите целевое дерево, учтите символические ссылки и подключённые файловые системы и протестируйте небольшой участок до использования chmod -R. После изменения проверьте результирующий режим, а не предполагайте, что команда затронула требуемые объекты.
Почему chmod 777 обычно является плохим универсальным решением проблемы доступа?
Для практики в изолированной среде используйте лабораторию Пользователи, группы и права файлов Linux и проверяйте каждый режим до и после изменения.
Урок завершён
Вы завершили Изменение прав
Теперь вы можете осознанно изменять обычные биты режима Linux выражениями chmod.
Используйте символический режим для точечных добавлений, удалений и назначений.
Составляйте восьмеричные цифры из чтения
4, записи2и выполнения1.Читайте восьмеричные классы в порядке владелец, группа, остальные.
Проверяйте изменения и предоставляйте только минимально необходимые права.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт