Michael Costa linuxajuda@gmail.com [shell-script]
2017-03-17 13:12:39 UTC
Pessoal, bom dia!
Tenho um arquivo com o seguinte conteudo:
maestro_932_gid=931(grpmstr)_groups=1(staff)_groups=1(staff)_/maestro_/bin/bash
sapadm_32123_gid=204(sapsys)_groups=206(oper),208(sapinst)_groups=206(oper),208(sapinst)_/home/sapadm_/usr/bin/ksh
oracle_31201_gid=205(dba)_groups=206(oper),208(sapinst)_groups=206(oper),208(sapinst)_/oracle/SID_/bin/false
usuario_206_gid=204(sapsys)_groups=208(sapinst)_groups=208(sapinst)_/home/usuario_/bin/bash
O que estou tentando fazer, é usar este arquivo como origem e gerar os
comandos de criação de usuário e grupo baseado nele.
Problemas que estou enfrentando:
O campo do ((HOME) é variável, as vezes está na sexta posição e em outras
vezes varia.
Os grupos se repetem, preciso de uma forma de validar se o comando do grupo
já foi processado e não repetir (pensei em jogar todos os comandos para um
arquivo e depois dar um uniq nele)
Preciso validar se o grupo ou o usuário já existem no servidor.
A saida esperada, seria algo do tipo:
groupadd -g 931 grpmstr
groupadd -g 1 staff
useradd -g grpmstr -u 932 -G staff -m -s /bin/bash maestro
groupadd -g 204 sapsys
groupadd -g 206 oper
Grupo sapinst já existe no sistema com ID 208
useradd -g sapsys -u 32123 -G oper,sapinst -m -s /usr/bin/ksh
groupadd -g 205 dba
Grupo oper já existe no ambiente com ID 206
Usuario oracle já existe no ambiente. (saida do comando id oracle)
E por ai vai.
Entenderam ?
Agradeço!
Tenho um arquivo com o seguinte conteudo:
maestro_932_gid=931(grpmstr)_groups=1(staff)_groups=1(staff)_/maestro_/bin/bash
sapadm_32123_gid=204(sapsys)_groups=206(oper),208(sapinst)_groups=206(oper),208(sapinst)_/home/sapadm_/usr/bin/ksh
oracle_31201_gid=205(dba)_groups=206(oper),208(sapinst)_groups=206(oper),208(sapinst)_/oracle/SID_/bin/false
usuario_206_gid=204(sapsys)_groups=208(sapinst)_groups=208(sapinst)_/home/usuario_/bin/bash
O que estou tentando fazer, é usar este arquivo como origem e gerar os
comandos de criação de usuário e grupo baseado nele.
Problemas que estou enfrentando:
O campo do ((HOME) é variável, as vezes está na sexta posição e em outras
vezes varia.
Os grupos se repetem, preciso de uma forma de validar se o comando do grupo
já foi processado e não repetir (pensei em jogar todos os comandos para um
arquivo e depois dar um uniq nele)
Preciso validar se o grupo ou o usuário já existem no servidor.
A saida esperada, seria algo do tipo:
groupadd -g 931 grpmstr
groupadd -g 1 staff
useradd -g grpmstr -u 932 -G staff -m -s /bin/bash maestro
groupadd -g 204 sapsys
groupadd -g 206 oper
Grupo sapinst já existe no sistema com ID 208
useradd -g sapsys -u 32123 -G oper,sapinst -m -s /usr/bin/ksh
groupadd -g 205 dba
Grupo oper já existe no ambiente com ID 206
Usuario oracle já existe no ambiente. (saida do comando id oracle)
E por ai vai.
Entenderam ?
Agradeço!