chmod - управление правами доступа.

Символьный способ

Используются следующие обозначения объектов, которым предоставляем права доступа:

  • u - владелец
  • g - группа
  • o - остальные
  • а - все перечисленные

 

Операции управления:

  • - запретить
  • + разрешить
  • = заменить права на указанные

Права меняются с помощью команды chmod [опции] права_доступа файлНапример, файл notes.txt имеет следующие права доступа:

Права доступа файла notes.txt
 

Запретим остальным пользователям редактирование данного файла: 

chmod o-w notes.txt

Установлен только атрибут четния
 

Теперь разрешим группе владельцев исполнение данного файла: 

chmod g+x notes.txt

Установлены атрибуты rwx
 

То есть мы указываем объект (ug или о), а затем с помощью символов управления назначаем или удаляем соответствующие права.

Можно одновременно выполнить вышеуказанные действия в одной команде chmod o-w,g+x notes.txt  и результат будет тот же.

 

А можно одновременно в одной команде выполнить следующее:

  • владельцу назначить rw-
  • группе назначить r-x
  • остальным назначить r-- ?

 

Конечно можно. Для этого существует символ =” : chmod u=rw,g=rx,o=r notes.txt.  

А если нужно всем назначить одинаковые права, например r-x, то воспользуемся chmod a=rx notes.txt:

Установлены атрибуты rx

 

Числовой способ 

Существует и другой способ указать права доступа - с помощью восьмеричного представления. Не будем вдаваться в подробности булевы алгебры и двоично-восьмеричного преобразования. Просто запомним таблицу: 

Символьное представление прав доступа

Числовое представление

r (read)

4

w (write)

2

(execute)

1


 

А вот как используется числовое представление прав доступа: 

Символьное представление

Операция

Цифровое представление

rwx

4 + 2 +1

7

rw-

4 + 2 + 0

6

r--

4 + 0 + 0

4

r-x

4 + 0 + 1

5

-wx

0 + 2 + 1

3

-w-

0 + 2 + 1

2

--x

0 + 0 + 1

1

---

0 + 0 + 0

0

Так как у нас права доступа разделяются на 3 категории (владелец, группа, остальные), то применяется трехзначное обозначение. Например, чтобы абсолютно всем назначить права rwx, то применяется команда chmod 777 notes.txt

Чтобы остальным пользователям разрешить только чтение файла, то есть r--, выполним chmod 774 notes.txt 

Если хотим группе владельцев назначить права r-x, а остальным пользователям вообще все запретить, то выполним chmod 750 notes.txt.

Нет смысла запоминать все комбинации, достаточно запомнить числовое значение каждого символа и сложить все 3 цифры.

Теперь представим такую ситуацию. На сервере имеется общий каталог Shared/, который содержит файлы всех пользователей. Такое явление обычное в компаниях, когда у пользователей недостаточно места на диске и  они используют сетевые ресурсы. Чтобы пользователи могли добавлять и удалять свои файлы установлены все разрешающие права:

Отображение каталога Shared


Комментарии могут оставлять только зарегистрированные пользователи.