Posté(e) le 13 février 200718 a Je suis entrain d'écrire un petit script en bash qui me permet facilement de sélectionner l'interface réseau (eth0) ou sans-fil (wlan0) et si le wlan0 est choisit, de choisir dans une liste pré-définie le réseau SSID à me connecter. On sait pour pour changer la configuration que l'on doit faire un redémarrage du service networking, dhclient et des ifconfig. Pour faire fonctionner mon petit script bash en étant root ça fonctionne super bien !!! Mais lorsque je suis avec un utilisateur standard ça ne fonctionne pas... faute de droits non accordés. J'ai essayé d'ajouter certaines actions dans /etc/sudoers à mes usagers, mais je me rends compte que la liste risque d'être assez longue et qu'encore là le processus d'arrêt de la carte sans-fil ne semble pas vouloir se faire. Mon script fait ceci: 1- sélection de etho ou wlan0 Si c'est eth0: A- Copie du fichier /etc/network/interfaces.eth0 vers /etc/network/interfaces B- ifconfig wlan0 down, ifconfig eth0 up et dhclient eth0 Si c'est wlan0: A- Sélection du réseau SSID B- Copie du fichier /etc/network/interfaces.SSIDchoisit vers /etc/network/interfaces C- ifconfig eth0 down, ifconfig wlan0 up D- /etc/init.d/networking restart ---------------------------------------------- Avez-vous une suggestion qui me permettrait un fonctionnement sans droit particulié ?
Posté(e) le 14 février 200718 a tu l'own par root et tu le suid chown root monscript chmod a+x monscript chmod +s monscript
Posté(e) le 14 février 200718 a Salut Sinon il y a ça : http://www.gnome.org/projects/NetworkManager/ Il existe aussi une version pour kde . a+
Posté(e) le 14 février 200718 a Auteur Ça peut pas marcher Lorinc, et c'était bien évident que le script était exécutable pour l'usager en question également. Mais le script exécute des commandes non-permises par un utilisateur standard (comme ifconfig, redémarrage d'un service, écrasement d'un fichier système, etc.) donc le script en lui-même s'exécute... mais pas son contenu. Je cherche donc d'une certaine manière une façon que lorsque le script s'exécute, que cette action (et ses sous-actions) soit réalisé par root (0). Si je pouvais faire un su - + mot de passe pré-enregistré de manière sécuritaire quie se tape tout seul afin que le tout s'exécute ça serait super. J'ai essayé d'ajouter l'utilisateur dans /etc/sudoers pour les programmes à exécuter, maisuand pour la commande /etc/init.d/networking, le problème que j'avais était durant son exécution. Pour redémarrer, le service doit faire appel aux I/O des interfaces réseaux... et j'obtiens une erreur "IOSCIOxxx qqchose du genre" mais en root pas de problème. ---------------- C'est quoi votre méthode vous pour autoriser vos télé-travailleurs (portable) à sélectionner les réseaux SSID sans donner de mots de passe root à ces usagers ? ----------------- Zoto, le gestionnaire réseau de Gnome ou KDE exige de taper le mot de passe root pour faire ces modifications. Modifié le 14 février 200718 a par ggbce
Posté(e) le 14 février 200718 a bah, je maintiens qu'un suid... tu te fais un petit programme comme ça : #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> int main(int argc, char ** argv) { char * eth = "eth"; const char * wlan = "wlan"; if(argc != 2) { printf("usage : netconfig [eth|wlan]\n"); exit(0); } if(strncmp(argv[1], eth,strlen(eth) ) == 0 && strlen(argv[1]) == 3) { printf("switching to ethernet...\n"); // ensemble de commandes } else if(strncmp(argv[1], wlan, strlen(wlan)) == 0 && strlen(argv[1]) == 4) { printf("switching to wifi...\n"); //ensemble de commandes } else { printf("usage : netconfig [eth|wlan]\n"); } return 0; } tu le suid root, et il ne te reste plus qu'a écrire la copie de fichiers, etc, etc...
Posté(e) le 14 février 200718 a ggbce, pas nécessairement, il suffit de te mettre dans le groupe plugdev et c'est bon, plus besoin de tapper un mot de passe root avec NetworkManager (d'ailleurs c'est son but).
Posté(e) le 14 février 200718 a Auteur Merci du renseignement ! Je vais combiner un peu de toutes vos réponses ensemble qui va surement me donner un résultat foncitonnel
Posté(e) le 16 février 200718 a deux trucs : ça dépend de ta distrib : - sous ubuntu tu peux modifier le fichier sudoers par visudo pour qu'il autorise certaines commandes sans demander de mot de passe - sous archlinux il y a un groupe il me semble pour que l'utilisateur puisse gérer les interface réseau Sinon il y a aussi networkManager, testé sous Gnome avec beaucoup d'intérêt, notamment pour les réseaux Wifi.
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.