允许组编辑某些 /etc 文件的最佳方法

允许组编辑某些 /etc 文件的最佳方法

我们有一个名为 JBossAdmins 的组,该组的用户必须在 RHEL 6 上编辑一些 /etc 文件:

  • /etc/httpd/*
  • /etc/java/*
  • /etc/jboss/*

我的第一个想法是授予以下 sudo 权限:

%JBossAdmins ALL=(root) /bin/vi /etc/httpd/*
%JBossAdmins ALL=(root) /bin/vi /etc/java/*
%JBossAdmins ALL=(root) /bin/vi /etc/jboss/*

显然,用户现在可以以 root 身份启动 vi,然后通过执行 fe 来编辑任何文件:e /etc/passwd

所以 sudo 不是一个好主意。

然后我想到要做一个chgrp JBossAdmins -R path,然后做一个chmod g+rw -R path

但我也不太确定这是否是个好主意。

因此,考虑到安全隐患,允许一组用户编辑某些 /etc 文件的最佳做法是什么?有没有比 sudo 或 chgrp/chmod 更好的替代方案?

答案1

让别人sudo进来vi总是一个坏主意。他们可以通过发出命令使用 root-shell 退出 vi :shell。你不会想要那样的。

另一种选择可能是。然后您可以在文件中sudoedit授予用户/组权限:sudoeditsudoers

%JBossAdmins <hostname>: sudoedit /etc/httpd/*
%JBossAdmins <hostname>: sudoedit /etc/java/*
%JBossAdmins <hostname>: sudoedit /etc/jboss/*

答案2

你可以使用 acls 来做类似的事情

    setfacl -m g:JBossAdmins:rw /path/to/file

这将授予 JBossAdmins 组中任何人对特定文件的读/写权限。

相关内容