КомандаОписание
chown linda /home/account изменение владельца каталога /home/account на linda
touch – -p создание с именем "-p", – говорят, что дальше опций нет.
sudo chgrp -R haproxy /etc/haproxy/Сделать владельцем папки и файлов внутри /etc/haproxy группы haproxy

# cp Копирование файла

КомандаОписание
sudo cp 2.txt{,.back}Копирование файла 2.txt и дописывание ему расширение .back

chmod Права на файлы и папки

stat имя файла

myuser@astra:~$ stat /bin/passwd
  Файл: /bin/passwd
  Размер: 68840         Блоков: 136        Блок В/В: 4096   обычный файл
Устройство: 8/4 Инода: 788635      Ссылки: 1
Доступ: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Доступ:        2026-03-19 15:22:26.560593390 +0300
Модифицирован: 2026-01-28 20:40:25.000000000 +0300
Изменён:       2026-03-16 15:53:15.812000000 +0300
Создан:        2026-03-16 15:43:31.132000000 +0300
chmod [опции] <права> <файлы> 
-R или —recursive рекурсивно изменяет права доступа для всех файлов и подкаталогов внутри указанного каталога
-f или —silent, —quiet подавляет вывод сообщений об ошибках или предупреждениях
-v или —verbose выводит подробный отчет о каждом изменении прав доступа
-c или —change ключ действует аналогично ключу —verbose. Он выводит информацию только если с файлом или директорией были произведены какие-либо действия

chmod [ugoa] [+-=] [rwx] файл(ы)

[ugoa] указывает, к кому применяются изменения:

uвладелец файла
gгруппа файла
oостальные пользователи (не владелец и не входящие в группу)
aвсе (при использовании заменяет собой ugo)

[+-=] определяет, что нужно сделать с разрешениями:

+добавить разрешение
:удалить разрешение
=установить разрешение точно (заменить текущие разрешения)

— [rwx] представляет собой комбинацию символов `r`, `w` и `x`, обозначающих разрешения:

r разрешение на чтение
w разрешение на запись
x разрешение на выполнение

Примеры использования.

chmod u+x файлдобавить право выполнения для владельца файла
chmod go-rw файлудалить право чтения и записи для группы и остальных пользователей
chmod a=rwx файлустановить полные права (чтение, запись и выполнение) для всех

Числовая нотация состоит из трех цифр, где каждая цифра представляет разрешения для владельца, группы и остальных пользователей соответственно. Каждая цифра состоит из суммы разных значений, присвоенных разным разрешениям:

4разрешение на чтение (read)
2разрешение на запись (write)
1разрешение на выполнение (execute)
0отсутствие разрешения

Посмотреть числовую нотацию для папки или файла

 stat -c "%a %n" conf

Для установки конкретных разрешений, сложите соответствующие значения:

  • только разрешение на чтение, используйте 4.
  • чтение и запись, сложите 4 и 2, что даст 6.
  • чтение и выполнение, сложите 4 и 1, что даст 5.
  • чтение, запись и выполнение, сложите 4, 2 и 1, что даст 7.
chmod 644 myfile Данная команда установит права -rw-r—r—, где владелец имеет права на чтение и запись, а группа и остальные пользователи могут только читать файл
chmod 755 script.shЭта команда поможет установить права -rwxr-xr-x, где владелец имеет полные права, а остальные пользователи могут только читать и выполнять скрипт
КомандаОписание
rw------- (600)Только владелец имеет права на чтение и запись.
-rw-r--r-- (644)Только владелец имеет права на чтение и запись; группа и другие могут только читать.
-rwx------ (700)Только владелец имеет права на чтение, запись и выполнение.
-rwxr-xr-x (755)Владелец имеет права на чтение, запись и выполнение; группа и другие могут только читать и выполнять.
-rwx--x--x (711)Владелец имеет права на чтение, запись и выполнение; группа и другие могут только выполнять.
-rw-rw-rw- (666)Все могут читать и писать в файл. (Будьте осторожны с этими разрешениями).
-rwxrwxrwx (777)Все могут читать, писать и выполнять. (Опять же, эта настройка разрешений может быть опасной).

Вот некоторые общие настройки для каталогов:

КомандаОписание
drwx------ (700)Только пользователь может читать и писать в этом каталоге.
drwxr-xr-x (755)Все могут читать этот каталог, но его содержимое может изменять только пользователь.

Как и для обычных файлов, вы можете изменять права доступа для каталогов с помощью команды chmod. Права доступа к каталогам контролируют, какие операции можно выполнять внутри каталога: просмотр его содержимого, создание, удаление файлов и каталогов внутри него и так далее.

Для изменения прав доступа к каталогу используется та же числовая и символьная нотация, которую мы рассматривали ранее. Укажите имя каталога, к которому вы хотите применить изменения прав доступа вместо имени файла. Давайте рассмотрим примеры в двух нотациях.

Символьная нотация

chmod u+rwx директориядобавить владельцу каталога права на чтение, запись и выполнение
chmod go-r директорияудалить права на чтение для группы и остальных пользователей для каталога
chmod a+rx директорияпредоставить всем пользователям права на чтение и выполнение для каталога

Числовая нотация

chmod 700 директория — установить права -rwx—— для владельца каталога, позволяя ему читать, записывать и выполнять операции внутри него, но никаким другим пользователям.

chmod 755 директория — предоставить владельцу полные права -rwxr-xr-x, а остальным пользователям право только на чтение и выполнение.chmod 644 директория — предоставить права на чтение и запись для владельца каталога, а остальным пользователям и группам оставить только на чтение содержимого.

Чтобы выполнить рекурсивное изменение прав доступа, используйте флаг -R или —recursive с командой chmod. Например:

