Adicionando novo usuário manualmente
Publicado por Gabriel Falcão Gonçalves de Moura 10/12/2007
[ Hits: 10.541 ]
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 individual de contas no ZIMBRA MAIL
Gera estatísticas de tráfego de pacotes nas interfaces de um servidor linux via SNMPv3.
Conciliando ZRAM Swap com Swap em arquivo ou partição
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Ajuda com o Debian 13 - Video hibrido geforce 940 mx Wayland OFF (2)
Problema com impressoras de rede (1)
Rust é o "C da nossa geração"? (10)