Não modifique /etc/passwd
com sed
. Use as ferramentas fornecidas para fazer a interface com esse arquivo.
Nesse caso, chpass
/ chsh
ou possivelmente o mais geral usermod
.
Na maioria dos sistemas:
$ sudo chpass -s /sbin/nologin mysql
ou
$ sudo chsh -s /sbin/nologin mysql
funcionaria.
Você não deseja editar /etc/passwd
com sed
(ou com vim
/ emacs
) e definitivamente não com sed -i
.
O usuário @JdeBP me lembra o utilitário vipw
nos comentários abaixo. Este é um comando especial, muito parecido com visudo
, que permite editar o /etc/passwd
enquanto cuida do bloqueio de arquivos, etc. Ele também faz verificação de consistência / sintaxe do arquivo salvo antes de instalar o novo arquivo de senha no lugar do arquivo. antigo. Consulte o manual de vipw
em seu sistema para obter mais informações. Esta é a única maneira segura de editar o arquivo de senhas manualmente.
Observe também que em alguns sistemas Unix, o shell de login padrão é definido por outros meios além do arquivo de senhas. No OS X, por exemplo, usuários comuns nem sequer têm uma entrada em /etc/passwd
.