![使我的 /etc/sudoers 公开可读是否存在任何安全问题?](https://linux22.com/image/1125845/%E4%BD%BF%E6%88%91%E7%9A%84%20%2Fetc%2Fsudoers%20%E5%85%AC%E5%BC%80%E5%8F%AF%E8%AF%BB%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E4%BB%BB%E4%BD%95%E5%AE%89%E5%85%A8%E9%97%AE%E9%A2%98%EF%BC%9F.png)
我最近开始使用我的 GitHub 帐户来跨计算机同步我的各种配置文件,包括我的 /etc/sudoers。这会暴露任何安全漏洞吗?
编辑:如果有什么不同的话,我是在 14.10。
答案1
我的第一反应是说这是个坏主意。然而,在查看了你的具体个人 sudoers 文件后,我会说,不;它看起来非常符合 Ubuntu 系统的标准。你没有暴露任何
- 特定软件版本(可能存在漏洞)
- 非标准用户名(如果我是坏人,我会尝试使用“josh”或“joshua”
我快速查看了 GitHub 存储库中的其他配置文件,目前看来它们还不错!将来,您在更改配置文件时必须非常小心,始终意识到此类更改将公开。
总的来说,我更愿意使用私有仓库,这样就不必考虑每次更改可能带来的后果。出于这个原因,我在个人 Ubuntu 服务器上设置了自己的远程仓库,但据我所知,Bitbucket 提供免费的私有仓库。
管理 /etc
我实际上并没有将/etc
文件存储在我的存储库中。为了重新运行对配置文件的更改,我使用sed
命令进行这些更改,例如,为了自动更改 logwatch 报告的信息量,我运行:
sudo sed -i.bak "s/^Detail.*$/Detail = High/" /usr/share/logwatch/default.conf/logwatch.conf
如果尚不存在网站管理员的电子邮件别名,请添加该别名,我运行:
grep -i webmaster /etc/aliases || sudo sed -i.bak '1 a\webmaster:\troot' /etc/aliases
我还使用一个名为etckeeper使用 git跟踪/etc
目录树的所有更改。但是,到目前为止,我只将其用作相关系统的历史记录,以及回滚任何无效更改的手段/etc
。它有一个将其提交推送到远程存储库的选项,但我还没有(尚未)使用过它。
其他更复杂的解决方案(我还没有开始学习)是配置管理工具,例如 Chef 或 Puppet,它们可用于快速重新创建系统配置。
答案2
我建议你不要在/etc
目录中的公共存储库中发布任何内容。这些信息在最坏的情况下会让你处于危险之中。你忽略包含敏感数据的文件的风险太大了。
也许只要提交数据但不推送就足够了。然后更改将保存在本地。