我使用挂载了一个远程目录sshfs
,但我无法使用 保存文件,而使用worksgedit
保存相同的文件。vi
更改权限以o-r (640)
允许gedit
保存文件确定。有没有办法改变sshfs
连接以在gedit
不chmod
ding 每个文件的情况下工作?
(我使用 -o uid= id -u
-o gid= id -g
,因此远程文件似乎归我所有)
$ touch test.txt
[!] test.txt appears
$ vi test.txt
[!] :wq -> saves just FINE
$ gedit test.txt
[!] opens fine, but upon save shows "You do not have the
[!] permissions necessary to save the file" error -
[!] CAN'T SAVE
$ vi test.txt
[!] edit, :wq -> again saves just FINE!
$ ls -l test.txt
-rw-r--r-- ..... test.txt
[!] Now the tricky part:
$ chmod o-r test.txt
-rw-r----- ..... test.txt <-- removed 'read' perm. from 'others'
$ gedit test.txt
# WORKS! Saves just fine!
为什么删除其他人的读取权限允许 gedit 保存?(而 vi 和其他人没有这个问题?)
有没有办法更改 sshfs 连接字符串以允许我直接在服务器上编辑所有文件,而无需 chmod 或它们?
-o workaround=rename
解决了我的问题gedit 2.30.4/Ubuntu 11.04 上的解决方法似乎是在首选项中启用“创建备份副本...”,而不是禁用它。至少对我来说,这无需修改任何权限即可工作。
这也适用于带有 gedit 3.4.2 的 Debian sid
-o allow_other
可能会为你做点什么......似乎有人在这里遇到了类似的问题:http: //ubuntuforums.org/showthread.php?t= 873199附加
-o allow_other
到您的安装指令的末尾。[编辑] 这是一个已知问题,我在https://bugs.launchpad.net/gedit/+bug/34813找到了一个错误报告。
还发现您可以(至少)通过禁用 -> ->
Create a backup copy of files before saving
中的选项来解决 gedit 中的错误。Edit
Preferences
Editor
该问题(根据 gedit 人员的说法)是一个 samba/cifs 错误,并于 2006 年首次记录(在 Ubuntu 中)。
添加 default_permissions 就可以了!