9.2. Настройка разрешений в числовом формате chmod

Проблема
Требуется контролировать доступ к файлу. Допустим, вы хотите удержать сек ретный рецепт соуса подальше от посторонних, или у вас имеется конфиденци альная информация, нуждающаяся в защите. А может (что более вероятно), по требовалось разрешить исполнение некоторого файла. В любом случае потребуется
задать разрешения для файлов, но сначала нужно разобраться, как вычисляются
числовые коды разрешений.
Решение
Воспользуйтесь командой chmod (CHange MODe). Смена разрешений может вы полняться только суперпользователем (root) и владельцем файла.
Например, следующая команда предоставляет владельцу файла доступ для чте ния и записи к файлу /archive/datafile. Ни один другой пользователь, кроме root,
вообще не сможет обратиться к этому файлу:
$ chmod -v 600 /archive/datafile
mode of '/archive/datafile' changed to 0600 (rw )
В следующем примере владелец файла /shared/list разрешает его чтение всем
желающим, но изменения в файл могут вноситься только владельцем файла и root:
$ chmod -v 644 /shared/list
mode of '/archive/datafile' changed to 0644 (rw-r--r--)
Чтобы сценарий можно было запустить, в атрибутах файла необходимо уста новить бит исполнения. Следующая команда разрешает редактирование сцена рия только пользователю, а чтение и исполнение — всем желающим:
$ chmod 755 /shared/somescript
У каталогов бит исполнения всегда должен быть установлен, иначе они не бу дут работать:
$ chmod 755 /shared
Назначение разрешений каталогу со всем содержимым, включая подкаталоги,
производится с ключом -R. Ключ -v включает режим подробного вывода, чтобы
вы видели, какие действия выполняет команда:
% chmod -R -v 755 /shared
Комментарий
Файловые разрешения вычисляются по табл. 9.2. Просуммируйте нужные значения
для каждого типа пользователей, а затем перечислите их в порядке следования в та блице: владелец, группа, прочие. Специальные биты рассматриваются в разделе 9.7.
Таблица 9.2. Вычисление файловых разрешений
Специальные биты
setuid 4
setuid 2
setuid 1
См. также
info chmod.