Se eu possuo um arquivo, por que preciso alterar a permissão para escrever nele?

1

Se eu criar um arquivo com sudo vim test e abri-lo na minha conta (sem sudo ), por que o editor reclama quando tento modificar o arquivo (ou seja, a opção somente leitura está definida)?

De acordo com ls -l , sou o proprietário e o proprietário tem rwx

Por que não consigo gravar no arquivo?

    
por digiform 22.02.2018 / 15:38

2 respostas

2

Se você criar um arquivo com sudo vim test , o proprietário será root, não você, portanto, se você quiser editar o arquivo, será necessário alterar o proprietário da raiz para você ou alterar as permissões.

Veja:

jordim@bucketlist-196008:~/test$ sudo vim test
jordim@bucketlist-196008:~/test$ ls -l
total 8
(...)
-rw-r--r-- 1 root   root      2 Feb 22 15:43 test
(...)

O arquivo criado pertence a root: root e somente root tem permissões de leitura e gravação para ele. O resto dos usuários do grupo só pode ler, assim como qualquer outro usuário de outros grupos.

A questão é: por que você está criando o arquivo com "sudo" se você precisar editá-lo posteriormente como um usuário comum?

    
por 22.02.2018 / 15:47
1

Quando você cria um arquivo usando sudo command , o proprietário do arquivo é root .

Exemplo:

$ sudo vim test
$ ls -lsa test
4 -rw-r--r-- 1 root root 5 Feb 22 16:43 test

Quando você estiver tentando atualizar (gravar) um arquivo usando uma conta normal (que não é root ), não será possível gravar no arquivo (a menos que a permissão do arquivo seja gravável para todos)

Exemplo:

$ echo "testing 123..." > test
bash: test: Permission denied
    
por 22.02.2018 / 15:46