chmod -R 755 каталог — установит права -rwxr-xr-x для всех файлов и каталогов внутри указанного каталога и самого каталога. chmod -R u+rwx,go-rwx каталог — добавит владельцу права на чтение, запись и выполнение, а группе и остальным пользователям уберет все права для всех файлов и каталогов в указанной директории и её подкаталогах. Рекурсивное изменение прав доступа — отличный инструмент для обновления разрешений для файлов и каталогов одновременно.

chmod –reference=RFILE file

  • —reference=RFILE. Этот аргумент указывает путь к файлу или каталогу, из которого будут скопированы права доступа.
  • file: это целевой файл или каталог, для которого вы хотите установить права доступа, согласно указанному источнику.

Важно отметить, что —reference не просто добавляет или удаляет определенные разрешения, а полностью перезаписывает права доступа целевого элемента.

Linux Special Permissions (SUID / SGID / Sticky)

Бит Где применяется Обозначение Число Описание
SUID файл rws—— 4xxx Запуск от имени владельца файла
SGID файл —rws— 2xxx Запуск от имени группы файла
SGID директория —rws— 2xxx Наследование группы для новых файлов
Sticky директория ——–t 1xxx Только владелец может удалять файлы
Символ Значение
s execute есть + установлен SUID/SGID
S execute НЕТ, но бит установлен (ошибка)
t execute есть + sticky bit
T execute НЕТ, но sticky установлен

Действие Команда
Установить SUIDchmod u+s file
Установить SGIDchmod g+s file/dir
Установить Stickychmod +t dir
Установить SUID (числом)chmod 4755 file
Установить SGID (числом)chmod 2755 dir
Установить Sticky (числом)chmod 1777 dir
Задача Команда
Найти все SUID файлы find / -perm -4000 -type f 2>/dev/null
Найти все SGID файлы find / -perm -2000 -type f 2>/dev/null
Найти writable SUID (опасно) find / -perm -4000 -type f -writable 2>/dev/null
Проверить /tmp ls -ld /tmp
# SUID пример
ls -l /usr/bin/passwd
# -rwsr-xr-x
 
# SGID директория
mkdir shared
chmod 2775 shared
 
# Sticky (как /tmp)
chmod 1777 /tmp
  • Sticky bit работает только на директориях
  • SUID/SGID без execute (S) — почти всегда ошибка
  • SGID на директории — must-have для командной работы
  • SUID — потенциальная уязвимость (privesc)
# Безопасная общая директория
mkdir /shared
chmod 2775 /shared
 
# Общий tmp с защитой
mkdir /shared/tmp
chmod 1777 /shared/tmp

Расширенная работа с правами ACL (getfacl / setfacl)

apt-get install acl

Проверка поддержки ACL файловой системой:

mount | grep acl

Если нет — добавить в /etc/fstab:

UUID=xxx / ext4 defaults,acl 0 1

ACL (Access Control List) — расширенные права доступа, дополняют стандартные rwx.

Позволяют:

  • давать доступ конкретным пользователям
  • давать доступ нескольким группам
  • задавать default права для директорий

Получить ACL:

getfacl /tmp/file.txt

Показать только access ACL:

getfacl -a /tmp/file.txt
getfacl --access /tmp/file.txt

Показать default ACL:

getfacl -d /tmp/dir
getfacl --default /tmp/dir

# file: filename
# owner: geek
# group: geek
user::rw-
user:andy:r--
user:bob:r--
user:james:rwx
group::r--
mask::rwx
other::r--

Поле Описание
user:: права владельца
user:username: права конкретного пользователя
group:: права группы
mask:: максимальные эффективные права
other:: права остальных

⚠️ ВАЖНО: mask ограничивает ВСЕ user/group ACL


Добавить права пользователю:

setfacl -m u:andy:rwx file.txt

Добавить права группе:

setfacl -m g:devs:r-x file.txt

Удалить ACL:

setfacl -x u:andy file.txt

Очистить все ACL:

setfacl -b file.txt

Установить default ACL для директории:

setfacl -d -m u:andy:rwx /shared

Теперь все новые файлы унаследуют права

Проверка:

getfacl /shared

Пример:

setfacl -m u:andy:rwx file.txt

Но если:

mask::r--

👉 итоговые права будут r–, а не rwx

Пересчитать mask:

setfacl -m m:rwx file.txt

или автоматически:

setfacl --mask file.txt

Ключ Описание
-a только access ACL
-d default ACL
-c без заголовка
-e показать effective права
-E скрыть effective
-s пропустить базовые ACL
-R рекурсивно
-L следовать симлинкам
-P не следовать симлинкам
-t табличный формат
-p абсолютные пути
-n UID/GID вместо имен

Примеры:

getfacl -R /tmp
getfacl -e /tmp/file.txt
getfacl -n /tmp/file.txt

mkdir /shared
chown root:devs /shared
chmod 2775 /shared
setfacl -d -m g:devs:rwx /shared

👉 все файлы:

  • группа devs
  • автоматические права

setfacl -m u:backup:r-- /etc/passwd

setfacl -R -m u:andy:rwx /project

⚠️ Проверка ACL в системе:

getfacl -R / 2>/dev/null

⚠️ Потенциальные риски:

  • доступ к критическим файлам через ACL
  • обход стандартных прав
  • забытые ACL после администрирования

Действие Команда
Посмотреть ACL getfacl file
Добавить user setfacl -m u:user:rwx file
Добавить group setfacl -m g:group:r-x file
Удалить ACL setfacl -x u:user file
Очистить ACL setfacl -b file
Default ACL setfacl -d -m u:user:rwx dir