it-swarm-eu.dev

Wie erstelle ich eine Anwendung ohne Sudo-Rechte?

Was muss ich auf einem Ubuntu 9.10-Server einrichten, damit ein Benutzer Anwendungen seiner Wahl erstellen kann (d. H. ./Configure, make && make install), ohne Sudo/admin-Berechtigungen zu benötigen?.

Ich halte es nur für ein Sicherheitsrisiko, einem Benutzer Zugriff auf Teile des Systems zu gewähren, die er möglicherweise nicht benötigt, um eine App zu erstellen.

11
RC1140

Wenn Ihre Benutzer verwenden

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

Oder für cmake-Projekte

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

Dadurch wird das Programm in diesem Präfix installiert (anstelle des Standards/usr/local /) und Ihre Benutzer sollten dann in der Lage sein, das Programm wie folgt auszuführen:

/home/user/opt/bin/program

Wenn Sie möchten, dass sie die Programme einfach unter Verwendung des Namens (ohne vollständigen Pfad) ausführen können, müssen Sie /home/user/opt/bin zur Umgebungsvariablen path hinzufügen, das Benutzerprofil bearbeiten und die folgende Zeile hinzufügen:

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

Beachten Sie, dass auf diese Weise installierte Programme für den jeweiligen Benutzer privat sind, dies ist jedoch eine Möglichkeit

36
LassePoulsen

Benutzer können Anwendungen ohne Sudo-Rechte erstellen. Das einzige Mal, dass Sie Sudo-Rechte benötigen, ist, wenn Sie etwas in die Systemverzeichnisse installieren möchten.

./configure und make funktionieren immer ohne Sudo-Rechte. make install benötigt normalerweise Sudo-Rechte, da die Anwendung auf /usr/local oder /usr (manchmal /opt) installiert wird.

Wenn Sie jedoch das Präfix für den Installationspfad (d. H. ./configure --prefix=~/usr/local) so ändern, dass die Installation in der Basisverzeichnisstruktur des Benutzers ausgeführt wird, sind für make install keine Sudo-Rechte erforderlich.

8
txwikinger

Wenn Sie zu dem hinzufügen, was txwikinger gesagt hat, möchten Sie vielleicht auch fakeroot prüfen, wodurch Sie die Möglichkeit haben, .deb-Pakete mit dpkg zu erstellen, ohne erhöhte Berechtigungen zu benötigen. Für die Installation dieser Programme ist in der Regel ein Sudo-Zugriff erforderlich.

0
mindcorrosive