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