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.929 ]
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
Fluxbox: Wallpapers aleatórios
cal2svg gerador de calendários em formato vetorial SVG
Monitorando seus daemon de impressão...
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGA AS MSG <.APAGADAS> GERADAS PELO SCRIPT delete_all_u
Nenhum coment�rio foi encontrado.
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)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (1)
O que você está ouvindo agora? [2] (180)