Изменение прав доступа к файлам
Изменение прав доступа к файлам в Unix-подобных операционных системах, таких как Linux и macOS, осуществляется с помощью команды chmod
. Эта команда позволяет изменять права доступа для владельца файла, группы и всех остальных пользователей.
Понимание прав доступа
Каждый файл или директория имеет три набора прав:
Владелец (user,
u
): владелец файла.Группа (group,
g
): пользователи, принадлежащие той же группе, что и файл.Остальные (others,
o
): все остальные пользователи.
Каждый набор прав состоит из трех компонентов:
Чтение (read,
r
): разрешение на чтение файла.Запись (write,
w
): разрешение на изменение или удаление файла.Исполнение (execute,
x
): разрешение на выполнение файла (для скриптов и исполняемых файлов) или переход по директории.
Символьная форма команды chmod
chmod
Вы можете использовать символы для задания прав:
r
— чтениеw
— записьx
— исполнение+
— добавление права-
— удаление права=
— установка точных прав
Пример: установить права на чтение, запись и исполнение для владельца файла, на чтение и исполнение для группы, и на чтение для остальных:
Чтобы добавить право на исполнение для всех:
Числовая форма команды chmod
chmod
Права доступа также можно задать с помощью числовых значений. В числовой системе:
4
соответствует праву чтения (r),2
— праву записи (w),1
— праву исполнения (x).
Эти значения складываются для получения нужных прав:
7
(4 + 2 + 1) = чтение, запись и исполнение (rwx),6
(4 + 2) = чтение и запись (rw-),5
(4 + 1) = чтение и исполнение (r-x),4
= чтение (r--).
Пример: установить права rwx
для владельца, rx
для группы и r
для остальных:
Изменение прав доступа к директориям
При изменении прав для директорий важно учитывать, что право на исполнение (x
) для директории означает возможность перехода в неё (команда cd
). Например:
Это установит права rwx
для владельца и rx
для группы и остальных, что является типичным для директорий.
Рекурсивное изменение прав
Если вам нужно изменить права доступа ко всем файлам и поддиректориям внутри директории, используйте флаг -R
:
Этот флаг рекурсивно изменит права доступа для всех файлов и поддиректорий внутри указанной директории.
Проверка прав доступа
Чтобы проверить текущие права доступа к файлу или директории, используйте команду ls -l
:
Вывод покажет текущие права доступа в виде строки символов, например: -rwxr-xr--
.
Теперь вы знаете, как изменять права доступа к файлам и директориям с помощью команды chmod
, используя как символьную, так и числовую форму.
Last updated