Criar usuários com ponto (nome.usuario) no Slackware
Publicado por Charles de Jesus Lima da Costa (última atualização em 06/11/2011)
[ Hits: 7.830 ]
Um grande problema encontrado por diversos administradores de servidores Slackaware é quando seu cliente pede para que os logins de usuário sajam no padrão nome.sobrenome. Trata-se de um problema porque se você simplesmente digitar "useradd nome.sobrenome" recebera a mensagem de erro alertando sobre a sintaxe incorreta do login do usuário devido ao ponto.
E agora? O que fazer quando todos os serviços possuem essa sintaxe?
Podemos fazer essa tarefa na "unha" editando os arquivos /etc/passwd , /etc/shadow e /etc/samba/smbpasswd, e ainda renomear o home dos usuários "mv /home/nomesobrenome /home/nome.sobrenome".
Fala a verdade, nem dá tanto trabalho assim. Mas fazer isso para 100, 200, 500 usuários é terrível!
Esse script trata justamente sobre a criação de usuários com o padrão nome.sobrenome e ainda faz isso em lotes!
Basta ter um arquivo nomeado como nomes no mesmo diretorio do script com a seguinte sintaxe por linha:
nomeusuario nome.usuario senha grupopadrao
Espero que ajude a muitos!
#!/bin/bash ################################################################################################# # # # ESSE SCRIPT CONTORNA A RESTRICAO ENCONTRADA EM ALGUMAS DISTROS (NO MEU CASO SLACKWARE) # # PARA A CRIACAO DE USUARIOS COM UM PONTO NO LOGIN (useradd user.name). # # E FUNDAMENTAL POSSUIR O ARQUIVO 'nomes' NO MESMO DIRETORIO QUE ESSE SCRIPT COM A SINTAXE # # NOMEUSUARIO NOME.USUARIO SENHA GRUPOPADRAO # # # ################################################################################################# # # # Desenvolvido por Charles de Jesus (CeeJay-BR @ Viva o Linux) em 02.11.2011 # # # ################################################################################################# #Backup dos arquivos originais do sistema cp /etc/passwd /scripts/samba/passwd.bak cp /etc/shadow /scripts/samba/shadow.bak cp /etc/samba/smbpasswd /scripts/samba/smbpasswd.bak #Inicio da rotina - Armazena em i cada login contido na primeira coluna do arquivo nomes for i in $(awk '{print $1}' nomes) do #Definindo variaveis nome1=$(grep $i nomes | awk '{print $1}') #Nome sem o ponto nome2=$(grep $i nomes | awk '{print $2}') #Nome com o ponto senha=$(grep $i nomes | awk '{print $3}') #Senha grupo=$(grep $i nomes | awk '{print $4}') #Grupo #Verfica se o usuario ja existe: #Se nao existir o login sem ponto e o login com ponto if [ -z $(grep $nome1 /etc/passwd) ] && [ -z $(grep $nome2 /etc/passwd) ] ; then #Adiciona o usuario criando o diretorio /home/$login, adicionando-o ao grupo definido na quarta coluna do arquivo nomes useradd $i -m -g $grupo #Aplica a senha definida na terceira coluna do arquivo nomes echo $i:$senha | chpasswd #Adiciona o usurio no SAMBA (echo $senha; echo $senha) | smbpasswd -s -a $i #Altera os arquivos do sistema: Substitui o login sem ponto pelo login com ponto sed "s/$nome1/$nome2/g" /etc/passwd > /etc/passwd.tmp rm /etc/passwd mv /etc/passwd.tmp /etc/passwd sed "s/$nome1/$nome2/g" /etc/shadow > /etc/shadow.tmp rm /etc/shadow mv /etc/shadow.tmp /etc/shadow sed "s/$nome1/$nome2/g" /etc/samba/smbpasswd > /etc/samba/smbpasswd.tmp rm /etc/samba/smbpasswd mv /etc/samba/smbpasswd.tmp /etc/samba/smbpasswd mv "/home/$nome1" "/home/$nome2" cp /etc/passwd /scripts/samba/passwd cp /etc/shadow /scripts/samba/shadow cp /etc/samba/smbpasswd /scripts/samba/smbpasswd else #Exibe uma mensagem de erro caso o usuario ja esteja cadastrado no sistema echo "Usuario ja cadastrado!" $nome2 fi done
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGA AS MSG <.APAGADAS> GERADAS PELO SCRIPT delete_all_u
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Separar trafego da VPN da VPS (0)
Formatando cartão de memoria que nao formata[AJUDA] (17)
warsaw parou de funcionar após atualização do sistema (solução) (0)
Desde que seja DDR3, posso colocar qualquer memória? [RESOLVIDO] (6)