Команда chmod в Linux Bash¶
Команда chmod используется для изменения прав доступа к файлам и директориям в Linux.
Основной синтаксис¶
chmod [опции] режим файл
Режим может быть задан в символьной (символы u, g, o, a и +, -, =) или числовой (восьмеричной) форме (например, 755, 644).
Символьный способ¶
chmod u+x файл # добавить права на исполнение для владельца
chmod go-r файл # удалить право на чтение у группы и других
chmod a=r файл # установить права только на чтение для всех
Числовой способ¶
Каждая категория (владелец, группа, другие) кодируется числом:
r (чтение) = 4
w (запись) = 2
x (выполнение) = 1
Примеры:
chmod 755 скрипт.sh # rwxr-xr-x
chmod 644 файл.txt # rw-r--r--
Объяснение чисел:
7 = 4 + 2 + 1 = rwx
6 = 4 + 2 = rw-
5 = 4 + 1 = r-x
4 = r–
0 = —
Примеры использования¶
Сделать скрипт исполняемым только для владельца:
chmod u+x скрипт.sh
Установить права 755:
chmod 755 скрипт.sh
Установить только права на чтение для всех:
chmod a=r документ.txt
Удалить права на запись для группы:
chmod g-w файл.txt
Советы¶
Используйте ls -l для проверки текущих прав.
Символьный способ читается легче, но числовой — короче и точнее.
Note
Только владелец файла или root может менять права с помощью chmod.
Warning
Будьте осторожны с правами 777 — это полный доступ для всех и может быть небезопасно.