Описание тега chmod
Chmod принимает любую удобочитаемую запись восьмеричной побитовой маски. Побитовая маска часто состоит из трех цифр, определяющих (слева направо) права доступа для мира, группы и владельца файла. Биты (слева направо) читаются, записываются и выполняются. Например,
chmod 740 x.sh
делает x.sh видимым, редактируемым и исполняемым для текущего владельца. Группа может просматривать, но не может изменять или выполнять, и мир не имеет доступа. Это можно проверить с помощьюls -lx.sh
:
-rw-r--r-- 1 me 11 2013-01-25 09:53 x.sh
Флаги разрешений также могут быть указаны в виде букв (r - чтение, w - запись, x - выполнение) с использованием знака + или - для их включения или выключения для всех пользователей. Например
chmod +r-x x.sh
с make x.sh читаемым для возможных пользователей, но больше не исполняемым даже для владельца. Разрешение на запись, которое не было упомянуто в команде, не будет отозвано владельцем:
-rw-r--r-- 1 me 11 2013-01-25 09:53 x.sh
Chmod также принимает четвертую (фактически первую) цифру, которая устанавливает (слева направо)setUID
, setGUI
а также sticky
флаги. Если не указано, предполагается 0 (таких флагов нет).
Если параметр chmod меньше 3 цифр, права первого владельца, а затем группы считаются равными нулю. В следующем примере задаются (возможно, неожиданным образом) полные разрешения для мира и нет разрешений для пользователя или группы:
chmod 7 x.sh
cat x.sh
cat: x.sh: Permission denied