Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

NicoZic56 a écrit :

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

NicoZic56 a écrit :

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