Escrever em arquivo protegido com shell script

1. Escrever em arquivo protegido com shell script

Rodolfo Bolconte Donato
rodolfobolconte

(usa Ubuntu)

Enviado em 09/09/2017 - 12:53h

Galera, quero fazer um script onde o usuário coloca informações de uma interface de rede, e o script escreve as informações passadas dentro do arquivo /etc/network/interfaces. Porém, o arquivo é protegido e não sei como eu faço para o script escrever nesse arquivo sem o >>. Segue um trecho do Script:

caminho='/etc/network/interfaces';

echo '' >> $caminho;
echo 'auto '$interface >> $caminho;
echo 'iface '$interface' inet static' >> $caminho;
echo ' address '$ip >> $caminho;
echo ' netmask '$mascara >> $caminho;
echo ' gateway '$gateway >> $caminho;
echo ' dns-nameservers '$dns_primario >> $caminho;
echo ' dns-nameservers '$dns_secundario >> $caminho;
echo '' >> $caminho;



  


2. Re: Escrever em arquivo protegido com shell script

felipe silva
lipman

(usa Debian)

Enviado em 09/09/2017 - 19:53h

rodolfobolconte escreveu:

Galera, quero fazer um script onde o usuário coloca informações de uma interface de rede, e o script escreve as informações passadas dentro do arquivo /etc/network/interfaces. Porém, o arquivo é protegido e não sei como eu faço para o script escrever nesse arquivo sem o >>. Segue um trecho do Script:

caminho='/etc/network/interfaces';

echo '' >> $caminho;
echo 'auto '$interface >> $caminho;
echo 'iface '$interface' inet static' >> $caminho;
echo ' address '$ip >> $caminho;
echo ' netmask '$mascara >> $caminho;
echo ' gateway '$gateway >> $caminho;
echo ' dns-nameservers '$dns_primario >> $caminho;
echo ' dns-nameservers '$dns_secundario >> $caminho;
echo '' >> $caminho;


ja tentou como root???


3. Re: Escrever em arquivo protegido com shell script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/09/2017 - 20:14h

rodolfobolconte escreveu:

Galera, quero fazer um script onde o usuário coloca informações de uma interface de rede, e o script escreve as informações passadas dentro do arquivo /etc/network/interfaces.
Porém, o arquivo é protegido e não sei como eu faço para o script escrever nesse arquivo sem o >>.
Segue um trecho do Script:

caminho='/etc/network/interfaces';

echo '' >> $caminho;
echo 'auto '$interface >> $caminho;
echo 'iface '$interface' inet static' >> $caminho;
echo ' address '$ip >> $caminho;
echo ' netmask '$mascara >> $caminho;
echo ' gateway '$gateway >> $caminho;
echo ' dns-nameservers '$dns_primario >> $caminho;
echo ' dns-nameservers '$dns_secundario >> $caminho;
echo '' >> $caminho;


Rodolfo, boa noite.
O problema não são os ">>", é a permissão. . .

Att.:
MSO



4. Re: Escrever em arquivo protegido com shell script

Rodolfo Bolconte Donato
rodolfobolconte

(usa Ubuntu)

Enviado em 10/09/2017 - 19:25h

msoliver escreveu:

rodolfobolconte escreveu:

Galera, quero fazer um script onde o usuário coloca informações de uma interface de rede, e o script escreve as informações passadas dentro do arquivo /etc/network/interfaces.
Porém, o arquivo é protegido e não sei como eu faço para o script escrever nesse arquivo sem o >>.
Segue um trecho do Script:

caminho='/etc/network/interfaces';

echo '' >> $caminho;
echo 'auto '$interface >> $caminho;
echo 'iface '$interface' inet static' >> $caminho;
echo ' address '$ip >> $caminho;
echo ' netmask '$mascara >> $caminho;
echo ' gateway '$gateway >> $caminho;
echo ' dns-nameservers '$dns_primario >> $caminho;
echo ' dns-nameservers '$dns_secundario >> $caminho;
echo '' >> $caminho;


Rodolfo, boa noite.
O problema não são os ">>", é a permissão. . .

Att.:
MSO


Sim, eu sei sobre a permissão, é que queria que escrevesse no arquivo protegido com pelo menos o sudo junto de cada linha. A única solução que achei foi alterar as permissões antes de escrever e voltá-la ao normal:

caminho='/etc/network/interfaces';
sudo chmod o+w $caminho;

echo '' >> $caminho;
echo 'auto '$interface >> $caminho;
echo 'iface '$interface' inet static' >> $caminho;
echo ' address '$ip >> $caminho;
echo ' netmask '$mascara >> $caminho;
echo ' gateway '$gateway >> $caminho;
echo ' dns-nameservers '$dns_primario >> $caminho;
echo ' dns-nameservers '$dns_secundario >> $caminho;
echo '' >> $caminho;

sudo chmod o-w $caminho;


Obrigado a todos pelas respostas.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts