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 chmod
Ding 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?
-o workaround=rename
a résolu mon problème
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.
-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
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.
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!