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 выполнять / искать, только если файл является каталогом или уже имеет бит выполнения, установленный для какого-либо пользователя
ssetuid или 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