Управление основными разрешениями:
Разрешения файла / каталога Linux можно разбить на 3 столбца, каждый из которых имеет по три разрешения (r ead, w rite и e x ecute), сгруппированные по трем типам (u sers, g группы и o их)
В начале также есть дополнительный столбец, в котором можно указать, является ли это каталогом d или l чернилами.
Вот пример вывода команды ls -l:
Давайте разберемся, чтобы лучше понять:
Важно помнить, что эти три разрешения различаются при применении к файлам или каталогам.
Вы используете команду chmod, которую можно использовать для установки разрешений (r ead, w rite и e x ecute) для пользователя (u), группы (g) и других (o). Для справки показано несколько примеров:
Предоставляет пользователю разрешение на выполнение.
Предоставляет право на чтение пользователю и выполнение для группы.
Отменяет чтение и выполнение пользователем.
Гранты выполняются для пользователя, группы и других.
Разрешения Linux также имеют числовое значение, связанное с каждым из них, что упрощает обращение и управление для каждой роли.
Несколько примеров:
Предоставляет r, x пользователю и r группам и прочим.
Предоставляет r, w, x пользователю, w группе и ничего другим
Приведенная ниже диаграмма Венна дает хорошее представление о числовых значениях для удобства использования.
Рекурсивное разрешение e X извлекать только каталоги, но не файлы:
Если вы помните из начала этой статьи, разрешение на выполнение при установке для каталога заставляет вас входить в него / получать к нему доступ, тогда как установка разрешения на выполнение для файла заставляет его работать как программу или скрипт. Каталог, созданный в файловой системе Linux, по умолчанию имеет права на выполнение, что делает возможным обход каталога.
Однако могут возникать ситуации, когда это может отсутствовать, и вам нужно будет установить разрешение на выполнение для всех папок и их подпапок. Конечно, этого можно добиться с помощью параметра -R (рекурсивный) команды chmod.
Приведенная выше команда устанавливает рекурсивное разрешение на выполнение не только для всех подпапок, но и для всех файлов (потенциально опасная ситуация). Вам нужно только выборочно установить его только для папок, а не для каких-либо файлов.
С X (в верхнем регистре) он гарантирует, что файлы не получат разрешение на выполнение, если файл уже не настроен, что делает его более интеллектуальным способом работы с разрешениями на выполнение.
Вывод:
Надеюсь, этот пост дал некоторое представление о работе с основными правами доступа к файлам и каталогам в Linux. Пожалуйста, дайте мне знать свои мысли (букеты и биты) в разделе комментариев.
Обновление: Вы можете найти часть 2 этой серии, в которой рассказывается о расширенных разрешениях Linux (SUID, SGID и Sticky Bit).