Adicionando novo usuário manualmente
Publicado por Gabriel Falcão Gonçalves de Moura 10/12/2007
[ Hits: 10.350 ]
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!"
Backup Automatizado (atualizado)
Copia arquivos distribuidos em pastas diferentes para uma única pasta.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
Mikrotik não mostra bytes nem packtes (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta