如何使用自己的本地文本编辑器修改远程系统上的系统(需要 root 才能保存)文件?

如何使用自己的本地文本编辑器修改远程系统上的系统(需要 root 才能保存)文件?

我最近爱上了 github 的 Atom 文本编辑器,并且我喜欢使用它来进行所有本地编码和配置。

我开始为几十台服务器维护 Nagios 安装,我意识到我已经厌倦了使用 ssh 和远程 vim 来执行编辑。我想用 Atom 来代替。

我已经研究过这样做的方法。我最大的问题之一是 Nagios 和 NRPE 配置文件需要 su 权限才能覆盖。我正在编辑 /etc/ 和 /usr/ 中的文件。我可以通过多种方式在本地 Atom 中打开该文件,但永远无法保存它。

以下是我能想到的几种处理此问题的方法(告诉我您认为哪种方法是最好的方法,或者如果您有其他想法,我很想听听!)。

  1. 我可以使用 sftp 并尝试在此处编辑文件(但我想当我尝试保存时会遇到 root 权限问题?)
  2. 我可以使用 sshfs 在本地计算机上安装服务器并以这种方式进行编辑(仍然不确定权限问题?)
  3. 我可以将远程计算机上的用户添加到 sudoers 文件以获得完全权限,而无需密码提示(但我认为这不是一个安全的想法,而且,我想我仍然需要某种形式的 sudo 来实际保存? )
  4. 只需复制文件并在完成编辑后手动使用 rsync 命令将文件同步回来(这将相当乏味,但看起来是最有希望的)。

您知道是否有某个 Atom 插件可以帮助我?

我知道我不是第一个想做这件事的人。我做了一些搜索,发现有些人建议使用 SSHFS,但我想知道目前的想法是什么。

谢谢!

答案1

我们在我的团队中所做的就是使用puppet存储在存储库中的配置来控制此类文件subversion。每个人都将存储库的副本检出到本地计算机,使用他们喜欢的编辑器进行更改,然后提交更改。更改会自动应用到活动计算机puppet(以管理员权限运行)。

您不必使用这套确切的工具,但此模型将编辑(可以在任何平台上完成)与服务器上的更改应用程序分开。我想这就是乔丹在评论中暗示的意思。

这种设置还为您提供了配置文件的版本控制,这是一件好事。

对于您目前的情况来说,这可能感觉有些过分,但如果您的设置要扩展,您应该现在就开始考虑这一点。

答案2

我使用notepad++,它有一个插件NppFTP。可以将其设置为使用 sftp 复制文件,然后当您保存文件时,它再次使用 ftp 将文件存储在远程服务器上。

相关内容