¿Debo compilar como root?

2

Cuando compilo software para la instalación local, ¿qué factores debo tener en cuenta al decidir compilar como root o compilar en mi cuenta de usuario regular?

./configure
make
sudo make install

o

sudo su
./configure
make
make install
    
pregunta joeytwiddle 03.12.2015 - 06:15
fuente

1 respuesta

1

./configure significa: ejecute el script de shell (o binario) llamado configure en el directorio actual. Ejecutarás lo que sea que esté en ese script, que podría ser: bueno, cualquier cosa que puedas imaginar. Por lo general, las secuencias de comandos configure se generan automáticamente a partir de entradas de confianza, pero si está descargando algo aleatorio de Internet, no hay ninguna garantía de que se pueda confiar en configure .

make también ejecuta un script, probablemente makefile en el directorio actual que está escrito en el lenguaje make. También puede hacer casi cualquier cosa.

Prácticamente: si compila un programa una vez como root, entonces, a medida que solucione los problemas de compilación, deberá mantener compilar como root, ya que un usuario normal no podrá limpiar todos los Archivos intermedios que se generan. Por lo tanto, no es raro ver a alguien recomendando que construyas como root porque una vez funcionó para ellos cuando no lo hizo como usuario, en general porque tuvieron este tipo de situación y no se dieron cuenta.

Si no confías en la fuente (e imagino que lo eres, ya que estás publicando en Security en lugar de Unix Stack Exchange), puedes compilar (e instalar si lo deseas) y ejecutarlo dentro de un chroot, contenedor o VM, por lo que nunca tendrá que asignar directamente la raíz del software a su sistema principal (aunque los programas pueden, en teoría, romper cualquiera de esas cárceles).

    
respondido por el drewbenn 03.12.2015 - 20:00
fuente

Lea otras preguntas en las etiquetas