Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Mans FreeBSD по-русски chmod- смена прав доступа

chmod- смена прав доступа

CHMOD(1)

НАЗВАНИЕ
chmod -- смена прав доступа

СИНТАКСИС
chmod [-fhv] [-R [-H | -L | -P]] права файл ...

ОПИСАНИЕ
Утилита chmod изменяет биты прав доступа указанных файлов.
Разрешенные опции:

-f
Не выводить диагностическое сообщение, если chmod не может изменить биты прав доступа файла. -H
Если указана опция -R, символические ссылки разрешенны. По умолчанию запрещено.


-h
смена прав доступа только символической ссылки (а не файла на который она указывает).

-L
Если опция -R указана, все символические ссылки разрещены.

-P
Если опция -R указана, все символические ссылки запрещены.

-R
Рекурсивная смена прав доступа.

-v
Детальный вывод работы chmod.
Если указана опция -R, опции -H, -L, -P игнорируются.Только владелец файла или супер-пользователь могут изменять права доступа.

КОД ЗАВЕРШЕНИЯ
При успешном завершении - 0, при ошибке > 0.
ПРАВА ДОСТУПА
Права доступа указываются в абсолютном или символическом виде. Абсолютный вид - сума восьмеричных значений.
4000
setuid bit. С установленным битом setuid файлы запускаются от имени их владельца.

2000
setgid bit. С установленным битом setgid файлы запускаются от имени их группы владельца.

1000
sticky bit.

0400
Владельцу разрешено чтение.

0200
Владельцу разрешена запись.

0100
Для файла - владельцу разрешенно его запускать, для директории - владельцу разрешенно просматривать содержимое.

0040
Групе разрешено чтение.

0020
Групе разрешена запись.

0010
Для файла - групе разрешенно его запускать, для директории - групе разрешенно просматривать содержимое.

0004
Другим разрешено чтение.

0002
Другим разрешена запись.

0001
Для файла - другим разрешенно его запускать, для директории - другим разрешенно просматривать содержимое.
Пример: владельцу разрешенно чтение, запись, запуск; групе - чтение и запуск; другим - чтение и запуск. Биты setuid и setgid не установленны. 400+200+100+040+010+004+001=755.
Символичекое представление прав:
mode ::= clause [, clause ...]
clause ::= [who ...] [action ...] action
action ::= op [perm ...]
who ::= a | u | g | o
op ::= + | - | =
perm ::= r | s | t | w | x | X | u | g | o
Символы who: u - пользователь, g - групgа, o - другие, a - эквивалентно ugo
Символы perm
 r - чтение.
s - setuid и setgid.
t - sticky бит.
w - запись.
x - исполнение/запуск.
X - исполнение/запуск если это директория.
u - права доступа для владельца в оригинальном файле.
g - права доступа для группы в оригинальном файле.
o - права доступа для других в оригинальном файле.
Символы op
 + добавить
- удалить
= очистить
ПРИМЕРЫ
644
запись только владельцу, остальным чтение
go-w
Запрет на запись группе и другим
=rw,+X
установить бит чтения и записи, сохранить бит на исполнение
go=
очистить все биты для группы и других

СТАНДАРТЫ
команда chmod соответствует стандарту IEEE Std 1003.2 (``POSIX.2''); исключение составляет sticky-бит, который не стандартизирован.

СОВМЕСТИМОСТЬ
опция -v не стандартизирована, и не рекомендуется использовать ее в скриптах.

ИСТОРИЯ
Команда chmod появилась в версии 1 AT&T UNIX