Команда 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 = —

Примеры использования

  1. Сделать скрипт исполняемым только для владельца:

    chmod u+x скрипт.sh
    
  2. Установить права 755:

    chmod 755 скрипт.sh
    
  3. Установить только права на чтение для всех:

    chmod a=r документ.txt
    
  4. Удалить права на запись для группы:

    chmod g-w файл.txt
    

Советы

  • Используйте ls -l для проверки текущих прав.

  • Символьный способ читается легче, но числовой — короче и точнее.

Note

Только владелец файла или root может менять права с помощью chmod.

Warning

Будьте осторожны с правами 777 — это полный доступ для всех и может быть небезопасно.