-o workaround=rename
resolveu meu problema
Eu montei um diretório remoto usando sshfs
e não consigo salvar arquivos usando gedit
, enquanto salvava o mesmo arquivo usando vi
works. A permissão para alterar o-r (640)
permite que gedit
salve arquivos. Existe uma maneira de alterar sshfs
connection para fazer gedit
funcionar sem chmod
ding todos os arquivos?
(Eu uso -o uid = id -u
-o gid = id -g
, para que os arquivos remotos pareçam pertencer a mim)
$ 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!
Por que a remoção da permissão de leitura de outras pessoas permite que o gedit seja salvo? (enquanto vi e o resto não tem esse problema?)
Existe uma maneira de alterar a string de conexão do sshfs para permitir que eu edite todos os arquivos diretamente no servidor, sem precisar modificá-los?
-o workaround=rename
resolveu meu problema
A solução alternativa para o gedit 2.30.4 / Ubuntu 11.04 parece estar ativando o "Criar uma cópia de segurança ..." em Preferências, não desabilitando-a. Pelo menos para mim, isso funcionou sem ter que modificar nenhuma permissão.
Isto também funciona no Debian sid com o gedit 3.4.2
-o allow_other
pode fazer algo por você ... parece que alguém teve um problema semelhante aqui: link
Anexe -o allow_other
ao final da sua instrução de montagem.
[EDITAR] Este é um problema conhecido, encontrei um relatório de erros no link .
Também foi descoberto que você pode contornar o bug de dentro do gedit (pelo menos), desabilitando o
Create a backup copy of files before saving
opção, em Edit
- > Preferences
- > Editor
.
O problema (de acordo com os caras do gedit) é um bug samba / cifs e foi registrado pela primeira vez (no Ubuntu) em 2006.
sshfs -o allow_other,default_permissions -o IdentityFile=/path/to/ssh_key REMOTE_USERNAME@REMOTE_HOST:/remote/dir/path/ test_mnt/
Adicionando default_permissions faz o truque!
Tags permissions gedit sshfs