web-dev-qa-db-fra.com

gedit + sshfs ne sauvera pas (vi sauve très bien!)

J'ai monté un répertoire distant à l'aide de sshfs et je ne peux pas enregistrer de fichiers à l'aide de gedit, tout en enregistrant le même fichier à l'aide de vi. Changin permission to o-r (640) autorise gedit à enregistrer les fichiers, puis cliquez sur OK. Y a-t-il un moyen de changer la connexion sshfs pour que gedit fonctionne sans chmodDing tous les fichiers?

(J'utilise -o uid = id -u -o gid = id -g, de sorte que les fichiers distants semblent appartenir à moi.)

$ 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!

Pourquoi supprimer l'autorisation de lecture des autres permet à gedit de sauvegarder? (alors que vi et le reste n'a pas ce problème?)

Y at-il un moyen de changer la chaîne de connexion sshfs pour me permettre d’éditer tous les fichiers directement sur le serveur, sans avoir à les chmod ou les modifier?

5
Slava N

-o workaround=rename a résolu mon problème

5
Slava N

La solution de contournement sur gedit 2.30.4/Ubuntu 11.04 semble être permettant "Créer une copie de sauvegarde ..." dans Préférences, sans la désactiver. Au moins pour moi, cela a fonctionné sans avoir à modifier les autorisations.

Cela fonctionne aussi dans les versions de Sidian avec gedit 3.4.2.

3
Janne

-o allow_other pourrait faire quelque chose pour vous ... semble que quelqu'un ait un problème similaire ici: http://ubuntuforums.org/showthread.php?t=873199

2
RobotHumans

Ajoutez -o allow_other à la fin de votre instruction de montage.

[EDIT] C’est un problème connu, j’ai trouvé un rapport de bogue à l’adresse https://bugs.launchpad.net/gedit/+bug/3481 .

Nous avons également découvert que vous pouvez contourner le bogue depuis gedit (au moins) en désactivant l'option Create a backup copy of files before saving, dans Edit-> Preferences-> Editor.

Le problème (selon les gars de gedit) est un bogue samba/cifs, qui a été enregistré pour la première fois (sous Ubuntu) en 2006.

1
finley
sshfs -o allow_other,default_permissions -o IdentityFile=/path/to/ssh_key  REMOTE_USERNAME@REMOTE_Host:/remote/dir/path/ test_mnt/

L'ajout de default_permissions fait l'affaire!

0
Adam