Was muss ich auf einem Ubuntu 9.10-Server einrichten, damit ein Benutzer Anwendungen seiner Wahl erstellen kann (dh ./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.
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/binder Umgebungsvariablen path hinzufügen , das Benutzerprofil bearbeiten und die folgende Zeile hinzufügen:
export PATH=/home/user/opt/bin:$PATH
Beachten Sie, dass Programme, die auf diese Weise installiert werden, für den jeweiligen Benutzer privat sind. Dies ist jedoch eine Möglichkeit, dies zu tun
Andere Benutzer können Programme verwenden, die auf diese Weise installiert wurden, wenn sie den vollständigen Pfad angeben und die Berechtigungen entsprechend festgelegt sind. und es scheint, dass die Standard-Umask dies auf meinem Desktop-Installation ermöglicht.
Alistair Buxton
Die Codebasis, die ich kompilierte, hatte eine, Makefileaber keine Konfiguration. Ich habe einfach darauf zugegriffen und die prefix = /some/pathZeile in mein eigenes Basisverzeichnis geändert (kein abschließender Schrägstrich) und dann make installohne sudo ausgeführt - alles funktioniert jetzt, also danke.
Big Rich
8
Benutzer können Anwendungen ohne Sudo-Rechte erstellen. Das einzige Mal, wenn Sie Sudo-Rechte benötigen, ist, wenn Sie etwas in die Systemverzeichnisse installieren möchten.
./configureund makearbeiten immer ohne sudo rechte. make installBenötigt normalerweise sudo-Rechte, da die Anwendung auf /usr/localoder /usr(manchmal /opt) installiert wird .
Wenn Sie jedoch das Präfix für den Installationspfad (dh ./configure --prefix=~/usr/local) so ändern , dass die Installation innerhalb des Basisverzeichnisbaums des Benutzers ausgeführt wird, sind für keine Sudo-Rechte erforderlich make install.
Ich denke immer noch, dass Ihre Antwort nicht vollständig gesichert ist. Warum tun ./configureund makearbeiten immer ohne sudo? Wie soll ich es jemandem rechtfertigen, der sudo make installzum Beispiel weiterhin ausführt ?
Nikos Alexandris
0
Zusätzlich zu dem, was txwikinger gesagt hat, möchten Sie vielleicht auch prüfen fakeroot, was die Möglichkeit bietet, .deb-Pakete zu erstellen , dpkgohne erhöhte Berechtigungen zu benötigen. Für die Installation dieser Programme ist in der Regel ein sudo-Zugriff erforderlich.
Makefile
aber keine Konfiguration. Ich habe einfach darauf zugegriffen und dieprefix = /some/path
Zeile in mein eigenes Basisverzeichnis geändert (kein abschließender Schrägstrich) und dannmake install
ohne sudo ausgeführt - alles funktioniert jetzt, also danke.Benutzer können Anwendungen ohne Sudo-Rechte erstellen. Das einzige Mal, wenn Sie Sudo-Rechte benötigen, ist, wenn Sie etwas in die Systemverzeichnisse installieren möchten.
./configure
undmake
arbeiten 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 (dh
./configure --prefix=~/usr/local
) so ändern , dass die Installation innerhalb des Basisverzeichnisbaums des Benutzers ausgeführt wird, sind für keine Sudo-Rechte erforderlichmake install
.quelle
./configure
undmake
arbeiten immer ohnesudo
? Wie soll ich es jemandem rechtfertigen, dersudo make install
zum Beispiel weiterhin ausführt ?Zusätzlich zu dem, was txwikinger gesagt hat, möchten Sie vielleicht auch prüfen
fakeroot
, was die Möglichkeit bietet, .deb-Pakete zu erstellen ,dpkg
ohne erhöhte Berechtigungen zu benötigen. Für die Installation dieser Programme ist in der Regel ein sudo-Zugriff erforderlich.quelle