chmod (сокращение от change mode) - это команда Linux / Unix, используемая для изменения прав доступа к файлам и каталогам.

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