Я смонтировал удаленный каталог с помощью sshfs
, и я не могу сохранить файлы с помощью gedit
, в то время как сохранение того же файла с помощью vi
работает. Изменение разрешения на o-r (640)
позволяет gedit
сохранять файлы в порядке. Есть ли способ изменить соединение sshfs
, чтобы заставить gedit
работать без chmod
каждого файла?
(я использую -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 или их?
Временное решение для gedit 2.30.4 / Ubuntu 11.04, похоже, включает «Создать резервную копию ...» в настройках, а не отключает его. По крайней мере, для меня это работало без изменения каких-либо разрешений.
Это также работает в Debian sid с gedit 3.4.2
Добавьте -o allow_other
в конец инструкции по монтированию.
[EDIT] Это известная проблема, я нашел сообщение об ошибке на https://bugs.launchpad.net/gedit/+bug/34813 .
Также обнаружил, что вы можете обойти ошибку изнутри gedit (по крайней мере), отключив опцию Create a backup copy of files before saving
в Edit
-> Preferences
-> Editor
.
Проблема (по словам ребят из gedit) - это ошибка samba / cifs, и она впервые была зарегистрирована (в Ubuntu) в 2006 году.
sshfs -o allow_other,default_permissions -o IdentityFile=/path/to/ssh_key REMOTE_USERNAME@REMOTE_HOST:/remote/dir/path/ test_mnt/
Добавление default_permissions делает свое дело!
-o allow_other
может что-то сделать для вас ... похоже, у кого-то здесь была похожая проблема: http://ubuntuforums.org/showthread.php?t=873199