Que comando devo executar após fazer alterações no arquivo / etc / passwd

12

Fiz algumas alterações no arquivo / etc / passwd, agora queria ver se o efeito das alterações ocorreu ou não. Que comando devo executar para isso?

Por exemplo, depois de fazer alterações no arquivo / etc / ssh / ssh_config, eu executo o comando /etc/init.d/sshd.

RAM
fonte

Respostas:

19

Para verificar o arquivo passwde o correspondente shadow, use pwck. Para verificar o arquivo groupcorrespondente e gshadow, use grpck'. Veja as páginas de manual para obter detalhes das ações que eles executam.

/etc/passwdÉ melhor editar manualmente (se houver) com vipwe vipw -spara o shadowarquivo. Para /etc/groupe /etc/gshadowuse vigre vigr -s, respectivamente. O uso dessas ferramentas fornece não apenas um bloqueio para impedir atualizações múltiplas e simultâneas do usuário, mas também oferece verificação de validade.

Em geral, é melhor fazer modificações nos arquivos de senha e grupo usando o padrão user(add|mod|del)e as group(add|mod|del)ferramentas.

JRFerguson
fonte
7

Não existe um comando para aplicar alterações no arquivo / etc / passwd.

Se o usuário cujos detalhes você alterou estiver conectado, basta fazer login novamente para aplicar as alterações. Caso contrário, eles estarão disponíveis imediatamente após o login.

Isso ocorre porque o logon lê os detalhes do arquivo passwd durante o logon e mantém na memória até o logout.

pressa
fonte
2
"... não existe esse comando ..." no Linux . Muitos outros * ixes possuem esses comandos. O passedarquivo é compilado em um formato binário mais rápido de processar ou é mantido apenas para compatibilidade e os dados precisam ser traduzidos para o formulário de banco de dados de senha nativa do sistema operacional.
perfil completo de Warren Young
2

Tive sucesso com o update-passwdcomando depois de editar manualmente o arquivo / etc / passwd em sistemas baseados no Debian (por exemplo, Ubuntu). Eu sei que esse NÃO é o uso pretendido desse comando, mas funciona para esse fim também. Veja sua página de manual para mais detalhes: http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html

Nos sistemas baseados no Red Hat / CentOS, não encontrei um comando equivalente; nesses sistemas, tive que reiniciar o sistema para que as alterações entrassem em vigor.

Como alguém já mencionou, é melhor não editar o arquivo / etc / passwd manualmente. Em vez disso, uso os comandos useradd / userdel / usermod sempre que possível. O único motivo válido para editar os arquivos / etc / passwd e / etc / group IMO é quando eu preciso copiar várias contas de outro sistema. Depois de adicionar, por exemplo, 100 contas dessa maneira, geralmente faço uma reinicialização completa do sistema. Além disso, quando você edita manualmente os arquivos / etc / passwd e / ou / etc / groups, não se esqueça de editar também os arquivos de sombra apropriados.

Zoltan
fonte
1

Eu não acho que exista esse comando, pois não é necessário em primeiro lugar. Também não é aconselhável editar esse arquivo diretamente. Em vez disso, use os comandos apropriados, como useradd e passwd

Se você não estiver convencido, basta reiniciar após editar o arquivo e todas as alterações entrarão em vigor

Hinklo
fonte
0

Você não deve modificar /etc/passwdmanualmente; use em usermodvez disso

Por exemplo:

Se você deseja alterar o diretório inicial do usuário, use este comando:

usermod --home /path/to/home/dir username
Sun Kuo
fonte
1
Às vezes, é necessário editar o arquivo manualmente, mas vipwdeve ser usado.
Kusalananda
@Kusalananda
Sun Kuo