Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:comment_eviter_root_quand_c_est_possible [Le 28/11/2010, 09:17]
200.223.67.2 VGKuPAieQerQ
tutoriel:comment_eviter_root_quand_c_est_possible [Le 11/09/2022, 12:25] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-Rh3tcH ​ <href="http://wsduvpgexiwi.com/">wsduvpgexiwi</a>, [url=http://tzbfluwvbvmv.com/]tzbfluwvbvmv[/url], [link=http://gynppyqvbejl.com/]gynppyqvbejl[/link], http://mmyxuvqurqig.com/+{{tag>​tutoriel sudo administration système}} 
 + 
 +---- 
 +====== Éviter de lancer une commande en tant qu'​administrateur lorsque c'est possible ====== 
 + 
 +Il y deux situations dans lesquelles on peut éviter d'​avoir à lancer des commandes en tant qu'​administrateur là où il le faudrait en théorie. 
 +  * Lorsque vous souhaitez compiler certains logiciels et notamment [[:​tutoriel:​creer_un_paquet|créer des paquets]],​ 
 +  * Lorsque vous cherchez à installer un logiciel fourni sous forme de [[:​tutoriel:​script_shell|script exécutable]],​ et que celui-ci cherche à s'​installer par défaut dans un [[:​arborescence|répertoire administrateur]] comme /usr/local par exemple 
 + 
 +===== Pré-requis ===== 
 + 
 +  * Disposer des [[:​sudo|droits d'​administration]] (pour préparer le système) 
 + 
 + 
 +===== Compilation de logiciels avec fakeroot ===== 
 + 
 +[[http://manpages.ubuntu.com/manpages/​gutsy/​fr/​man1/​fakeroot-tcp.1.html|fakeroot]] lance une commande dans un environnement dans lequel cette commande obtient les droits de l’administrateur pour manipuler des fichiers. C’est pratique pour permettre aux utilisateurs de créer des [[:​archivage|archives]] (tar, ar, .deb, etc.) qui contiennent des fichiers avec les privilèges et appartenances du [[:​sudo|superutilisateur]]. Sans fakeroot, il faudrait posséder les droits du superutilisateur pour donner les droits et appartenances convenables aux fichiers constituant l’archive,​ puis de les assembler ; ou bien, il faudrait construire directement l’archive,​ sans utiliser le programme d’archivage. 
 + 
 + 
 +===== Installation de logiciels fournis sous forme de scripts exécutables dans un répertoire administrateur ===== 
 + 
 +<note tip>Souvent, il est possible de modifier le chemin d'​installation par défaut des scripts. Pensez à vérifier dans leurs options si vous ne pouvez pas les installer directement dans votre /home. De cette manière vous n'​aurez même pas besoin des droits d'​administration.</note> 
 + 
 +Un exemple vaut mieux qu'un long discourssupposons que vous souhaitiez installer la dernière version du JDK de Sun, après l'​avoir téléchargée chez eux. La procédure, et son intérêt sont expliqués ici : [[:netbeans#​mode_d_installation_alternatif|Installation du Java Developpement Kit]].  
 + 
 +Toute l'​astuce consiste à créer le répertoire où le script va s'​installer,​ et changer ses droits (qui par défaut sont en root) par les vôtres. 
 +<​code>​sudo mkdir /usr/local/java        # crée un répertoire nommé java dans vos dossiers root 
 +sudo chown VOTRE_LOGIN ​/usr/​local/​java ​ # confère les droits utilisateurs sur ce dossier et donc son contenu 
 +sudo chgrp VOTRE_LOGIN /​usr/​local/​java ​ # confère les droits de votre groupe sur ce dossier et donc son contenu</​code>​ 
 +Notez que si jamais vous souhaitez que d'​autres utilisateurs que vous même aient accès au contenu de ce dossieril faut leur en donner les droits. Voir à ce sujet la commande [[:permissions|chmod]]. Par exemple la commande ''​chmod a+rwx /usr/local/​java''​ donne a absolument tout le monde le droit de faire n'​importe quoi avec ce dossierSi vous êtes l'​unique utilisateur de cet ordinateur ou de ce programme, vous n'avez pas à vous en soucier. 
 + 
 +<note tip>Si jamais vous aviez déjà installé une version de votre logiciel ou d'un autre qui a créé le répertoire avec les droits d'​administration,​ et que vous avez besoin de le réinstaller sachant que vous êtes susceptibles de modifier aussi des sous répertoires,​ pensez à mettre l'​option récursive "​-R"​ après le chown et le chgrp afin qu'ils s'​appliquent à l'​ensemble des fichiers et sous répertoires de votre répertoire de base</note> 
 +<note warning>​Pour éviter les risques de sécurité, il ne faut jamais modifier les droits d'un répertoire système que vous n'avez pas vous même créé (et même là il faut être prudent) à moins de savoir vraiment ce que vous faites.</note> 
 +<note important>​Si vous souhaitez que le programme que vous installez puisse être trouvé automatiquement par le système lorsque vous entrez son nom dans la console, pensez à rajouter son chemin d'​accès dans le 
 +[[:​variables_d_environnement#​variables_liees_aux_emplacements_de_fichiers|PATH]]. Pour ce faireéditez votre ~/.profile, et ajoutez à la fin <​code>​PATH="​votre/​chemin/​dacces:$PATH"<​/code><​/note> 
 + 
 + 
 +===== Utilisation du bit SUID pour donner à n'​importe qui le droit d'​exécuter un programme normalement réservé au root ===== 
 + 
 +Cette manipulation n'est pas possible pour les scriptsEn effet, en supposant que vous créiez un script appartenant à root, mais avec les droits d'​écriture pour d'​autres utilisateurs,​ cela créerai une faille système dangereuse. Elle est donc réservée aux binaires. Même ainsi, il vaut mieux faire preuve de prudence. Tout binaire système que vous rendez accessible à tous est une faille potentielle. Passons maintenant à l'​application:​ c'est très simple. Naviguez en console jusqu'​au binaire que vous voulez rendre accessible à tous, et tapez 
 +<​code>​sudo chmod +s NOM_BINAIRE</​code>​ 
 +Afin d'​être bien informé de ce qui se cache derrière cette manipulation,​ nous vous conseillons vivement de consulter la [[wpfr>​Permissions_Unix#​Droit_SUID|page dédiée de Wikipédia]]. 
 + 
 +---- 
 +//​Contributeurs:​ [[:​utilisateurs:​Aldian]]./​/
  • tutoriel/comment_eviter_root_quand_c_est_possible.1290932223.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)