shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Extrair comandos a partir de um arquivo


From: Michael Costa
Subject: Extrair comandos a partir de um arquivo
Date: Fri, 17 Mar 2017 10:12:39 -0300

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!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]