Автоматизация прав доступа: setfacl и cron

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

setfaclcronlinux

👁 Для динамического управления правами доступа к файлам и каталогам на сервере можно использовать setfacl. Этот инструмент позволяет задавать гибкие и детализированные права, особенно при изменении пользователей или предоставлении временного доступа.

📝 Автоматическое обновление прав доступа для пользователей в каталоге:

#!/bin/bash
# Устанавливаем временный доступ на каталог /var/www для пользователя web_user
setfacl -m u:web_user:rwx /var/www

# Через 30 минут снимаем доступ
sleep 1800
setfacl -x u:web_user /var/www

📌 Как это работает:

  • setfacl: Используется для изменения или удаления прав доступа к файлам и каталогам. В примере выше мы добавляем (через -m) права на чтение, запись и исполнение (rwx) для пользователя web_user на каталог /var/www, а затем через sleep временно даём доступ, автоматически убирая его через 30 минут с помощью -x.
  • cron: Чтобы делать это на регулярной основе, можно добавить этот скрипт в cronjob, чтобы запускать его по расписанию, например, для временных прав доступа, которые должны обновляться ежедневно.

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

tags: #linux #автоматизация #полезно

🧭 @recura_tech 🌐 VK 🌐 MAX

Темный иллюстративный баннер RECURA с блоком кода bash: пример setfacl и sleep для временного доступа к /var/www; логотип RECURA внизу.
Баннер с примером скрипта setfacl для временного доступа.

Читайте так же