Encontrei um guia que explica como definir a senha de um usuário . Estou tentando automatizá-lo e enviar um email para o usuário como:
userid created with password XYZ.
request to change the initial password.
De acordo com o documento acima, uma senha criptografada precisa ser criada usando Python e alimentada com o usermod
comando da seguinte maneira:
usermod -p "<encrypted-password>" <username>
Existem outras maneiras mais simples de fazer isso? Não quero baixar nenhum utilitário especial para fazer isso; deve ser generalizado o máximo possível.
Edit : Mesmo o método fornecido no link acima parece não funcionar para mim:
bash-3.00# python
Python 2.4.6 (#1, Dec 13 2009, 23:43:51) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt; print crypt.crypt("<password>","<salt>")
<sOMrcxm7pCPI
>>> ^D
bash-3.00# useradd -g other -p "sOMrcxm7pCPI" -G bin,sys -m -s /usr/bin/bash mukesh2
UX: useradd: ERROR: project sOMrcxm7pCPI does not exist. Choose another.
UX: useradd: sOMrcxm7pCPI name should be all lower case or numeric.
linux
shell
shell-script
administration
useradd
munish
fonte
fonte
usermod
quando usos alguémps
para ver processo de listagem a senha é visívelRespostas:
Você pode usar
chpasswd
para fazer isso, assim:Você pode entrar
chpasswd
em programas que não sejamecho
, se for conveniente, mas isso funcionará.Editar: para gerar a senha dentro do script shell e configurá-la, você pode fazer algo assim:
Para mais informações
chpasswd
, consulte http://linux.die.net/man/8/chpasswd(O comando para gerar a senha era de http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html )
fonte
sudo echo "username:newpass" | chpasswd
? Como as permissões elevadas desudo
não passam pelo canal, elaschpasswd
seriam executadas como um usuário normal. Pode ser corrigido movendo osudo
, como emecho "username:newpass" | sudo chpasswd
. Também existem outros problemas que podem causar essa mensagem de erro, mas erros de permissão como esse são provavelmente os mais comuns.Você pode usar o OpenSSL para gerar a senha aleatória (16 caracteres, neste caso):
Em seguida, alimente a senha com hash
useradd
ouusermod
Crédito no vencimento: a geração da senha é adaptada de um método semelhante usado em
/dev/urandom
vez deopenssl
.fonte
useradd deve funcionar (eu fiz no Ubuntu). Talvez verifique se cada um de seus argumentos está correto (existem grupos, o caminho é correto). Você pode executar o comando apenas com uma senha e um usuário e, em seguida, usar o userdel para remover e tentar novamente com mais parâmetros, para ver o que causa o problema (abordagem de força bruta).
Há também usuários novos (veja a página de manual), pelo menos no Ubuntu, onde você fornece um arquivo com arquivo passwd, como informações, incluindo senhas em texto simples e isso criará esses usuários. Ótima maneira de fazer muitos usuários ao mesmo tempo.
fonte
newusers
comando do Ubuntumaneira mais simples que encontrei:
fonte
passwd: unrecognized option '--stdin'