Adicionando novo usuário manualmente
Publicado por Gabriel Falcão Gonçalves de Moura 10/12/2007
[ Hits: 10.513 ]
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!"
Criar gráficos, estatística da "Google-Scholar" usando wget
Angelinux Scripts - Teste de desempenho da sua maquina!
Máquina Virtual no Linux KDu4 ou outras distros / remasters
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (2)
Gestão de Ambiente em uma rede Linux (3)