TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #600 620
Поиск файлов с расширенными ACL: getfacl и find для выявления нестандартных прав

В Linux права доступа обычно проверяют через:

ls -l


Но этого недостаточно. Если у файла есть ACL (Access Control List), дополнительный пользователь или группа могут иметь доступ, которого не видно в стандартном выводе.

▪️Проверяем ACL у файла

getfacl /etc/passwd


Обычный вывод:

user::rw-
group::r--
other::r--


Если есть дополнительные правила:

user::rw-
user:backup:r--
group::r--
mask::r--
other::---


Здесь пользователь backup получил отдельное разрешение.

▪️Как найти файлы с ACL

Команда find умеет искать расширенные ACL:

find / -type f -acl 2>/dev/null


Но на многих системах удобнее использовать проверку через getfacl:

find /etc -type f -exec getfacl -p {} \; 2>/dev/null | grep "^user:"


▪️Проверка конкретного каталога

Например, ищем нестандартные права в /srv:

getfacl -R /srv


Обращаем внимание на строки:

user:name:
group:name:


Они показывают дополнительные разрешения.

▪️Удаление лишних ACL

Если доступ больше не нужен:

setfacl -b file.txt


Ключ -b удаляет все дополнительные ACL, оставляя только обычные Unix-права.

▪️Почему ACL часто забывают

Администратор может изменить права:

chmod 600 secret.txt


и считать файл закрытым.

Но если раньше был добавлен ACL:

user:john:r--


пользователь John всё ещё может читать файл.

▪️Почему это важно

ACL полезны для сложных систем с большим количеством пользователей, но они усложняют аудит. При расследовании проблем с доступом всегда нужно проверять не только chmod, но и расширенные правила через getfacl.

BashTex 📱 #bash #linux
  • 👍 5
More from @bash_tex
  1. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  2. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  3. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  4. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  5. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
  6. Sep 30, 2026DEBUG trap - как Bash выполняет код перед каждой командой В Bash есть специальный DEBUG tr…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →