chmod
: зміна бітів режиму файлу
Використання (восьмеричний режим):
chmod <octal-mode> files...
Використання (символічний режим):
chmod <references><operator><modes> files..
references
- це комбінація букв ugoa
, які вказують, яким користувачеві доступ до files
волі буде змінено:
u
користувач, який ним володіє
g
інших користувачів у групі file
's
o
інші користувачі, які не входять до групи файлів
a
всі користувачі
Якщо цей пункт пропущено, він використовується за замовчуванням для всіх користувачів, але umask
змінюються лише дозволи, дозволені
operator
є одним із персонажів +-=
:
+
додати вказані біти режиму файлу до існуючих бітів режиму файлів кожного file
-
видаляє вказані біти режиму файлів до існуючих бітів режиму файлів кожного file
=
додає вказані біти і видаляє не визначені біти, за винятком setuid
і setgid
бітів, встановлених для каталогів, якщо явно не вказано.
mode
складається з комбінації букв rwxXst
, які вказують, який біт дозволу потрібно змінити:
r
читати
w
писати
x
виконання (або пошук каталогів)
X
виконати / шукати лише в тому випадку, якщо файл є каталогом або вже встановлений біт виконання для якогось користувача
s
setuid або setgid (залежно від зазначеного references
)
t
прапор обмеженого видалення або клейкий біт
Альтернативно, mode
баночка може складатися з одного з літер ugo
, і в цьому випадку режим відповідає дозволам, наданим власникам ( u
), членам групи file
's ( g
) або дозволам користувачів у жодній з попередніх категорій ( o
).
Різні шматочки chmod
пояснюються:
- Контроль доступу (див. Також
setfacl
)
rwx
- читати (r), write (w), а також виконувати / перетинати (x) дозволи.
- Прочитання (r) впливає на те, чи можна прочитати файл або чи можна вказати каталог.
- Write (w) впливає на те, чи можна записати файл або якщо каталог можна редагувати (файли додані, видалені, перейменовані).
- Execute (x) впливає на можливість запуску файлу, використання для скриптів (див.
#!
) Та інших виконуваних файлів.
- Cross (x) впливає на те, чи можна пройти каталог.
s
і t
- липкий біт (t) і setgid (s) у каталогах
- Клейкий біт впливає лише на каталоги. Не дасть удалити файли в каталозі будь-кому, окрім власника файлу та root.
- встановлений біт 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 s - це функція, яка додасть більш досконалі ACL.
Наразі триває робота, тому я не можу сказати вам багато про них. Я не користувався ними.
Дивіться також це питання Чи існують більш просунуті файлові системи ACL за межами традиційних 'rwx' та POSIX ACL?
і сторінка людини
chmod