Come creare un'applicazione senza i privilegi di sudo?


15

Cosa devo installare su un server Ubuntu 9.10 in modo che un utente possa creare applicazioni di propria scelta (es. / Configura, fai && fai installare) senza la necessità di privilegi sudo / admin.

Sento che è un po 'un rischio per la sicurezza dover dare a un utente l'accesso a parti del sistema che potrebbero non essere necessarie per creare un'app.

Risposte:


40

Se i tuoi utenti usano

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

O per progetti di cmake

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

Questo installerà il programma in quel prefisso (invece che nel predefinito / usr / local /) e i tuoi utenti dovrebbero quindi essere in grado di eseguire il programma in questo modo:

/home/user/opt/bin/program

Se vuoi che siano in grado di eseguire i programmi semplicemente usando il nome (senza percorso completo) devi aggiungere /home/user/opt/binalla variabile d'ambiente path, modificare il file .prof degli utenti e aggiungere la seguente riga:

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

Nota che i programmi installati in questo modo saranno privati ​​per l'utente specifico, ma è un modo per farlo


Altri utenti saranno in grado di utilizzare programmi installati in questo modo se forniscono il percorso completo e le autorizzazioni sono impostate in modo appropriato; e sembra che l'umask predefinito lo consenta sulla mia installazione desktop.
Alistair Buxton,

La base di codice che stavo compilando aveva una Makefilema nessuna configurazione, ci sono entrato e ho cambiato la prefix = /some/pathlinea nella mia directory home (nessuna barra finale) e poi ho funzionato make installsenza sudo - tutto funziona ora, quindi grazie.
Big Rich

8

Gli utenti possono creare applicazioni senza diritti sudo. L'unica volta in cui hai bisogno dei diritti sudo è quando vuoi installare qualcosa nelle directory di sistema.

./configuree makelavorare sempre senza diritti sudo. make installdi solito ha bisogno dei diritti sudo perché installerà l'applicazione su ( /usr/localo /usrtalvolta /opt).

Tuttavia, se si modifica il prefisso per il percorso di installazione (ovvero ./configure --prefix=~/usr/local) in modo tale che l'installazione verrà eseguita all'interno della struttura della directory home dell'utente, non sono necessari diritti di sudo make install.


Penso ancora che non sia stato eseguito il backup completo della tua risposta. Perché ./configuree makelavorare sempre senza sudo? Come devo giustificarlo a qualcuno che continua ad eseguire sudo make installper esempio?
Nikos Alexandris,

0

Aggiungendo a ciò che ha detto txwikinger , potresti voler controllare anche fakeroot, il che offre l'opportunità di creare pacchetti .deb dpkgsenza i privilegi elevati. Naturalmente, l'installazione di questi avrà generalmente bisogno dell'accesso sudo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.