Adicionando novo usuário manualmente

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

[ Hits: 10.480 ]

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

Script de compilação do Xorg 7.2 otimizado para Slackware 64 bits (Slamd64)

Backup Incremental

Cadastrando usuários para email no Slackware de forma mais simples

Compartilhamento de conexão

Execução temporizada de programas


  

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