Операционная система Free BSD


Права доступа (permissions) - часть 2


Бит s имеет разный смысл (suid или sgid) в зависимости от того, в какой части permissions он находится. Поэтому, если вы хотите поставить именно suid бит, то "что сделать" должно выглядеть как u+s, а если вам нужен sgid, то - g+s. Sticky бит ставится командой chmod a+t ... .

Как видите, синтаксис этой команды достаточно гибкий (хотя и несколько усложненный). Кроме того, второй аргумент ("что сделать") может состоять из нескольких "действий" перечисленных через запятую.

Например, можно задать команду chmod a=rx,u+w mydir

это будет означать - "для всех категорий права r-x, а для владельца еще и w (право записи)".

Кроме того, команда chmod (точнее - ее первый аргумент) имеет еще одну форму.

Поскольку, все биты доступа это действительно двоичные биты из одной ячейки, "продвинутый" пользователь может указать сразу число (в восьмеричном виде) которое должно получится после изменения прав.

Восьмеричное представление выбрано потому, что при переводе в него двоичного числа, каждая группа из трех бит "сворачивается" в одну цифру. Таким образом, вам надо просто указать три цифры, каждая из которых описывает отдельную категорию юзеров (точнее - права для этой категории). Например, permissions rwxr-xr-x можно представить в восьмеричном виде как 755. И, следовательно, такие права могут быть выставлены командой chmod 755 myfile

Что касается выполнения этой операций над несколькими файлами или "рекурсивного" обхода всех поддиректорий, здесь все так же, как для команд chown, chgrp. В качестве имени файла может быть задан "шаблон", а для обхода всех поддиректорий используйте ключ -R.

И, конечно, обязательно прочтите man chmod.




- Начало -  - Назад -  - Вперед -