Лучшие способы, позволяющие группе редактировать некоторые файлы /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 для определенных файлов.

Другие вопросы по тегам