Лучшие способы, позволяющие группе редактировать некоторые файлы /etc
У нас есть группа с именем JBossAdmins, и пользователи этой группы должны редактировать некоторые файлы / etc на RHEL 6:
- / И т.д. / HTTPD / *
- / И т.д. / Java / *
- / И т.д. / JBoss / *
моей первой идеей было дать следующие права sudo:
%JBossAdmins ALL=(root) /bin/vi /etc/httpd/*
%JBossAdmins ALL=(root) /bin/vi /etc/java/*
%JBossAdmins ALL=(root) /bin/vi /etc/jboss/*
Очевидно, что теперь пользователи могут запустить vi от имени пользователя root и затем отредактировать любой файл, выполнив команду fe :e /etc/passwd
Так что sudo не очень хорошая идея.
Тогда мне пришло в голову сделать chgrp JBossAdmins -R path
а затем chmod g+rw -R path
,
Но я не совсем уверен, что это хорошая идея.
Итак, учитывая последствия для безопасности, какова лучшая практика, позволяющая группе пользователей редактировать некоторые файлы / etc? Есть ли лучшие альтернативы, чем sudo или chgrp/chmod?
2 ответа
Давать кому-то sudo
в vi
это всегда плохая идея. Они могут выйти из vi с помощью root-оболочки, выполнив :shell
команда. Вы этого не хотите.
Альтернативой для вас может быть sudoedit
, Затем вы можете предоставить свои права пользователям / группам для sudoedit
в sudoers
-файл:
%JBossAdmins <hostname>: sudoedit /etc/httpd/*
%JBossAdmins <hostname>: sudoedit /etc/java/*
%JBossAdmins <hostname>: sudoedit /etc/jboss/*
Вместо этого вы можете использовать acls и сделать что-то вроде
setfacl -m g:JBossAdmins:rw /path/to/file
который предоставил бы права на чтение / запись любому пользователю в группе JBossAdmins для определенных файлов.