chmod (короткий для режима изменения) является командой 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
с делают 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