Devo compilare come root?

2

Quando sto compilando il software per l'installazione locale, quali fattori dovrei prendere in considerazione quando decido se compilare come root o compilare con il mio normale account utente?

./configure
make
sudo make install

o

sudo su
./configure
make
make install
    
posta joeytwiddle 03.12.2015 - 06:15
fonte

1 risposta

1

./configure significa: esegui lo script della shell (o binario) chiamato configure nella directory corrente. Eseguirai qualunque cosa ci sia in quel copione, che potrebbe essere: beh, qualsiasi cosa tu possa immaginare. Di solito gli script configure vengono generati automaticamente dagli input attendibili, ma se stai scaricando qualcosa di casuale da Internet, non è assolutamente possibile garantire che configure possa essere considerato attendibile.

make esegue anche uno script, probabilmente makefile nella directory corrente che è scritta nella lingua make. Può anche fare praticamente qualsiasi cosa.

In pratica: se si compila un programma una volta come root, poi mentre si risolvono i problemi di compilazione è necessario mantenere la compilazione come root, perché un utente normale non sarà in grado di ripulire tutto file intermedi che vengono generati. Quindi non è raro vedere qualcuno che consiglia di costruire come root perché una volta ha funzionato per loro quando costruisce come utente no, generalmente perché ha colpito questo tipo di situazione e non se ne è reso conto.

Se non ti fidi della fonte (e immagino che tu sia, dato che stai pubblicando su Security invece di Unix Stack Exchange), puoi compilare (e installare se vuoi) ed eseguire all'interno di un chroot, contenitore o VM, quindi non hai mai bisogno di dare direttamente la root del software sul tuo sistema principale (anche se i programmi possono teoricamente uscire da una di quelle jail).

    
risposta data 03.12.2015 - 20:00
fonte

Leggi altre domande sui tag