У меня есть каталог с файлами журналов, и я помещаю в них логи из скриптов, запускаемых пользователями. Ведение журнала с помощью syslog не представляется возможным в этом случае. (не-демон rsync)
Я хочу, чтобы пользователи имели только права на запись в файлы журналов. Проблема заключается в том, что права на запись должны быть дополнительно ограничены, чтобы пользователи (сценарии) могли добавлять только эти файлы. Основной файловой системой является XFS.
Следующее не работает:
# chattr +a test.log
chattr: Inappropriate ioctl for device while reading flags on test.log
Есть ли другое решение для этого? Спасибо за ваши советы.
chattr +a
у меня тут работает (ядро 3.2). Обратите внимание, что для использования вам нужно быть пользователем rootchattr
(в$
подсказке предлагается не суперпользователь), хотя вы получите другое сообщение об ошибке, если оноchattr +a
поддерживается и вы не являетесь пользователем root.Ответы:
chattr
Утилита написана для Ext2 / Ext3 / ext4 , файловых систем. Он испускает ioctl для файлов, так что именно файловая система сама решает, что с ними делать. Драйвер XFS в более новых ядрах Linux поддерживает тот жеFS_IOC_SETFLAGS
ioctl, что и ext [234], для управления флагами, такими как только добавление, но вы можете использовать старое ядро там, где его нет (CentOS?). Попробуйте использоватьxfs_io
утилиту вместо:Обратите внимание, что для XFS, как для ext [234], только root может изменять флаг добавления только (точнее, вам нужна
CAP_LINUX_IMMUTABLE
возможность).источник
У вас есть разрешение на это? От
man 1 chattr
:источник
Кроме того, вы можете добиться того же, используя SELinux , скорее всего, он включен и работает, если вы используете Red Hat-совместимый дистрибутив. Это работает на каждой файловой системе, SELinux блокирует процессы от выполнения запрещенных операций.
К сожалению, вам нужно написать политику для вашего приложения, чтобы разрешить доступ ко всем системным ресурсам, кроме добавления к определенным файлам. Это может быть немного сложным, если вы делаете это в первый раз, но есть преимущество в этом - дополнительный уровень безопасности.
У меня есть пример того, как написать правило файла только для добавления в этом выступлении: https://www.youtube.com/watch?v=zQcYXJkwTns
источник