Pages : 1
#1 Le 31/08/2013, à 19:00
- yann458
Reseau provisoire
Bonjour,
j'ai écrit un fichier script dans le bureau (ou sont afficher les icones)
sudo service network-manager start
sleep 600
sudo service network-manager stop
Ca marche quand je l'execute depuis la ligne de commande "./monscript" , mais quand je l'execute directement du bureau
ben ca marche pas.
Y a t'il une astuce ?,quite à ce ubuntu me demande le mot de passe admin que je connais.
Merci .
Dernière modification par yann458 (Le 06/10/2013, à 19:46)
Hors ligne
#2 Le 31/08/2013, à 21:53
- NicoZic56
Re : Reseau provisoire
Hello.
Oui, il y a une astuce...
Il faut passer par un script suid.
Modifier ton script en :
#!/bin/ksh
service network-manager start
sleep 600
service network-manager stop
Ensuite, le script doit appartenir à root, mais il faut positionner le bit suid (qui permet de s'attribuer les droits du propriétaire du fichier).
sudo chmod 750 monscript
sudo chmod +s monscript
Voilà ce qui devrait faire l'affaire.
Attention, cela crée une faille de sécurité.
Suis avec attention les instructions de cette page.
============
"Il n'y a que deux sortes de langages de programmation: ceux dont les gens disent toujours du mal et ceux que personne n'utilise."
Bjarne Stroustrup
Hors ligne
#3 Le 01/09/2013, à 11:12
- yann458
Re : Reseau provisoire
Merci ,
Mais ca ne marche pas.
aer@aer-MS-7693:~/Bureau/reseau$ ./I.NetWork
./I.NetWork: ligne 1 : fg: pas de contrôle de tâche
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.122" (uid=1000 pid=5231 comm="start network-manager ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
La ça marche :
aer@aer-MS-7693:~/Bureau/reseau$ sudo ./I.NetWork
./I.NetWork: 1: ./I.NetWork: %: not found
network-manager start/running, process 5262
Quand je lance depuis le bureau , ça ne marche pas.
code :
% cat change-pass
#!/bin/ksh
service network-manager start
sleep 600
service network-manager stop
Hors ligne
#4 Le 01/09/2013, à 22:40
- NicoZic56
Re : Reseau provisoire
Tout d'abord, il y a une erreur dans le script, la première ligne est à supprimer
Ensuite, comme je l'indiquais, mettre le bit SUID sur un script présente trop de failles de sécurité. Cela a été désactivé.
Et puis ksh n'est plus nécessaire (je viens de me rendre compte qu'il n'est pas installé par défaut sous Ubuntu).
En relisant ta demande, je vois que tu acceptes de saisir ton mot de passe admin, il y a donc uns solution simple.
On va créer le script dans /root
(sudo gedit /root/a.sh).
#!/bin/sh
service network-manager start
sleep 600
service network-manager stop
(edit... j'avais oublié)
sudo chmod 700 /root/a.sh
Le script a mettre sur le bureau
#!/bin/sh
gksudo /root/a.sh
Lui mettre les droits d'exécution.
Si tu double-cliques dessus, il devrait te demander les droits d'admin et lancer le script.
(J'ai testé sous XFCE et ça marche avec un script similaire).
Dernière modification par NicoZic56 (Le 01/09/2013, à 22:43)
============
"Il n'y a que deux sortes de langages de programmation: ceux dont les gens disent toujours du mal et ceux que personne n'utilise."
Bjarne Stroustrup
Hors ligne
#5 Le 02/09/2013, à 21:22
- yann458
Re : Reseau provisoire
Ca marche !
Merci beaucoup ;
Merci.
Hors ligne
#6 Le 02/09/2013, à 21:29
- NicoZic56
Re : Reseau provisoire
Y pas de quoi. Merci pour ton retour.
N'oublie pas de marquer le problème comme résolu en ajoutant [Résolu] au titre.
============
"Il n'y a que deux sortes de langages de programmation: ceux dont les gens disent toujours du mal et ceux que personne n'utilise."
Bjarne Stroustrup
Hors ligne
#7 Le 06/09/2013, à 01:02
- yann458
Re : Reseau provisoire
Juste une question ,
le contrôleur réseau aime t'il cela quand cela se fait fréquemment ?
D'aprés moi ce script met off sur le contrôleur reseau.
Hors ligne
#8 Le 07/09/2013, à 09:59
- NicoZic56
Re : Reseau provisoire
La commande stop est faite pour ça !
Que cela soit pour ta machine ou pour l'infrastructure la commande est correcte.
============
"Il n'y a que deux sortes de langages de programmation: ceux dont les gens disent toujours du mal et ceux que personne n'utilise."
Bjarne Stroustrup
Hors ligne
#9 Le 11/09/2013, à 20:13
- yann458
Re : Reseau provisoire
La commande stop est faite pour ça !
Que cela soit pour ta machine ou pour l'infrastructure la commande est correcte.
La commande stop , arrête le logiciel mais aussi le matériel (contrôleur réseau)
Hors ligne
#10 Le 06/10/2013, à 19:49
- yann458
Re : Reseau provisoire
Tout d'abord, il y a une erreur dans le script, la première ligne est à supprimer
Ensuite, comme je l'indiquais, mettre le bit SUID sur un script présente trop de failles de sécurité. Cela a été désactivé.
Et puis ksh n'est plus nécessaire (je viens de me rendre compte qu'il n'est pas installé par défaut sous Ubuntu).
En relisant ta demande, je vois que tu acceptes de saisir ton mot de passe admin, il y a donc uns solution simple.On va créer le script dans /root
(sudo gedit /root/a.sh).#!/bin/sh service network-manager start sleep 600 service network-manager stop
(edit... j'avais oublié)
sudo chmod 700 /root/a.sh
Le script a mettre sur le bureau
#!/bin/sh gksudo /root/a.sh
Lui mettre les droits d'exécution.
Si tu double-cliques dessus, il devrait te demander les droits d'admin et lancer le script.
(J'ai testé sous XFCE et ça marche avec un script similaire).
OK , ca fonctionne,
mais finalement je voudrais que mon mot de passe (que je connais) soit envoyé systématiquement
à gksudo.
je n'est pas vu dans l'aide en ligne de gksudo , le paramètre de mot de passe automatique.
Hors ligne
Pages : 1