Sem permissão para modificar arquivos em meu próprio diretório & HOME

1

Eu tenho tentado atualizar meu arquivo ~ / .fonts.conf mas ele simplesmente não funciona.

Eu tentei ir "su" para mover ou "chmod", mas o mesmo problema.

O SELinux está configurado para ser permissivo e eu não entendo porque não está funcionando.

veja algumas saídas ...

% sudo -i mv /home/marc/.fonts.conf /home/marc/Downloads/
% mv: cannot move '/home/marc/.fonts.conf' to '/home/marc/Downloads/.fonts.conf':Operation not permitted

Eu também tentei ser root "su -" e o mesmo erro!

tentando apenas editar no Nano ou em outro editor. me dá "permissão negada"

aqui estão as permissões para o arquivo verificado por ls -la ...

-rw-rw-r--. 1 marc marc 91 May  4 17:45 .fonts.conf

Eu uso o Fedora 15 (beta)

Estou faltando alguma coisa? Por favor, qualquer ajuda é apreciada.

OBS: Ao instalar o fedora 15, decidi manter minha partição inicial e lembro-me uma mensagem dizendo que o SElinux tinha problemas tentando corrigir permissões para o meu usuário e me propondo verificar essas configurações sozinho, mas sem link ou algo sobre onde eles. : S

    
por marcjunior 09.05.2011 / 02:32

1 resposta

1

Se cp funcionar, sabemos que você pode gravar no diretório de destino, portanto, quando mv falhar, deve ser porque você não pode remover (desvincular em unix speak) o arquivo do diretório de origem.

Agora, "Operação não permitida" é EPERM e, de acordo com a página de manual unlink(2) , há duas maneiras de obter isso ao desvincular um arquivo:

   EPERM (Linux only)
          The file system does not allow unlinking of files.

   EPERM or EACCES
          The directory containing pathname has the sticky  bit  (S_ISVTX)
          set  and  the  process's effective UID is neither the UID of the
          file to be deleted nor that of the directory containing it,  and
          the  process  is  not  privileged  (Linux:  does  not  have  the
          CAP_FOWNER capability).

Para ser honesto, ambos parecem improváveis, mas você certamente deve verificar as permissões em seu diretório pessoal fazendo:

    ls -ld /home/marc

Se o bit pegajoso estiver definido, você verá um caractere t no final da string de modo.

A propósito, o importante é perceber que, ao excluir um arquivo em um sistema unix, são as permissões no diretório do qual você está removendo, do que é importante, não as permissões no arquivo que está sendo removido.

    
por 17.06.2011 / 23:02