Adicionando novo usuário manualmente

Publicado por Gabriel Falcão Gonçalves de Moura 10/12/2007

[ Hits: 10.350 ]

Homepage: http://gabrielfalcao.com

Download adduser.sh




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.

  



Esconder código-fonte

#!/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!"

Scripts recomendados

Backup Automatizado (atualizado)

Limpando conexão ociosa

Network_test

Copia arquivos distribuidos em pastas diferentes para uma única pasta.

Cálculo de intervalo de tempo


  

Comentários
[1] Comentário enviado por jofrepn em 08/06/2012 - 22:01h

como faço para que o debian 6 fazer o logon automaticamente e entre no ferifox tambem automaticamente.
obrigado

[2] Comentário enviado por rescobar em 28/08/2014 - 22:17h

onde eu coloco esse script?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts