Evince não salvará arquivos, diz "Permissão negada"

2

Se eu for para a caixa de diálogo salvar do evince, vá para /home/username/Documents , no meu diretório inicial, e tente criar um novo diretório (por exemplo, foo ), a operação falhará. Evince diz:

  

Could not create directory /home/[username]/Documents/foo: Permission denied

O Evince também se recusa a salvar arquivos com o mesmo tipo de mensagem.

Estou executando o Ubuntu 12.04 e evince 3.4.0. Eu também devo mencionar que / home é um link simbólico para / media / hdd / home (o sistema de arquivos é dividido em uma unidade de estado sólido e HDD; um pouco de experiência). Isso não incomoda nenhum outro aplicativo. O Evince está rodando como eu e deve ter permissões de gravação em / media / hdd / home / username / Documents, de acordo com ls -l.

dmesg mostra que o evince tentou criar o diretório, mas foi negado:

[10991.212472] type=1400 audit(1355983426.653:614): apparmor="DENIED"
operation="mkdir" parent=1 profile="/usr/bin/evince" name="/media/hdd/home
/username/Documents/foo/" pid=2940 comm="evince" requested_mask="c" denied_mask="c"
fsuid=1001 ouid=1001
    
por Matt 20.12.2012 / 07:18

3 respostas

2

Eu tive o mesmo problema e resolvi com:

$ sudo apt-get install apparmor-utils
$ sudo aa-complain /usr/bin/evince

Isso muda o perfil do apparmor para evince em complain mode . Isso significa que o apparmor irá reclamar no syslog sobre cada ação do evince que deve ser negada (de acordo com o perfil) ... mas permite isso mesmo assim.

Claro que esta não é a melhor solução, pois todo o perfil é "desativado". Mas como eu não sei como convencer o apparmor a permitir que evince faça mkdir em alvos com link simbólico fora de ~ (que é a razão da negação), isso funciona bem para mim.

    
por Nicolas 05.12.2013 / 22:34
1

No meu caso, meu diretório pessoal era um link simbólico para um compartilhamento de rede que não estava montado em /home . Isso fez com que o Apparmor negasse a criação do diretório. Eu consertei isso adicionando meu caminho de diretório pessoal real ao conjunto de caminhos do diretório inicial na configuração do Apparmor:

echo '@{HOMEDIRS}+=/myrealhomedir/' > /etc/apparmor.d/tunables/home.d/somename sudo dpkg-reconfigure apparmor

    
por user1225999 25.10.2016 / 14:33
0

Desculpe desenterrar uma pergunta antiga, mas esta é a única página relevante para esse problema que encontrei. Eu estou enfrentando o mesmo problema assim que eu mudo o jeito que eu monto meu compartilhamento de samba. Se você usar o modo "padrão" do Nautilus para acessar arquivos em um compartilhamento de rede, o Nautilus montará o compartilhamento em

  

/ run / user /

ou

  

~ / .local / share / gvfs-metadata /

Aparentemente ele configura para aceitar esses diretórios. Mas se você montar o compartilhamento em outro diretório, ele não funcionará mais. Portanto, temos que adicionar todo o compartilhamento de rede à lista de diretórios autorizados.

Isso é bem explicado aqui . Embora a resposta user1225999 funcione, a primeira linha é desnecessária como o propósito de

  

sudo dpkg-reconfigure apparmor

é permitir que você digite seu caminho de compartilhamento para adicioná-lo aos caminhos do diretório inicial. O comando irá adicionar o caminho para

  

/etc/apparmor.d/tunables/home.d/ubuntu

Arquivo

(este arquivo já existe).

    
por thierryb 20.09.2017 / 21:02