composisão de comando [RESOLVIDO]

1. composisão de comando [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 19/08/2016 - 12:53h

Pessoas ... tenho o comando "whoami" que retorna o usuário ... como fazer para adaptar ele nesse código

sed -i '/^root/ a retorno-do-whoami ALL=(ALL) ALL' /etc/sudoers 





  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/08/2016 - 17:37h

Mauriciodez escreveu:

tentei substituir aqui mas não deu certo, até lança no sudoers o nome mauricio, mas não coloca o resto "ALL=(ALL) ALL"

root@Phantom:/home/mauricio# sed -i '/^root/ a '$(users)' ALL=(ALL) ALL' /etc/sudoers
sed: não foi possível ler mauricio ALL=(ALL) ALL: Arquivo ou diretório não encontrado
root@Phantom:/home/mauricio#

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"



Mauricio, o ERRO ocorre pq "users" retorna "N" vezes o nome do usuário....
uma alternativa é:
users|sed 's/ /\n/g'|uniq
sed -i '/^root/ a '$(users|sed 's/ /\n/g'|uniq)' ALL=(ALL) ALL' /etc/sudoers

3. Re: composisão de comando

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/08/2016 - 14:55h

Mauriciodez escreveu:

Pessoas ... tenho o comando "whoami" que retorna o usuário ... como fazer para adaptar ele nesse código

sed -i '/^root/ a retorno-do-whoami ALL=(ALL) ALL' /etc/sudoers 




_______________________________________________________________

Se o objetivo é ALTERAR "root" pela saída de "whoami", o comando é:
sed -i 's/^root/'$(whoami)'/' /etc/sudoers 


EDITADO
sed -i 's/^root/a'$(COLOQUE_O_COMANDO_AQUI)'\tALL=(ALL) ALL' /etc/sudoers

Marcelo Oliver


4. Re: composisão de comando [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 19/08/2016 - 16:10h

msoliver escreveu:
...


dei uma manelada aqui ... o que eu quero não da pra fazer com "whoami" ... teria que fazer com "users" ... o desejado é colocar o usuario automaticamente no sudoers sem ter que digitar um nome!!!

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


5. Re: composisão de comando [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 19/08/2016 - 17:09h

tentei substituir aqui mas não deu certo, até lança no sudoers o nome mauricio, mas não coloca o resto "ALL=(ALL) ALL"

root@Phantom:/home/mauricio# sed -i '/^root/ a '$(users)' ALL=(ALL) ALL' /etc/sudoers
sed: não foi possível ler mauricio ALL=(ALL) ALL: Arquivo ou diretório não encontrado
root@Phantom:/home/mauricio#

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


6. Re: composisão de comando [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/08/2016 - 17:14h

echo -e "$(whoami | grep ^root)\tALL=(ALL:ALL) ALL" >> /etc/sudoers

ou

echo -e "$(whoami)\tALL=(ALL:ALL) ALL" >> /etc/sudoers

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



7. Re: composisão de comando [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 19/08/2016 - 17:24h

listeiro_037 escreveu:
..


nenhum dos dois me serve listeiro ... uma é q o "whoami" eu descartei do uso pq ele não tem o retorno que preciso .. o outro ponto dos teus códigos é q eles inserem no final do aquivo e não pode ser feito assim !!!

veja bem ... eu tenho inicialmente um sudoers original do debian ... ou seja, ele não tem o usuário inscrito no sudoers, aí eu tenho um script q automatiza tudo na reinstalação sacou ... no meu script eu tenho isso
sed -i '/^root/ a mauricio ALL=(ALL) ALL' /etc/sudoers 


Isso insere o usuário "mauricio" no sudoers ... aí eu resolvi mudar a parada, para que o comando continue inserindo o usuário no sudoers mas que seja o usuário do sistema e não o usuário fixo "mauricio"


___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


8. Re: composisão de comando [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 19/08/2016 - 18:08h

msoliver escreveu:
users|sed 's/ /\n/g'|uniq
sed -i '/^root/ a '$(users|sed 's/ /\n/g'|uniq)' ALL=(ALL) ALL' /etc/sudoers


Marcelo ... perfeito ... só me explica a sintaxe para eu compreende-la
sed 's/ /\n/g'|uniq 




___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


9. Re: composisão de comando [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/08/2016 - 19:56h

Mauriciodez escreveu:

msoliver escreveu:
users|sed 's/ /\n/g'|uniq
sed -i '/^root/ a '$(users|sed 's/ /\n/g'|uniq)' ALL=(ALL) ALL' /etc/sudoers


Marcelo ... perfeito ... só me explica a sintaxe para eu compreende-la
sed 's/ /\n/g'|uniq 

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


É bem simples . . .
A saída de "users" é na horizontal, para aplicar o comando uniq, (que elimina os repetidos), é necessário
"verticalizar" a saída . . .
users
"saída" => cnvdd cnvdd
users|sed 's/ /\n/g'
"saida"
cnvdd
cnvdd
Troca "espaço" por "\n" e "|"(direciona) para o "uniq"
sed 's/ /\n/g'|uniq 

"saída"
cnvdd

É isso....
abç.
Marcelo Oliver


10. Re: composisão de comando [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 19/08/2016 - 20:09h

msoliver escreveu:
Troca "espaço" por "\n"


certo ... entendi ... quaaaaaaaaaaaaaase .. aonde eu encontro esses comandos/instruções pra estudo ... tipo esse \n ... não sei se é quebra de linha ou o que é ... os outros tb nao sei o que é ... os únicos que sei meio que aprendi por osmose que é o "-e" e o "-i" ... existe algum conteúdo didático desse códigos ???



___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


11. Re: composisão de comando [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/08/2016 - 12:13h

Mauriciodez escreveu:

msoliver escreveu:
Troca "espaço" por "\n"


certo ... entendi ... quaaaaaaaaaaaaaase .. aonde eu encontro esses comandos/instruções pra estudo ... tipo esse \n ... não sei se é quebra de linha ou o que é ... os outros tb nao sei o que é ... os únicos que sei meio que aprendi por osmose que é o "-e" e o "-i" ... existe algum conteúdo didático desse códigos ???
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

___________________________________________________________________________________________
Sim, o "\n" e quebra de linha, nova linha, isso consta no "man echo"
Outras opções:
users|egrep -o '(^[a-z]+)' 

users|awk '{print $1}' 

users|cut -d" " -f1 


Material....
man comando
comando --help
man bash
http://aurelio.net/ #sed, regex, e outros 

http://aurelio.net/shell/canivete/ #resumo dos comandos 

Busque por "julio cesar neves", material de qualidade e fácil entendimento.
É isso. . .

Marcelo Oliver









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts