Não é possível definir meu shell como fish shell devido a um erro ao usar chsh devido ao bloqueio do arquivo

Não é possível definir meu shell como fish shell devido a um erro ao usar chsh devido ao bloqueio do arquivo

Meu problema: não consigo definir meu shell padrão para o usuário 'student' no CentOS 7 como fish-shell. Instalei o fish-shell baixando o .gz, configurando, make, make install.

output of which fish
/usr/local/bin/fish

executando su a partir da conta padrão de 'estudante', consigo escalar para root, cujo fish é definido como o shell padrão. Mas quando eu corro

student@localhost ~> whoami
root
student@localhost ~>
/root
student@localhost ~> sudo chsh -s /usr/local/bin/fish student
Changing shell for student. 
chsh: user attribute not changed: Invalid contents of lock `/etc/passwd.lock`

olhando para /etc/passwd não vejo nenhuma alteração.

Alguma ideia do que posso fazer? Parece que os arquivos de bloqueio estão me impedindo de prosseguir.

Responder1

Parece que uma de suas tentativas anteriores de alterar o /etc/passwdarquivo deixou algum lixo no arquivo de bloqueio.

Esse arquivo de bloqueio evita múltiplas atualizações que se cancelariam. Se você for o único a usar esse sistema, remova o arquivo /etc/passwd.locke tente novamente.

informação relacionada