Não é possível modificar o arquivo após a criação

1

Eu criei um arquivo usando

sudo vim filename

mas não posso modificá-lo depois de criar.

Como posso tornar possível modificar este arquivo?

    
por Mohamed Ramzy Helmy 09.04.2015 / 09:11

1 resposta

5

Ao executar este comando

sudo vim filename

você cria um novo arquivo, cujo proprietário é o usuário root. Você pode confirmar isso executando ls -al . A partir da saída, você pode ver que o proprietário e o grupo ao qual o arquivo pertence estão definidos como raiz.

Se você tentar editá-lo com seu usuário normal, você não poderá, porque o arquivo não pertence ao seu usuário. Novamente, você pode ler o arquivo, mas não gravar nele, por causa das permissões. Você pode marcá-los a partir da linha de comando com o comando ls -al . Deve ser algo como:

-rw-r--r-- 1 root   root       4 Apr  9 07:40 filename

a primeira parte -rw-r--r-- significa que somente o proprietário pode ler e gravar no arquivo, usuários do mesmo grupo e outro usuário só podem ler o arquivo.

Aqui está um bom diagrama que descreve o significado das permissões:

Se você deseja editar o arquivo, deve fazê-lo como usuário root. Isso é quase sempre a melhor maneira:

sudo vim filename

Se você deseja editá-lo como usuário normal, pode atribuir permissões adicionais a ele (mas não deve fazer isso com arquivos do sistema fora de seu diretório inicial - use sudo para editá-los):

sudo chmod 777 filename

Desta forma, o arquivo será legível, gravável e executável de todos os usuários. Isso raramente é uma boa ideia.

Para conceder APENAS permissões de gravação a todos os outros usuários:

sudo chmod o+w filename

Caso contrário, se você quiser que o arquivo seja gravável apenas por você, você pode alterar o proprietário para você:

sudo chown yourusername:root filename
    
por shaddy 09.04.2015 / 09:39