Linux Users · 11 min read · Dec 15, 2025
Como Adicionar Usuários ao Linux OS a Partir de um Arquivo de Texto
Como Adicionar Usuários ao Linux OS a Partir de um Arquivo de Texto
Este tutorial é sobre um script bash para adicionar, excluir e verificar os usuários, seja a partir de um arquivo de texto; ele também pode adicionar, excluir e modificar os usuários manualmente. Este script pode ser usado para adicionar, excluir e verificar os usuários no Linux OS, buscando as informações do usuário de qualquer arquivo de texto e este script também pode adicionar, excluir ou verificar os usuários manualmente, eu coloquei ambas as funções em um único arquivo de script. O arquivo de texto pode ser especificado pelo administrador.
:-) !!!O script é totalmente amigável ao usuário!!! :-)
Você pode encontrar o script no final deste tutorial.
Iniciando o Script
Quando você iniciar o script, um menu aparecerá assim:
MENU
ADICIONAR USUÁRIOS
Verificar Usuários
Excluir Usuários
4. SAIR1. Adicionar Usuários
Agora selecione a opção
1. ADICIONAR USUÁRIOS
no menu pressionando
“1”
no teclado.
Agora o script confirma que o usuário deve ser root, e sabemos que o UID do root é zero (0). Então, primeiro eu comparo o UID do usuário atual com o zero (0), se o UID não corresponder ao UID do root, então será exibida a seguinte mensagem:
**Você deve ser o usuário root para executar este script!e se o
UID
corresponder ao UID do root, então ele exibirá a seguinte mensagem e executará o script:
*Identidade Verificada_ Você é o Root*
Podemos verificar o UID do usuário atual digitando o seguinte comando no terminal:
echo $UIDSe o usuário for root, então a função 1.ADICIONAR USUÁRIOS será executada.
Agora o script perguntará ao usuário se ele/ela deseja adicionar os usuários manualmente ou deixar o script obter as informações do usuário do arquivo de texto. Para isso, ele exibirá o seguinte menu:
#########################################
“Por favor, selecione o modo!!!
- Adicionar os Usuários Manualmente
2.Ler os Usuários Automaticamente do Arquivo de Texto###########################################
Agora, se o usuário selecionar 1. Adicionar os Usuários Manualmente, então o script solicitará ao usuário o nome de usuário, grupo e senha; ele usará os seguintes comandos para nome de usuário e grupo:
read usr_nameread usr_groupAgora, usando as informações acima, ele adicionará o usuário usando o seguinte comando:
useradd -g $usr_group -m $usr_namePara a senha, ele usará o seguinte comando:
passwd $usr_nameAgora, se o usuário selecionar a opção 2.Ler os Usuários Automaticamente do Arquivo de Texto, então o script localizará o arquivo de texto e verificará se ele existe, então ele lerá as informações como nome de usuário, grupo, senha do arquivo de texto.
Agora o script exibirá o diretório de trabalho atual onde o arquivo de texto deve estar localizado para o usuário, usando o seguinte comando:
echo $(pwd)/users.txt
Agora o script pergunta se o caminho acima do arquivo de texto está correto ou se você deseja inserir o caminho do arquivo manualmente, ele exibirá a seguinte mensagem ao usuário:
Você deseja usar o CAMINHO padrão acima? Sim=1 & Não=2Se o usuário pressionar 1 para Sim, então o script carregará o arquivo de texto do caminho mostrado, usando o seguinte comando:
Path=$($pwd)users.txtSe o usuário pressionar 2 para Não, então o script pedirá ao usuário para inserir o caminho correto para o arquivo de texto e lerá o caminho do arquivo usando o seguinte comando:
read PathO caminho do arquivo de texto é armazenado na variável “Path”. O seguinte comando será usado para verificar a existência do arquivo:
if [ -e $Path ];Ele extrairá o nome de usuário do arquivo de texto usando o seguinte comando:
Username=`grep "Username00$num" $Path | cut -f2 -d:`Ele extrairá o grupo do arquivo de texto usando o seguinte comando:
Group=`grep "Group" $Path |cut -f2 -d:`Ele extrairá a senha do arquivo de texto usando o seguinte comando:
Password=`grep "Password" $Path | cut -f2 -d:`Agora o script usa as variáveis que contêm as informações sobre os usuários e os adiciona ao Linux OS, usando os seguintes comandos:
Para adicionar um grupo, ele usará o seguinte comando:
groupadd $GroupPara adicionar os usuários ao grupo, ele usará o seguinte comando:
useradd -g $Group -m $UsernamePara definir a senha para todos os usuários, ele usa o seguinte comando:
echo $Password | /usr/bin/passwd --stdin $UsernameSenha é a variável que contém a mesma senha para todos os usuários, é extraída do arquivo de texto.
2. Verificar Usuários
Do menu:
### MENU ###- ADICIONAR USUÁRIOS
- Verificar Usuários
- Excluir Usuários
- SAIR
Se o usuário selecionar a opção 2. Verificar Usuários, outro menu aparecerá assim:
#################################
Por favor, selecione o modo!!!
1.Verificar Todos os Usuários do Sistema2.Verificar Todos os Usuários do ARQUIVO DE TEXTO
#################################
Do menu acima, se o usuário selecionar a opção 1.Verificar Todos os Usuários do Sistema, então todos os usuários do sistema serão exibidos ao usuário, eu usei o seguinte comando para esse propósito:
cat /etc/passwd |grep bashO resultado do comando, no meu caso, retornará os seguintes usuários bash:
root:x:0:0:root:/root:/bin/bash
lucky:x:501:501:Lucky:/home/lucky:/bin/bash
Agora, se o usuário selecionar a opção 2.Verificar Todos os Usuários do ARQUIVO DE TEXTO, então todos os usuários que estão mencionados no arquivo de texto serão verificados. No meu caso, eu usei o seguinte comando para verificar os usuários do arquivo de texto, se foram adicionados ao Linux OS ou não, e quantos usuários eu tenho.
Para verificar os usuários, eu usei o seguinte comando no meu script:
Path=$($pwd)users.txt
varify=grep "varify" $Path |cut -f2 -d:
cat /etc/passwd | grep $varify
Verificar é a variável que contém o valor único dos nomes de usuário.
Para exibir o número total de usuários, eu usei o seguinte comando:
echo -e “\nVocê tem atualmente”
cat /etc/passwd | grep $varify |wc -l;
echo “usuários adicionados do seu Arquivo de Texto”
O resultado do comando acima, no meu caso, é:
fa05btn001:x:502:502::/home/fa05btn001:/bin/bash
fa05btn002:x:503:502::/home/fa05btn002:/bin/bash
fa05btn003:x:504:502::/home/fa05btn003:/bin/bash
fa05btn004:x:505:502::/home/fa05btn004:/bin/bash
fa05btn005:x:506:502::/home/fa05btn005:/bin/bash
fa05btn006:x:507:502::/home/fa05btn006:/bin/bash
fa05btn007:x:508:502::/home/fa05btn007:/bin/bash
fa05btn008:x:509:502::/home/fa05btn008:/bin/bash
Você tem atualmente 8 usuários adicionados do seu Arquivo de Texto
3. Excluir Usuários
Do menu:
MENU
ADICIONAR USUÁRIOS
Verificar Usuários
Excluir Usuários
4. SAIRSe o usuário selecionar a opção 3. Excluir Usuários, então a verificação do usuário como root será feita antes de prosseguir. Se o usuário for verificado como root com sucesso, então outro menu aparecerá assim:
##############################################
Por favor, selecione o modo!!!
1.Excluir Usuário Específico
2.Excluir todos os Usuários Especificados no ARQUIVO DE TEXTO
##############################################
Agora, do menu acima, se o usuário selecionar a opção 1.Excluir Usuário Específico, então o script exibirá os usuários atuais do sistema e pedirá ao usuário para inserir o nome do usuário a ser excluído.
Para exibir todos os usuários do sistema, eu usei o seguinte comando:
cat /etc/passwd |grep bash O comando acima exibirá o seguinte resultado:
Você tem atualmente os seguintes USUÁRIOS adicionados ao seu sistema
root:x:0:0:root:/root:/bin/bash
lucky:x:501:501:Lucky:/home/lucky:/bin/bash
fa05btn001:x:502:502::/home/fa05btn001:/bin/bash
fa05btn002:x:503:502::/home/fa05btn002:/bin/bash
fa05btn003:x:504:502::/home/fa05btn003:/bin/bash
fa05btn004:x:505:502::/home/fa05btn004:/bin/bash
fa05btn005:x:506:502::/home/fa05btn005:/bin/bash
fa05btn006:x:507:502::/home/fa05btn006:/bin/bash
fa05btn007:x:508:502::/home/fa05btn007:/bin/bash
fa05btn008:x:509:502::/home/fa05btn008:/bin/bash
Digite o Nome do Usuário que você deseja Excluir:Agora o usuário será solicitado a inserir o nome do usuário a ser excluído, e quando o usuário inserir o nome do usuário que ele/ela deseja excluir, o Linux OS procurará o usuário no arquivo acima e excluirá o usuário usando o seguinte comando:
read user_name
userdel -r $user_name
Agora, se o usuário selecionar a opção
2.Excluir todos os Usuários Especificados no ARQUIVO DE TEXTO
então o script excluirá todos os usuários listados naquele arquivo de texto.
O seguinte comando extrairá os nomes de usuário do arquivo de texto:
Username=`grep "Username00$num" $Path | cut -f2 -d:`O seguinte segmento de script irá para o final do arquivo e termina o loop:
if [ $Username == “EOF” ]; then
clear
main
fi
O seguinte comando excluirá os usuários listados no arquivo de texto:
userdel -r $UsernameNota: Eu testei meu script ADDUSER.sh no PCLinuxOS, e espero que ele também funcione bem em outras distribuições Linux. Qualquer um pode modificar o código também, e por favor, compartilhe com os outros.
Tenha um bom tempo. :-)
O SEGUINTE É O SCRIPT COMPLETO PARA ADICIONAR, EXCLUIR e VERIFICAR OS USUÁRIOS NO LINUX OS.
Criado por USMAN AKRAM (ajaonchat)
#!/bin/bash ############################################################### #Este Script foi Criado por # # USMAN AKRAM (ajaonchat) # # FA05-BTN-005 # # BTN-6 # ############################################################### add_users() { ROOT_UID=0 #O usuário root tem um UID de 0 if [ "$UID" -ne "$ROOT_UID" ]; then echo "Você deve ser o root user para executar este script!**" exit fi echo echo Identidade Verificada_ Você é o Root echo echo -e "\n#########################################\n" echo -e "Por favor, selecione o modo!!!\n" echo -e "1. Adicionar os Usuários Manualmente\n 2.Ler os Usuários Automaticamente do Arquivo de Texto\n" echo -e "###########################################" read add_opt case $add_opt in 1) echo -e "Por favor, insira o nome do usuário:" read usr_name echo -e "Por favor, insira o grupo do usuário" read usr_group groupadd $usr_group useradd -g $usr_group -m $usr_name echo -e "Por favor, insira a senha para o usuário $usr_name" passwd $usr_name ;; 2) echo echo "O diretório de trabalho atual é: `pwd`/users.txt" echo echo -e "Você deseja usar o CAMINHO padrão acima? Sim=1 & Não=2" read yn if [ $yn == 1 ]; then Path=$($pwd)users.txt else echo -n "Por favor, insira o caminho correto para o arquivo (ex: /root/folder/filename.txt): " read Path fi if [ -e $Path ]; then #Se o arquivo especificado pelo usuário existir Username=lucky num=1 while [ $Username != "EOF" ] do Username=`grep "Username00$num" $Path | cut -f2 -d:` #Extrair Nome de Usuário do arquivo de texto num=$(($num+1)) Password=`grep "Password" $Path | cut -f2 -d:` #Extrair Senha do arquivo de texto Group=`grep "Group" $Path |cut -f2 -d:` #Extrair Grupo do arquivo de texto groupadd $Group #Adiciona o usuário ao sistema e dá a eles uma senha if [ $Username == "EOF" ]; then clear main fi #Adiciona o usuário ao sistema useradd -g $Group -m $Username #Adiciona a senha dos usuários echo $Password | /usr/bin/passwd --stdin $Username #senha do usuário será atribuída done else #Se o arquivo especificado pelo usuário não existir echo -e "\n#############################################" echo -e "\n######NÃO É POSSÍVEL ENCONTRAR ou LOCALIZAR O ARQUIVO!!!!#####" echo -e "\n#############################################" fi;; *) echo -e "Você selecionou a opção errada!!!" esac } varify() { echo -e "#################################" echo -e "Por favor, selecione o modo!!!\n" echo -e "1.Verificar Todos os Usuários do Sistema\n 2.Verificar Todos os Usuários do ARQUIVO DE TEXTO\n" echo -e "#################################" read varify_user case $varify_user in 1) cat /etc/passwd |grep bash;; 2) echo echo "O diretório de trabalho atual é: `pwd`/users.txt" echo echo -e "Você deseja usar o CAMINHO padrão acima? Sim=1 & Não=2" read yn if [ $yn == 1 ]; then Path=$($pwd)users.txt else echo -n "Por favor, insira o caminho correto para o arquivo (ex: /root/folder/filename.txt): " read Path fi if [ -e $Path ]; then Path=$($pwd)users.txt varify=`grep "varify" $Path |cut -f2 -d:` cat /etc/passwd | grep $varify echo -e "\nVocê tem atualmente " cat /etc/passwd | grep $varify |wc -l echo "usuários adicionados do seu Arquivo de Texto" else #Se o arquivo especificado pelo usuário não existir echo -e "\n#############################################" echo -e "\n######NÃO É POSSÍVEL ENCONTRAR ou LOCALIZAR O ARQUIVO!!!!#####" echo -e "\n#############################################" fi ;; *) echo -e "Escolha errada" esac } del_users() { #Este Script irá excluir os Usuários do DIRETÓRIO PESSOAL!!!! ROOT_UID=0 #O usuário root tem um UID de 0 if [ "$UID" -ne "$ROOT_UID" ]; then echo "**Você deve ser o root user para executar este script!**" exit fi echo echo Identidade Verificada_ Você é o Root echo echo "O diretório de trabalho atual é: `pwd`/students.txt" #Este é o Menu para selecionar o modo de exclusão dos usuários, seja excluir o usuário selecionado ou excluir todos os usuários que você tem no ARQUIVO DE TEXTO...??? echo -e "####################################" echo -e "\nPor favor, selecione o modo!!!\n 1.Excluir Usuário Específico\n 2.Excluir todos os Usuários Especificados no ARQUIVO DE TEXTO\n" echo -e "####################################" read del_opt case $del_opt in 1) echo -e "\n\nVocê tem atualmente os seguintes USUÁRIOS adicionados ao seu sistema\n" cat /etc/passwd |grep bash echo -e "\n\n Digite o Nome do Usuário que você deseja Excluir:" read user_name userdel -r $user_name ;; 2) echo echo "O diretório de trabalho atual é: `pwd`/users.txt" echo echo -e "Você deseja usar o CAMINHO padrão acima? Sim=1 & Não=2" read yn if [ $yn == 1 ]; then Path=$($pwd)users.txt else echo -n "Por favor, insira o caminho correto para o arquivo (ex: /root/folder/filename.txt): " read Path fi if [ -e $Path ]; then #Se o arquivo especificado pelo usuário existir num=1 Username=lucky while [ $Username != "EOF" ] do Username=`grep "Username00$num" $Path | cut -f2 -d:` #Extrair Nome de Usuário do arquivo de texto if [ $Username == "EOF" ]; then clear main fi userdel -r $Username num=$(($num+1)) done else #Se o arquivo especificado pelo usuário não existir echo -e "\n#############################################" echo -e "\n######NÃO É POSSÍVEL ENCONTRAR ou LOCALIZAR O ARQUIVO!!!!#####" echo -e "\n#############################################" fi ;; *) echo -e "Escolha errada" esac } main() { opt=1 while [ $opt -le 4 ] do clear echo -e " ### MENU ###\n 1. ADICIONAR USUÁRIOS\n 2. Verificar Usuários\n 3. Excluir Usuários\n 4. SAIR\n" read opt case $opt in 1) add_users ;; 2) varify ;; 3) del_users ;; 4) exit 0 ;; *) echo -e "Você inseriu a opção errada!!!" esac echo -e "\nDeseja executar o Script novamente Sim=1 & Não=4." read opt done } main exit 0
Este é o arquivo de texto que eu usei com meu script
#######################################################
CRIAÇÃO POR
USMAN AKRAM (LUCKY)
FA05-BTN-005
[email protected]
#######################################################
Conta de Estudante da COMSATS Abbottabad
==============================
Nome do arquivo:users.txt
Ano:2008
Campus:CIIT-ABTD
Grupo:btn
##A seguir estão os usuários que serão adicionados ao DIRETÓRIO PESSOAL!!!
Username001:fa05btn001
Username002:fa05btn002
Username003:fa05btn003
Username004:fa05btn004
Username005:fa05btn005
Username006:fa05btn006
Username007:fa05btn007
Username008:fa05btn008
Username009:EOF
#será o usuário final
verificar:fa05btn
Senha:123456
Fim do Arquivo de Texto!!!!Criado por USMAN AKRAM(Lucky), Estudante da Universidade COMSATS Abbottabad [BS(TN)-6] Endereço de E-mail: [email protected]
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.