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 .