Linux для админа Windows 04. Файловая система, диски и права доступа
Note
Материал сверен с официальной документацией (Ubuntu Server, man-страницы и документация проектов; ссылки — в конце статьи). Примеры вывода — иллюстрации: на вашем сервере значения и формат могут отличаться. Перед работой на боевом сервере проверьте команды на тестовой машине.
В Windows диски различают по буквам, а доступ к файлам задают списками NTFS на вкладке «Безопасность». В Linux всё проще и жёстче: единое дерево каталогов, три класса пользователей (владелец, группа, остальные) и три права (чтение, запись, выполнение). Из этой статьи вы узнаете:
- какие каталоги нужны при работе с дисками и службами;
- как подключить диск, в том числе постоянно, не рискуя загрузкой;
- как устроены пользователи и группы;
- как читать и менять права:
chmod,chown,umask, специальные биты; - как писать правила
sudoи править их черезvisudo.
Читайте по порядку; разделы про LVM (Logical Volume Manager), ACL (Access Control List) и setuid при первом чтении можно пропустить.
| В Windows | В Linux |
|---|---|
Диски C:, D: |
одно дерево от /; диск подключается в каталог (точка монтирования) |
Управление дисками, Get-Disk, Get-Volume |
lsblk, df -h, blkid |
| Буква или папка для тома | mount и строка в /etc/fstab |
| Локальные пользователи и группы | файлы /etc/passwd, /etc/group, /etc/shadow; adduser, usermod |
| SID | числовые идентификаторы UID и GID |
Вкладка «Безопасность», icacls |
ls -l, chmod, chown, getfacl, setfacl |
| Разрешения «Чтение», «Запись», «Чтение и выполнение» | три права r, w, x для трёх классов; смена прав и владельца — отдельные команды |
Что нужно знать заранее
- Linux глазами администратора Windows: «всё — файл», регистр в именах, root и
sudo. - Установка Ubuntu Server и первые шаги: рабочий сервер
lnx1и вход подadmin-lab. - Командная строка Linux:
ls,cd,cat,nano, перенаправление.
Диски и fstab пробуйте на виртуальной машине или отдельном компьютере (в WSL они, как правило, не отрабатываются); опасные команды статьи выполняйте только на тестовой машине.
Дерево каталогов: что ещё нужно знать
Основные каталоги (/etc, /home, /var, /usr, /opt, /srv, /tmp, /dev и другие) перечислены в статье 01. Расположение файлов описывает стандарт FHS (Filesystem Hierarchy Standard), которому следует и Ubuntu. Для работы с дисками и службами понадобятся ещё несколько каталогов:
| Каталог | Что хранит | Аналог в Windows |
|---|---|---|
/boot |
ядро и файлы загрузчика | раздел загрузки |
/run |
данные работающей системы с момента загрузки; очищаются при загрузке | — |
/sys |
виртуальная файловая система: сведения об устройствах, драйверах и ядре; на диске её нет | — |
/var/lib |
состояние программ и служб: данные, которые они меняют в работе | C:\ProgramData |
/var/tmp |
временные файлы, переживающие перезагрузку; /tmp по FHS рекомендуется очищать при загрузке |
%TEMP% |
Практическое правило: свою конфигурацию кладите в /etc/имя, стороннюю программу в /opt/имя, данные службы в /srv/имя (веб-серверы Ubuntu по традиции используют /var/www). Каталоги /bin, /sbin и /lib в современных дистрибутивах, как правило, символические ссылки на каталоги внутри /usr; проверьте командой ls -ld /bin.
Диски, разделы и точки монтирования
Диск в Linux — это файл устройства в /dev. Обычные диски называются sda, sdb и так далее в порядке обнаружения, разделы — sda1, sda2; диски NVMe (Non-Volatile Memory Express, быстрые накопители) — nvme0n1, их разделы — nvme0n1p1. Порядок обнаружения может измениться (после добавления диска sdb способен стать sdc), поэтому в настройках указывают не имя, а UUID (Universally Unique Identifier) — идентификатор файловой системы.
Обзор даёт lsblk (права root не нужны), а lsblk -f добавляет типы файловых систем и UUID. Пример вывода:
admin-lab@lnx1:~$ lsblk -o NAME,SIZE,TYPE,FSTYPE,UUID,MOUNTPOINTS
NAME SIZE TYPE FSTYPE UUID MOUNTPOINTS
sda 40G disk
├─sda1 512M part vfat A1B2-C3D4 /boot/efi
└─sda2 39.5G part ext4 b81d5f90-2c3e-4a7b-8d16-5e9f0a4c7d23 /
sdb 100G disk
└─sdb1 100G part ext4 3f2a9c1e-7b4d-4e68-9a15-0c6d2e8b1f47 /srv/data
Свободное место на подключённых файловых системах показывает df -h, размер каталога — du -sh. Пример вывода:
admin-lab@lnx1:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 392M 1.1M 391M 1% /run
/dev/sda2 38G 5.6G 31G 16% /
/dev/sda1 511M 6.1M 505M 2% /boot/efi
/dev/sdb1 98G 180M 93G 1% /srv/data
admin-lab@lnx1:~$ sudo du -sh /var/log
128M /var/log
df считает по файловой системе, du — по файлам внутри каталога.
Подключение вручную
Точка монтирования — обычный каталог. После подключения содержимое каталога, лежавшее там раньше, становится невидимым, пока том подключён.
Warning
Новый чистый диск сначала размечают (fdisk, parted), потом создают файловую систему (mkfs.ext4). Обе операции уничтожают данные на выбранном устройстве, а ошибка в имени (sdb вместо sdc) стирает чужой диск; эти шаги в статью не входят.
Упражнениям этого раздела и раздела про fstab нужен второй чистый диск, размеченный и отформатированный заранее (на тестовой виртуальной машине добавьте виртуальный диск). Если его нет, просто прочитайте разделы: имена и UUID в примерах вымышленные, подставляйте свои из lsblk -f.
admin-lab@lnx1:~$ sudo mkdir -p /srv/data
admin-lab@lnx1:~$ sudo mount /dev/sdb1 /srv/data
admin-lab@lnx1:~$ findmnt /srv/data
TARGET SOURCE FSTYPE OPTIONS
/srv/data /dev/sdb1 ext4 rw,relatime
admin-lab@lnx1:~$ sudo umount /srv/data
Команда отключения называется umount (без «n»). Если том занят (открыты файлы или вы стоите в этом каталоге), отключение завершится ошибкой. После перезагрузки такое подключение исчезнет.
Файловые системы
ext4 — распространённая журналируемая файловая система Linux, XFS — высокопроизводительная журналируемая для больших файлов и томов. vfat — FAT32 (на ней обычно системный раздел EFI для загрузки UEFI), tmpfs живёт в памяти. NTFS подключается драйвером ядра ntfs3 (тип ntfs3) или ntfs-3g; владельца и права по умолчанию задают опциями uid=, gid= и umask= (см. документацию ядра ntfs3).
Постоянное подключение: /etc/fstab
В /etc/fstab записано, что и куда подключать при загрузке: шесть полей в строке, разделитель — пробелы или табуляция.
# <устройство> <каталог> <тип> <опции> <dump> <pass>
UUID=3f2a9c1e-7b4d-4e68-9a15-0c6d2e8b1f47 /srv/data ext4 defaults,nofail 0 2
- Устройство. Лучше
UUID=: имя/dev/sdb1может измениться. - Каталог. Точка монтирования; она должна существовать.
- Тип и опции.
ext4,xfsи так далее; обычноdefaults, аnofailразрешает загрузке продолжаться без тома. - dump и pass. Для
dumpставьте0;passзадаёт порядок проверкиfsck(проверка файловой системы) при загрузке:1для корневой,2для остальных,0— не проверять.
Warning
Ошибка в fstab может остановить загрузку: без nofail systemd считает том обязательным (с nofail — желательным, но тогда без диска служба может писать в пустой каталог на системном диске). В Ubuntu у root нет пароля, а аварийная оболочка systemd запрашивает пароль root, поэтому она может не открыться. Выручат режим recovery в меню загрузчика GRUB (GRand Unified Bootloader) или загрузка с установочного образа, а на виртуальной машине — снимок (контрольная точка) до правки. В recovery корневой раздел подключён только для чтения: перед правкой fstab выполните mount -o remount,rw /. Заранее проверьте на тестовой машине, как у вас входят в аварийный режим.
Безопасный порядок:
sudo cp -a /etc/fstab /etc/fstab.bak
lsblk -f
sudo mkdir -p /srv/data
sudo nano /etc/fstab
sudo systemctl daemon-reload
sudo findmnt --verify --verbose
sudo mount -a
findmnt /srv/data
Сначала копия файла и UUID из lsblk -f, затем правка. daemon-reload заставляет systemd перечитать файл (о systemd — в статье 06); без него findmnt --verify напомнит об этом предупреждением. Эта команда проверяет разбор строк и пригодность записей: в конце вывода должна быть строка Success, no errors or warnings detected. Строки [W] (предупреждение) и [E] (ошибка) разберите до перезагрузки: опечатка в UUID даёт только [W], а код возврата предупреждения не учитывает.
mount -a подключает всё, что ещё не подключено, но для строки с nofail молчит, если устройство не найдено. Поэтому настоящая проверка — последняя команда: findmnt /srv/data должна показать ваше устройство. Пустой вывод значит, что том не подключён: не перезагружайтесь, а исправьте строку. Вернуть прежний файл можно командой sudo cp /etc/fstab.bak /etc/fstab.
Note
LVM объединяет диски в группу томов, из которой нарезают логические тома; такой том расширяют командой lvextend. Установщик Ubuntu Server умеет ставить систему на LVM. Перед изменением томов делайте резервную копию.
Пользователи и группы
В Windows локальные учётные записи хранятся в базе SAM (Security Accounts Manager) и управляются оснасткой «Локальные пользователи и группы». В Linux это обычные текстовые файлы:
| Файл | Что хранит | Кто читает |
|---|---|---|
/etc/passwd |
учётные записи: имя, UID, основная группа, домашний каталог, оболочка | все |
/etc/group |
группы и их члены | все |
/etc/shadow |
хеши паролей и сроки действия | только root |
Примеры строк из этих файлов:
# /etc/passwd
admin-lab:x:1000:1000:admin-lab:/home/admin-lab:/bin/bash
# /etc/group
sudo:x:27:admin-lab
# /etc/shadow
admin-lab:<ХЕШ>:20752:0:99999:7:::
В /etc/passwd семь полей (имя:пароль:UID:GID:комментарий:домашний каталог:оболочка), и x на месте пароля значит, что хеш лежит в /etc/shadow. В /etc/group четыре поля (имя:пароль:GID:члены), в /etc/shadow девять; ! в начале хеша означает заблокированный пароль. Вручную эти файлы не правят.
UID и GID (User ID, Group ID) — числовые идентификаторы пользователя и группы, по роли близкие к SID. Диапазоны: 0–99 — предустановленные системные записи (root имеет UID 0), 100–999 — записи служб, от 1000 — обычные пользователи; 65534 — nobody. Кто вы и в каких группах состоите, показывает id. Пример вывода:
admin-lab@lnx1:~$ id
uid=1000(admin-lab) gid=1000(admin-lab) groups=1000(admin-lab),27(sudo)
В Ubuntu учётными записями удобнее управлять через adduser: это дружелюбная надстройка над useradd, groupadd и usermod. Она создаёт домашний каталог из шаблона /etc/skel и личную группу пользователя; права домашнего каталога — 0750 (для Ubuntu 21.10 и новее). Ниже шаблоны команд; реальные имена подставим в практике в конце статьи.
sudo adduser <ПОЛЬЗОВАТЕЛЬ>
sudo addgroup <ГРУППА>
sudo adduser <ПОЛЬЗОВАТЕЛЬ> <ГРУППА>
sudo usermod -aG <ГРУППА> <ПОЛЬЗОВАТЕЛЬ>
Третья команда добавляет существующего пользователя в существующую группу, четвёртая делает то же через usermod. Опция -a обязательна: без неё -G заменит весь список дополнительных групп. Новые группы получают только вновь запущенные процессы, поэтому пользователю нужно перезайти. Пароль задаёт sudo passwd <ПОЛЬЗОВАТЕЛЬ>.
sudo passwd -l <ПОЛЬЗОВАТЕЛЬ>блокирует пароль, но не учётную запись: вход по ключу SSH остаётся. Чтобы отключить запись целиком, выполнитеsudo usermod --expiredate 1 <ПОЛЬЗОВАТЕЛЬ>и проверьте~/.ssh/authorized_keys.sudo deluser <ПОЛЬЗОВАТЕЛЬ>не удаляет домашний каталог: опция--remove-homeудалит и его, а--backupсначала сохранит архив. Оставленный каталог опасен: новый пользователь с тем же UID получит к нему доступ.
Права доступа: rwx
Первая колонка ls -l — это тип файла и девять символов прав. Пример вывода:
-rw-r----- 1 admin-lab team 2150 Oct 28 10:18 report.csv
drwxrws--- 2 root team 4096 Oct 28 11:05 share
У report.csv тип - (файл): владелец читает и пишет (rw-), группа читает (r--), остальные не имеют доступа (---). share — каталог (d).
Права делятся на три класса: владелец (u), группа (g) и остальные (o). Применяется один подходящий класс: если вы владелец, действуют только права владельца, даже когда у группы их больше. Root проверки прав обходит.
| Право | Для файла | Для каталога |
|---|---|---|
r |
читать содержимое | видеть список имён |
w |
изменять содержимое | создавать, переименовывать и удалять записи (вместе с x) |
x |
запускать как программу | входить в каталог и обращаться к файлам по имени |
Удаление файла определяется правом w на каталог, а не на сам файл.
Каждому праву соответствует число: r=4, w=2, x=1. Сумма даёт цифру класса, три цифры — режим:
| Режим | Запись | Типичное применение |
|---|---|---|
644 |
rw-r--r-- |
обычный файл, читаемый всеми |
600 |
rw------- |
личные секреты, например закрытый ключ |
640 |
rw-r----- |
файл для владельца и группы |
755 |
rwxr-xr-x |
программа или каталог для всех |
750 |
rwxr-x--- |
каталог для владельца и группы |
700 |
rwx------ |
личный каталог, например ~/.ssh |
chmod, chown, chgrp
chmod меняет режим: числом (chmod 640 файл) или буквами [ugoa][+-=][rwxX]: + добавляет, - убирает, = задаёт точно.
admin-lab@lnx1:~$ touch backup.sh
admin-lab@lnx1:~$ ls -l backup.sh
-rw-rw-r-- 1 admin-lab admin-lab 0 Oct 28 10:15 backup.sh
admin-lab@lnx1:~$ chmod u+x backup.sh
admin-lab@lnx1:~$ ls -l backup.sh
-rwxrw-r-- 1 admin-lab admin-lab 0 Oct 28 10:15 backup.sh
admin-lab@lnx1:~$ chmod 750 backup.sh
admin-lab@lnx1:~$ ls -l backup.sh
-rwxr-x--- 1 admin-lab admin-lab 0 Oct 28 10:15 backup.sh
Тестовый файл потом удалите: rm backup.sh. Для каталога со вложенным содержимым нужна рекурсия -R, но обычным файлам выполнение не нужно, а каталогам нужно: X добавляет его только каталогам и файлам, у которых оно уже есть, так что chmod -R g+rX /srv/share безопаснее одного режима для всего.
chown меняет владельца, chgrp — группу; запись владелец:группа задаёт обоих. Менять владельца обычно можно только с sudo. Каталог и группа из примера появятся в практике ниже.
sudo chown admin-lab:team /srv/share # владелец и группа
sudo chgrp team /srv/share # только группа
Warning
chown -R и chmod -R по ошибке на /, /etc или /home ломают систему, и откатить это нечем. Указывайте абсолютные пути, сначала проверяйте pwd и ls. Защита от рекурсии по / (--preserve-root) у chmod и chown по умолчанию выключена.
umask: права новых файлов
Новый файл начинает с режима 666, а каталог с 777; umask убирает из них биты, записанные в маске. Маска 022 даёт файлам 644, каталогам 755; 002 — 664 и 775; 027 — 640 и 750; 077 — 600 и 700. Текущую маску показывает umask. Для root она обычно 0022, а у пользователя с личной группой (как admin-lab) в Ubuntu — 0002: группа пишет в новые файлы. umask 027 действует до конца сеанса; постоянное значение для входа задаёт параметр UMASK в /etc/login.defs.
Специальные биты
- setuid (4000). Исполняемый файл запускается с правами владельца, а не запустившего. В списке это
sна местеxвладельца:-rwsr-xr-x. Ошибка в такой программе с владельцем root даёт злоумышленнику root, поэтому ставьте этот бит только по необходимости. - setgid (2000) на каталоге. Новые файлы получают группу каталога, а не основную группу создателя; подкаталоги наследуют бит. Режим
2770выглядит какdrwxrws---. Это основа общего каталога для команды. - sticky (1000) на каталоге. Удалять и переименовывать файл может только его владелец, владелец каталога и root. Так устроен
/tmp:drwxrwxrwt.
Чем это отличается от NTFS
NTFS хранит список записей ACE (Access Control Entry) с любыми пользователями и группами, умеет явный запрет (icacls /deny) и наследование. В классической модели Linux одна запись на три класса, явного запрета и наследования нет: новый файл получает режим из umask создателя, а группу каталога — только при setgid.
Когда трёх классов мало, есть ACL (списки управления доступом POSIX): setfacl -m u:имя:rx путь добавляет запись для пользователя, getfacl путь показывает список, а ls -l отмечает такой файл знаком +. Если команд нет, установите пакет acl. Эффективные права групп и именованных пользователей ограничивает маска; подробности — в man acl.
sudo и visudo
Как работает sudo и почему у root нет пароля, рассказано в статье 01. Здесь — правила и их безопасная правка; что вам разрешено, покажет sudo -l.
Правила лежат в /etc/sudoers и в каталоге /etc/sudoers.d/: файлы каталога читаются в лексическом порядке, а имена с точкой или ~ пропускаются. Правьте их только командой visudo: она блокирует файл от параллельной правки и по умолчанию не сохранит его при синтаксической ошибке, а предложит снова править (e) или выйти без сохранения (x). В классическом visudo есть ещё вариант Q (сохранить с ошибкой): не выбирайте его. Обычный редактор может лишить вас sudo, а root без пароля не поможет.
Строка правила читается как «кто где = (от чьего имени) что». Дадим группе helpdesk перезапуск одной службы:
%helpdesk ALL=(root) /usr/bin/systemctl restart nginx
Знак % обозначает группу, ALL — любой хост; команда указана с полным путём, а аргументы должны совпасть точно.
Команда visudo -f откроет редактор (какой — зависит от настройки системы: в nano сохраняют Ctrl+O и Enter, выходят Ctrl+X; в vi — Esc, затем ZZ или :wq сохраняют и выходят, а :q! выходит без сохранения, см. статью 03). Введите одну строку правила и сохраните файл. Группы helpdesk у вас нет, поэтому правило ничего не разрешает: оно нужно для тренировки.
admin-lab@lnx1:~$ sudo visudo -f /etc/sudoers.d/helpdesk
admin-lab@lnx1:~$ sudo chmod 0440 /etc/sudoers.d/helpdesk
admin-lab@lnx1:~$ sudo visudo -c
admin-lab@lnx1:~$ ls -l /etc/sudoers.d/helpdesk
-r--r----- 1 root root 54 Oct 28 11:30 /etc/sudoers.d/helpdesk
Правило потом удалите: sudo rm /etc/sudoers.d/helpdesk. Помните о минимуме привилегий: давайте конкретные команды, а не ALL, не используйте NOPASSWD: ALL и не разрешайте через sudo редакторы и программы, умеющие запускать оболочку (например, less): это равносильно root.
Note
В Ubuntu 24.04 LTS sudo классический (sudo.ws), а с 25.10, и значит в 26.04 LTS, по умолчанию — Rust-реализация sudo-rs (сводка изменений — в статье 01). Типовые сценарии работают так же, но запрос пароля выглядит иначе ([sudo: authenticate] Password:), а запись ввода-вывода и sudoreplay не поддерживаются. Параметры sudoers для sudo-rs описаны в man sudoers-rs; классический sudo остаётся с суффиксом .ws (visudo.ws). Команды ls, chmod, chown, stat и другие в 26.04 по умолчанию из uutils; опции в статье описаны для GNU-версии и, как правило, те же (подробнее — в статье 03).
Практика: общий каталог для команды
Выполните на тестовой машине: создадим пользователя, группу и каталог с setgid и проверим доступ.
admin-lab@lnx1:~$ sudo adduser --disabled-password --comment 'Test user' dev1
admin-lab@lnx1:~$ sudo addgroup team
admin-lab@lnx1:~$ sudo adduser dev1 team
admin-lab@lnx1:~$ sudo adduser admin-lab team
admin-lab@lnx1:~$ sudo mkdir /srv/share
admin-lab@lnx1:~$ sudo chgrp team /srv/share
admin-lab@lnx1:~$ sudo chmod 2770 /srv/share
admin-lab@lnx1:~$ ls -ld /srv/share
drwxrws--- 2 root team 4096 Oct 28 11:05 /srv/share
Завершите сеанс (Ctrl+D) и войдите снова, чтобы получить группу team, и проверьте её через id. Затем создайте файл и проверьте доступ от имени других пользователей:
admin-lab@lnx1:~$ touch /srv/share/a.txt
admin-lab@lnx1:~$ ls -l /srv/share
total 0
-rw-rw-r-- 1 admin-lab team 0 Oct 28 11:12 a.txt
admin-lab@lnx1:~$ sudo -u dev1 ls /srv/share
a.txt
admin-lab@lnx1:~$ sudo -u nobody ls /srv/share
ls: cannot open directory '/srv/share': Permission denied
Файл получил группу team (setgid) и права 664 (umask 002), поэтому dev1 его видит, а nobody нет. Текст ошибки зависит от версии ls. Уберите за собой:
sudo rm -r /srv/share
sudo deluser --remove-home dev1
sudo deluser admin-lab team
sudo delgroup team
Типичные ошибки и недоразумения
chmod 777иchmod -R 777. Антипример: запись открыта любому локальному пользователю и любой скомпрометированной программе. Выясните, от чьего имени работает программа, и дайте доступ через группу (g+rwX) или ACL.- Рекурсивные
chown -Rиchmod -Rне там. Один пропущенный каталог в пути, и права меняются у всей системы. - Права на
~/.ssh. Рекомендуется700для каталога и600для закрытых ключей иauthorized_keys(клиентsshне примет закрытый ключ, доступный другим). Если home,~/.sshилиauthorized_keysдоступны другим на запись, SSH-сервер (sshd) по умолчанию (StrictModes yes) откажет во входе по ключу. Подробности — в статье 08. - Правка
fstabбез проверки. Имя устройства вместо UUID, нетnofail, пропущеныfindmnt --verifyиfindmnt /каталог— типичная причина незагрузившегося сервера. usermod -Gбез-a. Пользователь теряет все прежние группы, в том числеsudo.- Блокировка пароля вместо отключения.
passwd -lне мешает входу по ключу. - Ожидание запретов и наследования. Права каталога не передаются вложенным файлам, а явный запрет для одного пользователя возможен только через ACL.
Проверьте себя
- Что означает
drwxr-x---и какие права у остальных пользователей? Каталог (d): владелец может всё (rwx), группа читает и входит (r-x), остальные не имеют доступа (---). Режим750. - Какие права получат новый файл и новый каталог при umask
027? Файл640(rw-r-----), каталог750(rwxr-x---): маска убирает биты из666и777. - Вы добавили в
/etc/fstabстроку сnofail, выполнилиmount -aи не увидели ошибок. Как убедиться, что том подключён?mount -aдля строки сnofailмолчит, если устройство не найдено. Проверьтеfindmnt /каталог: пустой вывод значит, что том не подключён. - Как добавить пользователя в группу, не удалив его из остальных?
sudo usermod -aG группа пользователь(обязательно с-a) илиsudo adduser пользователь группа. Группа заработает после нового входа. - Почему sudoers правят через
visudo? Он блокирует файл, проверяет синтаксис и по умолчанию не сохраняет ошибочный вариант; иначе одна опечатка может лишить васsudo.
Что дальше
- Пакеты и обновления: apt — установка пакетов вроде
aclи источники программ. - Службы и процессы: systemd, journalctl, cron — от какого пользователя работают службы и как их контролировать.
- SSH: ключи и безопасная настройка — права на
~/.sshи вход по ключам.
Источники
- Filesystem Hierarchy Standard 3.0 — назначение каталогов
- Ubuntu Server: User management — adduser, deluser, sudo, права домашних каталогов
- Ubuntu Server: System utility replacements — uutils и sudo-rs в 26.04 LTS
- man fstab(5) — формат
/etc/fstab - man mount(8) — монтирование,
mount -a,nofail - man findmnt(8) — проверка
fstab(--verify) - systemd.mount(5) —
nofailи обработкаfstabв systemd - man sulogin(8) — вход в аварийный режим и заблокированный root
- man visudo(8) (Ubuntu 24.04) —
-f,-c, вариантQ(классический sudo) - man usermod(8) — группы и блокировка
- man chmod(1) — режимы,
X, специальные биты - man inode(7) — биты режима, setgid и sticky на каталогах
- man acl(5) — ACL POSIX и маска
- man sudoers(5) — формат правил и
sudoers.d(классический sudo) - Microsoft Learn: icacls — права NTFS из командной строки Windows