O sistema de arquivos Linux parece ter camadas e camadas de sutileza que eu tropeço caso a caso:
Estou interessado em editar este arquivo:
[user@box ~]$ ls -l /a/b/c/foo.bar
-rw-rwxr-x 1 user user 144529 Jan 26 2018 /a/b/c/foo.bar
Parece que deve ser gravável pelo usuário user
- verdade? Mas quando tento editar o arquivo no vim, recebo um W10: Warning: Changing a readonly file
aviso " ".
Eu sei que a capacidade de gravação do arquivo depende das permissões da pasta que o contém. Eu acho que a pasta que contém precisa ter permissão de execução - verdade? Presumo que a permissão de diretório necessária também se estenda até /
- true?
Parece-me que a árvore de pastas que contém o arquivo observado tem permissões de execução:
[user@box ~]$ ls -ld /a/b/c/
drwxrwxrwx 2 user user 36864 Mar 5 17:50 /a/b/c/
[user@box ~]$ ls -ld /a/b/
drwxrwxr-x 4 user user 4096 Sep 22 2017 /a/b/
[user@box ~]$ ls -ld /a/
drwxrwxr-x 9 user user 4096 Sep 15 2017 /a/
[user@box ~]$ ls -ld /
drwxr-xr-x 24 root root 0 Aug 24 10:48 /
[user@box ~]$ whoami
user
Tanto quanto eu posso dizer acima, cada diretório na árvore relevante tem permissões de execução. No começo, desconfiei se tinha a ver com /
ser de propriedade de root
, mas tem permissão de execução para "outros". Além disso, se houvesse problemas relacionados à /
propriedade de root
, imagino que teria problemas para gravar arquivos em qualquer lugar do sistema de arquivos como um usuário diferente de root
, mas esse não é o caso.
Alguém pode pensar/identificar outras razões pelas quais o arquivo observado é considerado somente leitura?
Primeiro - você está com o conjunto de sinalizadores imutáveis
Se o sinalizador imutável estiver definido, você não poderá alterar o arquivo. Lembre-se de que as permissões não anularam esse comportamento!
Segundo, verifique se o diretório onde está o arquivo, está montado em outro disco ou partição , como somente leitura, para isso basta digitar:
(sem argumentos)
Se você vir algo como seu diretório montado como somente leitura, há o motivo! Remonte-o como leitura/gravação para ter sorte!
Terceiro - e mais comum , você está apenas executando um sistema de arquivos com erros , para corrigir isso, você deve fazer backup do que puder, reinicializar, depois fazer login no modo único e executar:
(ext4 talvez precise ser alterado para o seu tipo de partição)
Boa sorte!