Como executar comandos de superusuario em um shell script

1. Como executar comandos de superusuario em um shell script

Fabrício Lisbôa Franco
fabregas

(usa Outra)

Enviado em 03/04/2018 - 13:49h

Estou fazendo um script que automatiza a montagem de alguns diretórios NFS em uma rede local. Porém, no meio do script ao verificar se existe o diretório e dando um mkdir, ele bloqueia por permissão negada.
Estou executando o script como root no terminal, porém ele deve executar "ações" dentro desse script que exigem autenticação. Tem alguma maneira de pelo menos eu pegar a senha num determinado instante e comparar com o arquivo sudoers?

Seria um sudo mkdir -p /mnt/diretorio1/dir2

Obrigado.


  


2. Re: Como executar comandos de superusuario em um shell script

Slackjeff
slackjeff

(usa Slackware)

Enviado em 03/04/2018 - 13:55h

A partir da hora que você chama o root você está abrindo uma subshell "shell filho", ou seja o script não continua de onde parou...então nao vai rolar.

Ou você já bota para ser executado desde o começo o programa como root ou após o usuario logar como root no meio do script fazer a chamada de outro script ou seja do resto do programa.
A segunda opção acho meio "complicada" já que terá que ter dois arquivos... então se necessita do root em algumas partes do programa, já faz para ser executado todo no mesmo formato!


THE MAGIC SHELL PROGRAMMER.

Slackware user since ~2008
Meu canal no youtube:
https://www.youtube.com/SlackJeff

Meu Site:
http://www.slackjeff.com.br/

Meus Programas estão aqui:
https://notabug.org/jeffersonrocha

Meu PODCAST:
http://podcast.slackjeff.com.br/







3. Como executar comandos de superusuario em um shell script

Fabrício Lisbôa Franco
fabregas

(usa Outra)

Enviado em 04/04/2018 - 08:26h

Então colega, pensei aqui no seguinte: através do visudo teria como eu adicionar uma entrada pra um script .sh ? Lá no sudoers..


4. Re: Como executar comandos de superusuario em um shell script

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 04/04/2018 - 09:42h

fabregas escreveu:

Estou fazendo um script que automatiza a montagem de alguns diretórios NFS em uma rede local. Porém, no meio do script ao verificar se existe o diretório e dando um mkdir, ele bloqueia por permissão negada.
...
Seria um sudo mkdir -p /mnt/diretorio1/dir2
Obrigado.


Pode ser gambiarra ???
https://www.vivaolinux.com.br/dica/Executar-comando-que-exija-root-como-usuario-comum

------------------------------------------| Linux User #621728 |-----------------------------------------

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

------------------------------------------| Linux User #621728 |-----------------------------------------



5. Como executar comandos de superusuario em um shell script

Fabrício Lisbôa Franco
fabregas

(usa Outra)

Enviado em 04/04/2018 - 13:47h

Consegui executar da seguinte forma: criei uma entrada no sudoers pro usuário que irá executar o script.
- Ja criei um job no cron pra executar esse script todos os dias as 9:00 da manhã. (Opcional)
- Reiniciei o PC
- dou um sudo comando... (isso dentro do script) e está funcionando ok agora.

O script que eu fiz é muito bacana, pois estou estudando pra concursos. O que ele faz é montar remotamente compartilhamentos NFS, e o usuário vai interagindo e decidindo quais diretórios ele quer montar na máquina local. Além disso ele faz uma varredura usando o NMAP em toda a rede local buscando compartilhamentos NFS.
Feito isso, o usuário é questionado se quer montar ou não. Vou postar em forma de artigo aqui no VOL, acho que devará ser de grande utilidade pra muita gente.


6. Re: Como executar comandos de superusuario em um shell script

caio
caionarezzi

(usa CentOS)

Enviado em 09/04/2018 - 10:15h

Que legal! posta o script para compartilha o conhecimento e marca como resolvido o tópico






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts