我正在使用 Nautilus 通过“连接到服务器”在 Ubuntu 16.04 上安装远程 linux 文件系统,然后
sftp:myusername@myhost/home/myusername/scripts/myfile.ext
该文件myusername:groupA
在远程服务器上拥有所有权。
当我使用 Gedit 或其他编辑器远程编辑和保存文件时,它会将服务器上的所有权更改为myusername:myusername
它不尊重初始组所有权。
有没有办法改变这种行为?
编辑:
当我右键单击 Nautilus 中的文件时,它说组 ID 是 115。我用..查找名称
getent group 115 | cut -d: -f1
它返回whoopsie
。
这让我相信这是某种错误。也许 Ubuntu 无法识别远程组名?
编辑:
组名groupA
存在于本地和远程计算机上,但组 ID 不同。我想知道这是否是问题所在。
请注意以下事项。
解决方案:
可能有不止一种解决方案,但最简单的方法是使用 ACL。从服务器(例如通过 ssh),首先检查您是否有可用的 acl 命令。
您可能必须检查您的文件系统是否安装了 ACL(这是一段时间以来的默认设置)。将 / 替换为文件夹的适当安装位置。
最后,您必须更改要保存文件的文件夹的默认 ACL。请注意,在此文件夹中创建的任何新文件都将获得此新权限。
将组替换为所需的“组”,将“/your/folder”替换为您将存储文件的文件夹。如果您不需要可执行权限,您也可以调整 rwx(在这种情况下,仅使用 rw)。