Adicionando novo usuário manualmente
Publicado por Gabriel Falcão Gonçalves de Moura 10/12/2007
[ Hits: 10.515 ]
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!"
Monitoramento de usuário via screenshots
Barra de Progresso com Shell Script
slacklibre - Seu Slackware 100% Livre
video2gif: converta videoclipes em GIFs animados
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... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (2)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)