chmod
: изменить биты режима файла
Использование (восьмеричный режим):
chmod <octal-mode> files...
Использование (символьный режим):
chmod <references><operator><modes> files..
references
является комбинацией букв ugoa
, которые определяют, какой доступ пользователя files
будет изменен:
u
пользователь, которому он принадлежит
g
другие пользователи в file
группе
o
другие пользователи, не входящие в группу файла
a
все пользователи
Если он опущен, он используется по умолчанию для всех пользователей, но umask
изменяются только разрешения, разрешенные пользователем .
operator
это один из персонажей +-=
:
+
добавить указанные биты режима файла к существующим битам режима файла каждого file
-
удаляет указанные биты режима файла в существующие биты режима файла каждого file
=
добавляет указанные биты и удаляет неуказанные биты, за исключением setuid
и setgid
бит для каталогов, если явно не указано.
mode
состоит из комбинации букв rwxXst
, которые указывают, какой бит разрешения должен быть изменен:
r
читать
w
записывать
x
выполнить (или поиск по каталогам)
X
выполнять / искать, только если файл является каталогом или уже имеет бит выполнения, установленный для какого-либо пользователя
s
setuid или setgid (в зависимости от указанного references
)
t
ограниченный флаг удаления или закрепленный бит
В качестве альтернативы, mode
буква может состоять из одной буквы ugo
, и в этом случае режим соответствует разрешениям, предоставленным в настоящее время владельцу ( u
), члену file
группы ( g
) или разрешениям пользователей ни в одной из предыдущих категорий ( o
).
Различные биты chmod
объяснили:
- Контроль доступа (см. Также
setfacl
)
rwx
- права чтения (r), записи (w) и выполнения / пересечения (x).
- Read (r) влияет, если файл может быть прочитан или каталог может быть указан.
- Запись (w) влияет, если файл может быть записан или каталог может быть отредактирован (файлы добавлены, удалены, переименованы).
- Выполнение (x) влияет на возможность запуска файла, использования для сценариев (см.
#!
) И других исполняемых файлов.
- Cross (x) влияет на возможность обхода каталога.
s
и t
- липкий бит (t) и setgid (s) для каталогов
- Заклепка влияет только на каталоги. Предотвратит удаление файлов в каталоге всем, кроме владельца файла и пользователя root.
- бит setgid для каталогов приведет к тому, что в новых файлах и каталогах будет установлена группа для той же группы, а в новых каталогах будет установлен бит setgid (см. также значения по умолчанию в setfacl).
s
- setuid, setgid, для исполняемых файлов.
- Это может плохо повлиять на безопасность, если вы не знаете, что делаете.
- Когда исполняемый файл запущен, и если установлен один из этих битов, то действующий пользователь / группа исполняемого файла станет таковым файла. Таким образом, программа запускается от имени этого пользователя. Посмотрите
setcap
на более современный способ сделать это.
chattr
: изменить атрибуты файла
Использование:
chattr <operator><attribute> files...
operator
является одним из символов +-=
: * +
добавляет выбранные атрибуты к существующим attributes
из files
* -
удаляет выбранные attributes
* =
перезаписывает текущий набор атрибутов, которые файлы имеют с указанными attributes
.
attribute
является комбинацией букв acdeijstuADST
, которые соответствуют атрибутам:
a
добавить только
c
сжатый
d
нет свалки
e
формат экстента
i
неизменный
j
журналирование данных
s
безопасное удаление
t
без слияния хвостов
u
неудаляемости
A
нет atime
обновлений
D
синхронные обновления каталогов
S
синхронные обновления
T
вершина иерархии каталогов
Использование (установить атрибут):
setfattr -n <name> -v <value> files...
Использование (удалить):
setfattr -x <name> files...
name
Имя расширенного атрибута для установки или удаления
value
это новое значение расширенного атрибута
setfacl
: изменить списки контроля доступа к файлам
Использование:
setfacl <option> [default:][<target>:][<param>][:<perms>] files...
option
должен включать одно из следующего:
--set
установить ACL для файла или каталога, заменив предыдущий ACL
-m
| --modify
изменить ACL файла или каталога
-x
| --remove
удалить записи ACL из файла или каталога
target
это одна из букв ugmo
(или более длинная форма, показанная ниже):
u
, users
разрешение именованного пользователя, идентифицированного пользователем param
, по умолчанию указывается владелец файла, uid
если он опущен
g
, group
разрешение именованной группы, идентифицируемой по param
умолчанию, группе-владельцу, uid
если опущено
m
, mask
Эффективные права маски
o
, other
разрешения других
perms
это комбинация букв rwxX
, которые соответствуют разрешениям:
r
читать
w
записывать
x
выполнять
X
выполнять только если файл является каталогом или уже имеет разрешение на выполнение для какого-либо пользователя
В качестве альтернативы, perms
может быть восьмеричная цифра ( 0
- 7
), обозначающая набор разрешений.
Использование:
setcap <capability-clause> file
A capability-clause
состоит из разделенного запятыми списка имен возможностей, за которым следует список пар флаг-оператор.
Доступные операторы =
, +
и -
. Доступные флаги e
, i
и p
которые соответствуют Действуют , наследуемые и Разрешенные наборами возможностей.
=
Оператор поднимет указанные наборы возможностей и сбросить другие. Если вместе с =
оператором не указаны флаги, все наборы возможностей будут сброшены. +
И -
операторы будут повышать или понижать один или более указанных наборы возможностей соответственно.
Использование:
chcon [-u <user>] [-r <role>] [-t <type>] files...
пользователь - это пользователь SELinux, например user_u
, system_u
или root
.
роль - это роль SELinux (всегда object_r
для файлов)
тип - это тип субъекта SELinux
chsmack
: изменить SMACK расширенные атрибуты
Использование:
chsmack -a <value> file
value
метка SMACK, которая будет установлена для SMACK64
расширенного атрибута файла
setrichacl : изменить расширенный список контроля доступа.
richacl - это функция, которая добавляет более продвинутые списки ACL.
В настоящее время ведутся работы, поэтому я не могу вам о них много рассказать. Я не использовал их.
См. Также этот вопрос. Существуют ли более продвинутые списки ACL для файловых систем, помимо традиционных rwx и POSIX ACL?
и справочная страница
chmod