19 votes

Comment construire une application sans les privilèges sudo ?

Que dois-je configurer sur un serveur Ubuntu 9.10 pour qu'un utilisateur puisse construire les applications de son choix (i.e. ./configure, make && make install) sans avoir besoin des privilèges sudo/admin.

J'ai juste l'impression que c'est un peu un risque de sécurité de devoir donner à un utilisateur l'accès à des parties du système dont il n'a peut-être pas besoin pour construire une application.

44voto

NickNameNick Points 91

Si vos utilisateurs utilisent

./configure --prefix=/home/user/opt/

Ou pour les projets cmake

cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/

Cela installera le programme dans ce préfixe (au lieu du préfixe par défaut /usr/local/) et vos utilisateurs devraient alors être en mesure d'exécuter le programme comme ceci :

/home/user/opt/bin/program

Si vous voulez qu'ils puissent exécuter les programmes en utilisant simplement le nom (sans le chemin complet), vous devez ajouter /home/user/opt/bin à la variable d'environnement path, modifiez le .profile des utilisateurs et ajoutez la ligne suivante :

export PATH=/home/user/opt/bin:$PATH

Notez que les programmes installés de cette façon seront privés pour l'utilisateur spécifique, mais c'est une façon de le faire.

8voto

Joel Spolsky Points 22686

Les utilisateurs peuvent construire des applications sans droits sudo. Le seul cas où vous avez besoin des droits sudo est lorsque vous voulez installer quelque chose dans les répertoires du système.

./configure y make fonctionnent toujours sans droits sudo. make install a généralement besoin des droits sudo car il va installer l'application sur /usr/local o /usr (parfois /opt ).

Toutefois, si vous modifiez le préfixe du chemin d'installation (par exemple, le chemin d'accès à la base de données), vous ne pourrez pas le modifier. ./configure --prefix=~/usr/local ) de manière à ce que l'installation soit effectuée à l'intérieur de l'arborescence du répertoire personnel de l'utilisateur, aucun droit sudo n'est nécessaire pour l'installation de make install .

0voto

Jeremy Banks Points 32470

Ajoutant à ce qui txwikinger a dit, vous pouvez également vérifier fakeroot ce qui donne la possibilité de construire des paquets .deb avec dpkg sans avoir besoin de privilèges élevés. Bien sûr, l'installation de ces derniers nécessitera généralement un accès sudo.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X