![本地编辑文件时服务器文件所有者和组发生更改](https://linux22.com/image/90512/%E6%9C%AC%E5%9C%B0%E7%BC%96%E8%BE%91%E6%96%87%E4%BB%B6%E6%97%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%96%87%E4%BB%B6%E6%89%80%E6%9C%89%E8%80%85%E5%92%8C%E7%BB%84%E5%8F%91%E7%94%9F%E6%9B%B4%E6%94%B9.png)
如果我通过本地文本编辑器(geany、sublime text 等)从远程服务器编辑文件,文件用户和组将更改为登录用户。
假设我使用 root 用户访问远程文件(使用 caja 文件管理器)
root用户编辑之前:文件member:admin
root用户编辑后:文件root:root
我该如何防止这种情况?
更新 如果我使用 VIM 远程编辑文件,所有者和组保持不变。所以,我想这可能与文本编辑器有关?
答案1
在这种情况下,root 有权写入该目录,因此 root 的编辑器写入文件 /path/file.tmp (或某个类似的名称),然后将新文件移动到 /path/file。由于 root 刚刚创建了该文件,因此它归 root 所有。这就是某些编辑器默认的工作方式。
有关编辑器和保留文件权限等的更多帮助,请参阅下面的链接:
“...指示您的编辑器就地编辑文件。使用 Vim,将 backupcopy 选项设置为 yes(如果这不是系统上的默认设置)。使用 Emacs,将 backup-by-copying 变量设置为 t .. ”。