Описание тега chmod
chmod принимает либо человекочитаемую запись восьмеричной восьмеричной маски. Побитовая маска часто имеет три цифры, определяющие (слева направо) разрешения для мира, группы и владельца файла. Биты (слева направо) читаются, записываются и исполняются. Например,
chmod 740 x.sh
делает x.sh видимым, редактируемым и исполняемым для текущего владельца. Группа может просматривать, но не изменять или выполнять, и мир не имеет доступа. Это можно проверить с помощью ls -l x.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