Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/08/2006, 17h56   #1
Membre actif
 
Inscription : juin 2004
Messages : 253
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 253
Points : 180
Points : 180
Par défaut Les droits à adopter pour un script d'administration.

je travaille sur un script qui demande les droits d'administrateur, mais qui sera lancé par un utilisateur. Je sais qu'avec sudo il est possible de faire des trucs semblables, mais j'ignore comment faire la chose de la façon la plus sécuritaire.

Si quelqu'un pourrait me donné un exemple sur la façon de faire un script qui me montre comment programmé sudo pour permettre l'exécution d'un fichier qui s'appelerai "hello-world.sh" sans que j'ai à me soucié que l'utilisateur soit en root ou non ....

P.S ce script aurait surement sa place dans un FAQ ...
Madmac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2006, 18h05   #2
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
ben tu fais ton script comme si root allait le lancer...

puis tu fais un tour du côté de /etc/sudoers


Code :
username   ALL ALL=/path/to/the/script*
et ça devrait passer


ps: visudo devrait te l'ouvrir direct
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2006, 08h01   #3
Membre actif
 
Inscription : juin 2004
Messages : 253
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 253
Points : 180
Points : 180
Si j'ai bien compris, j'ajoute cette ligne dans sudoer et à la fin de l'opération j'enlève la ligne.

J'aurai peut-être du précisé qu'il ne s'agissait qu'un logiciel pour configurer le path de configure et le lancer. Je m'attendais à quelque chose qui modifirait les droits du fichier. Remarque que je ne connais pas beaucoup les possibilité sur les droits et privilège.

En fait, à titre de référence le programme sera un espèce de kconfigure ...
Donc le script ne sera utilisé qu'une seul fois et que pour l'installation d'une seule application. Il y aurait-il d'autre approche moins lourde, parce que ton approche semble plus approprié pour un script qui pourrait-être utilisé plus d'une fois par l'utilisateur.
Madmac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2006, 09h57   #4
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Citation:
Envoyé par Madmac
En fait, à titre de référence le programme sera un espèce de kconfigure ...
Donc le script ne sera utilisé qu'une seul fois et que pour l'installation d'une seule application. Il y aurait-il d'autre approche moins lourde, parce que ton approche semble plus approprié pour un script qui pourrait-être utilisé plus d'une fois par l'utilisateur.

en effet...
Code :
su -c "/path/to/the/script arg1 ... argN"
mais faut avoir le mot de passe root
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 18h12   #5
Membre actif
 
Inscription : juin 2004
Messages : 253
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 253
Points : 180
Points : 180
Il semble que su soit un incontournable dans ce cas-ci ...

Trois questions additionnelles:

- si on lance su d'un script, est-ce que su retourne une valeur pour confirmer le succes de l'opération ?

- dans ta première solution

puis tu fais un tour du côté de /etc/sudoers


Code:

username ALL ALL=/path/to/the/script*


J'aimerai que tu confirme, parce que cette solution pourrait servir dans un autre cas de figure. Il suffirait que je rajoute cette ligne dans le dossier sudoers pour que le script fonctionne ?

Enfin dernière question: dans le cas ou l'installation du programme se fait dans le répertoire de l'utilisateur, quelles mesures mon script pourrait prendre pour que l'installation ce fasse en douceur ? (Est-ce que je peux définir ou modifier les droits du programme qui est installé avec un script ?)

À tous hasard, je te laisse un lien sur le programme qui t'éclaicira sur ce que je veut accomplir:
http://www.guidelinux.org/phpBB/view...r=asc&start=15

Je te remercie d'avance pour ta patience ...
Madmac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 20h44   #6
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
j'ai fait une erreur...
Code :
username    ALL=/path/to/the/script*
si je me souviens bien, le * c'est pour les arguments


ps: je ne connais pas le ruby... alors je vais avoir du mal
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 00h26   #7
Membre actif
 
Inscription : juin 2004
Messages : 253
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 253
Points : 180
Points : 180
Oublie le langage de programmation et aborde la question avec le langage de ton choix. Disons que tu as fabriqué un jeux et que tu désires faire en sorte qui puisse être installé par un enfant de 9 ans.

Quels sont les choses qui pourrait-être programmé, pour faire en sorte que le petit bonhomme puisse se servir de son jeux, sans devoir être un habitué de Linux ....

Attention le jeux est distribué sous forme de source ...
Madmac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 11h55   #8
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
ben pourquoi ne pas faire un rpm ou un deb ?

ce sera géré par un outil adéquate
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2006, 08h13   #9
Membre actif
 
Inscription : juin 2004
Messages : 253
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 253
Points : 180
Points : 180
En fait, s'essait d'envisager un autre système de packetage basé sur des tar.gz.

Quand on y pense, la compilation d'un programme varie très peu d'une version à une autre ainsi que les dépendances. Donc il n'est pas vraiment nécessaire d'avoir la méthode de compilation et l'application elle-même dans un même document.

Donc,il serait concevable de faire un registre de "recette de compilation" qui prendrait en charge la compilation ainsi que l'ordre des compilations. En plus, je travail sur un modèle théorique de gestion de packetage en prolog et je crois que dans le système de paquetage existant,il manque des informations pour faire un système vraiment béton.
Madmac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2006, 21h57   #10
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
as-tu lu ceci ?
http://larkine.developpez.com/cours/unix/freesoftware/
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2006, 00h31   #11
Membre actif
 
Inscription : juin 2004
Messages : 253
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 253
Points : 180
Points : 180
Je te remercie, mais cela ne change pas mes frustrations vis-à-vis le système actuel. Il y manque deux choses à ce tuto, comment compilé et installé une librairie plus complexe pour un newbie...) et deuxièmement comment utilisé Jam plutôt que make ...

Je vois deux freins à l'automatisation, la première est configure, très acceptable pour un humain, mais pas très commode pour un programme. Les informations qu'il donne ne concorde pas avec le paquetage, en tous cas sur SUSE, le nom d'une librairie et le nom du packetage sont deux chose très différentes, qui ne peut être résolue sans une intervention humaine.

Le deuxième est que des systèmes comme apt-get ne permet pas à utilisateur de ce donner une marge de sécurité. L'utilisateur devrait pourvoir choisir de programmer le gestionnaire de paquetage afin de ne pas avoir de paquetage donc la création date de moins de 200 jour, par exemple ...

Enfin autre inconvénient du système de paquetage est qu'il est statique, dans un système ou les informations sur le paquetage et le paquetage ne font qu'un, on doit avisé les utilisateurs si une patch est nécessaire par la suite. Avec un régistre on peut traité la patch comme une post-dépendance ou modifier la valeur du régistre vers une autre version.

Remarque que je connais pas le système des ports, si tu crois qu'il serait une meilleur base pour un système de paquetage géré par une IA, j'apprécie une évaluation des pour et des contre.
Madmac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2006, 11h59   #12
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
bah le système de ports, c'est surtout un genre d'apt-get qui télécharge les sources et recompile automatiquement
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2006, 21h02   #13
Membre actif
 
Inscription : juin 2004
Messages : 253
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 253
Points : 180
Points : 180
Mais il semble plus solide. Avec les RPM cette commande semble indispensable:

rpm --rebuilddb
Madmac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h57.


 
 
 
 
Partenaires

Hébergement Web