View Full Version : Come creare uno script di livello root in ubuntu...
3nigma666
09-07-2007, 21:25
ciao a tutti..
io ho necessita di far runnare all'avvio di ogni sessione questo script:
#!/bin/bash
sdpd
sdptool add --channel=3 SP
dund --listen --channel 3 --msdun noauth 192.254.1.68:169.254.1.1 crtscts 115200 ms-dns 85.37.17.14 lock
rfcomm bind 4 00:1B:AF:BF:7F:73 5
chmod 777 /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
il problema è che deve essere assolutamente eseguito in modalità root.
non posso scrivere sudo prima di ogni input xke inevitabilmente mi chiederebbe la passw .
Inoltre considerando che lo script l'ho chiamato bt_n70 , non posso richiamarlo da gestione sessioni in questo modo:
sudo /home/bt_n70
perke avrebbe comunque bisogno della passw.
come posso fare per aggirare il problema ? grazie a tutti per l'aiuto
Penso basti settare il SUID
chmod u+s <nomescript>
EDIT: credo vada fatto da root
3nigma666
09-07-2007, 22:15
Penso basti settare il SUID
chmod u+s <nomescript>
EDIT: credo vada fatto da root
protroppo non cambia nulla... :'(
anche io ho lo stesso problema... e mi era venuta in mente una soluzione... forse è una vaccata... forse no. La mia idea è la seguente:
sudo -i
e poi passargli la pass...credo che sia possibile.... ma non ho la più ben che minima idea di come farlo...
protroppo non cambia nulla... :'(
Sicuro?
Il file deve appartenere all'utente root
sudo chown root:root <nomescript>
http://it.wikipedia.org/wiki/Setuid
3nigma666
09-07-2007, 22:30
anche io ho lo stesso problema... e mi era venuta in mente una soluzione... forse è una vaccata... forse no. La mia idea è la seguente:
sudo -i
e poi passargli la pass...credo che sia possibile.... ma non ho la più ben che minima idea di come farlo...
grandissimo mi hai fatto venire una mega idea che ha risolto il problema :
crei due script: uno che fa tipo da "main" e l'altro lo script vero e proprio
nel "main" scrivi:
echo TUAPASSWORD_DI_ROOT | sudo ./TUOSCRIPT
e nel secondo script metti il codice del tuo script.
Praticamente crei una pipe: l'output della prima stringa di codice è l'input della seconda :):):)
ora basta andare in sistema -> preferenze -> sessione
e aggiungere il tuo "main" ai programmi da caricare ad inizio sessione
3nigma666
09-07-2007, 22:35
Sicuro?
Il file deve appartenere all'utente root
sudo chown root:root <nomescript>
http://it.wikipedia.org/wiki/Setuid
si hia ragione nache il tuo modo funziona.. il file ero convinto di averlo creato con il comando :
sudo gedit nomefile
in realta avevo fatto solo
gedit nomefile
quindi non apparteneva al root
3nigma666
09-07-2007, 22:42
si si in entrambe le maniere
Bene :)
Forse il metodo SUID è *un pelo* più sicuro :asd:
Psycotic
10-07-2007, 12:06
nn c'era bisogno, sul file sudoers basta mettere l'entry NOPASSWD e nn ti chiede la pass
esempio: (/etc/sudoers)
pippo ALL=(root) NOPASSWD: /etc/init.d/apache2
nn c'era bisogno, sul file sudoers basta mettere l'entry NOPASSWD e nn ti chiede la pass
esempio: (/etc/sudoers)
pippo ALL=(root) NOPASSWD: /etc/init.d/apache2Interessante, non lo sapevo... :)
3nigma666
10-07-2007, 19:49
nn c'era bisogno, sul file sudoers basta mettere l'entry NOPASSWD e nn ti chiede la pass
esempio: (/etc/sudoers)
pippo ALL=(root) NOPASSWD: /etc/init.d/apache2
ma cosi perdo molto in sicurezza.. no ?
ma cosi perdo molto in sicurezza.. no ?Non credo, dall'esempio pare che la password non venga chiesta
solo per il file specificato (nel caso dell'esempio apache2)
ciao a tutti..
io ho necessita di far runnare all'avvio di ogni sessione questo script:
#!/bin/bash
sdpd
sdptool add --channel=3 SP
dund --listen --channel 3 --msdun noauth 192.254.1.68:169.254.1.1 crtscts 115200 ms-dns 85.37.17.14 lock
rfcomm bind 4 00:1B:AF:BF:7F:73 5
chmod 777 /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE
il problema è che deve essere assolutamente eseguito in modalità root.
non posso scrivere sudo prima di ogni input xke inevitabilmente mi chiederebbe la passw .
Inoltre considerando che lo script l'ho chiamato bt_n70 , non posso richiamarlo da gestione sessioni in questo modo:
sudo /home/bt_n70
perke avrebbe comunque bisogno della passw.
come posso fare per aggirare il problema ? grazie a tutti per l'aiuto
abilita l'account root e poi eseguilo come root.
Prima di abilitare l'account di root fissa la password di root con "sudo passwd root".
Per abilitare l'account root (Ubuntu 7.04) vai in Sistema->Amministrazione->Finestra di accesso
quindi nella finestra che compare vai nella tab "sicurezza" e spunta "Consentire il login locale dell'amministratore di sistema", chiudi e così l'account di root è abilitato.
La password sarà quella che hai inserito in precedenza.
abilita l'account root e poi eseguilo come root.
Prima di abilitare l'account di root fissa la password di root con "sudo passwd root".
Per abilitare l'account root (Ubuntu 7.04) vai in Sistema->Amministrazione->Finestra di accesso
quindi nella finestra che compare vai nella tab "sicurezza" e spunta "Consentire il login locale dell'amministratore di sistema", chiudi e così l'account di root è abilitato.
La password sarà quella che hai inserito in precedenza.Ragazzi, manco nel forum di Winzoz mi sa che si sentono consigli del genere :asd:
Ma scusa, sono stati proposi due metodi che non abbassano il livello di sicurezza proprio perchè risolvono il problema seguendo la logica con cui un sistema *nix è pensato...
La soluzione che proponi è perversa
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.