Adicionando novo usuário manualmente
Publicado por Gabriel Falcão Gonçalves de Moura 10/12/2007
[ Hits: 10.601 ]
Homepage: http://gabrielfalcao.com
Este é um exemplo de como adicionar usuários manualmente no sistema.
Cria usuário e script para que no primeiro logon o usuário tenha que definir sua senha.
#!/bin/sh
if [ $USER != 'root' ]; then
echo "Voce precisa ser root para adicionar usuarios!"
exit 1
fi
UIDSX=`cat /etc/passwd| cut -d: -f3`
USERSX=`cat /etc/passwd| cut -d: -f1`
BIGUID=0
for UiD in $UIDSX;
do
if [ $UiD -gt $BIGUID ]; then
BIGUID=$UiD
fi
done
MYUID=$(($BIGUID + 1))
GIDSX=`cat /etc/group | cut -d: -f3`
GROUPSX=`cat /etc/group | cut -d: -f1`
BIGGID=0
for GiD in $GIDSX;
do
if [ $GiD -gt $BIGGID ]; then
BIGGID=$GiD
fi
done
MYGID=$(($BIGGID + 1))
UsuarioExiste(){
FLAG=1
for USUARIO in $USERSX;
do
if [ $1 == $USUARIO ]; then
echo $GRUPO
FLAG=0
fi
done
return $FLAG
}
GrupoExiste(){
FLAG=1
for GRUPO in $GROUPSX;
do
if [ $1 == $GRUPO ]; then
echo $GRUPO
FLAG=0
fi
done
return $FLAG
}
echo "Digite um novo USERNAME nos padroes posix:"
read MYUSER
UsuarioExiste $MYUSER
if [ $? == 0 ]; then
echo "Usuario $MYUSER ja existe!"
exit 1
fi
GrupoExiste $MYUSER
if [ $? == 0 ]; then
echo "Ja existe um grupo com o nome de usuario escolhido, tente novamente com outro nome"
exit 1
fi
echo "Digite o nome real do usuario"
echo "(Letras, numeros e/ou espacos)"
echo "Nome:"
read NOME
echo "Adicionando usuario $MYUSER com o uid $MYUID..."
sleep 1
echo "$MYUSER::$MYUID:$MYGID:$NOME:/home/$MYUSER:/bin/bash" >> /etc/passwd
echo "Adicionando grupo $MYUSER com o gid $MYGID..."
sleep 1
echo "$MYUSER:x:$MYGID:$MYUSER" >> /etc/group
echo "Criando home do usuario: /home/$MYUSER..."
mkdir /home/$MYUSER
sleep 0.5
if [ $? == 1 ]; then
echo "Erro ao criar home do usuario, tente criar manualmente..."
sleep 0.5
else
echo "Usuario $MYUSER criado com sucesso!"
fi
echo "Criando configuracoes basicas para o usuario $MYUSER..."
sleep 0.5
cp -R /etc/skel/.bash* /home/$MYUSER/
if [ $? == 0 ]; then
echo 'Sucesso!'
else
echo 'Falhado. Algumas configuracoes podem nao ter sido feitas...'
sleep 1
fi
chown -R $MYUSER /home/$MYUSER
chgrp -R $MYUSER /home/$MYUSER
echo "Proximo login vai criar senha..."
echo '#!/bin/sh' >> /home/$MYUSER/criasenha.sh
echo 'clear' >> /home/$MYUSER/criasenha.sh
echo 'echo "Crie uma senha para o seu usuario:"' >> /home/$MYUSER/criasenha.sh
echo 'echo ""' >> /home/$MYUSER/criasenha.sh
echo 'passwd' >> /home/$MYUSER/criasenha.sh
echo '[ -f /etc/skel/.bashrc ] && cat /etc/skel/.bashrc > .bashrc' >> /home/$MYUSER/criasenha.sh
echo 'rm -f `echo $0`' >> /home/$MYUSER/criasenha.sh
chmod +x /home/$MYUSER/criasenha.sh
echo './criasenha.sh' > /home/$MYUSER/.bashrc
echo 'PRONTO!' "Usuario $MYUSER criado com sucesso!"
Script q ue cria uma galeria de imagens
script dapper para debootstrap
Monitore vários servidores ao mesmo tempo com Apache + shellscript
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Programa fora de escala na tela do pc (38)
\Boot sem espaço em disco (Fedora KDE Plasma 42) (1)
Mint Xfce não mantém a conexão no wi-fi (2)









