Permiso de escritura en archivos binarios/ejecutables: ¿son necesarios?

Permiso de escritura en archivos binarios/ejecutables: ¿son necesarios?

Pensé:

echo hello world > /usr/bin/firefox

mostraría el mensaje en el navegador. No pasó nada. Entonces lo intenté:

echo hello world > /usr/bin/kwrite

para ver si kwrite se abre con 'hola mundo' escrito adelante. Nuevamente no pasó nada. Luego, después de intentar ejecutar ambos comandos:

computer:~$ kwrite
/usr/bin/kwrite: line 1: hello: command not found
computer:~$ firefox
/usr/bin/firefox: line 1: hello: command not found

Haciendo ls -l /usr/bin/:

-rwxr-xr-x 1 root   root     182576 2012-08-21 06:42 apt-ftparchive
-rwxr-xr-x 1 root   root     116996 2012-08-21 06:41 apt-get
-rwxr-xr-x 1 root   root    2151596 2011-10-20 21:45 aptitude
-rwxr-xr-x 1 root   root       1939 2011-10-20 21:45 aptitude-create-state-bundle
-rwxr-xr-x 1 root   root       3007 2011-10-20 21:45 aptitude-run-state-bundle
-rwxr-xr-x 1 root   root       7336 2012-08-21 06:41 apt-key
lrwxrwxrwx 1 root root   20 2012-12-29 10:41 /usr/bin/firefox -> /opt/firefox/firefox
-rwxr-xr-x 1 root root 5476 2010-11-17 04:58 /usr/bin/kwrite
-rwxr-xr-x 1 root   root     181104 2010-02-16 01:40 zip
-rwxr-xr-x 1 root   root       1184 2011-01-21 23:49 zxpdf

Los archivos binarios en /usr/bin(y otras carpetas bin) de mi sistema tenían al menos permiso de escritura del usuario en (?). Entonces lo que efectivamente hice fueescribira los ejecutables 'hola mundo', aunque /usr/bin/kwriteera un ejecutivo binario mientras que /opt/firefox/firefoxera un script de shell

Así que está claro que los archivos ejecutables son propensos a sufrir este tipo de accidentes. Entonces quiero preguntar si el permiso de escritura es siquiera necesario. Quiero desactivarlo, pero quiero asegurarme de que no me falta nada aquí.

Respuesta1

En primer lugar, debes haberlo probado echo hello world > /usr/bin/kwritecomo root ya que todos wlos bits de escritura son

desactivado -rwxr-xr-xpara usuario y grupo. Para su segunda pregunta, solo root tiene el permiso correcto para escribir

la mayoría de los archivos binarios a menos que hayan sido compilados e instalados por un usuario normal.

También deberías repasar las anotaciones de permisos de archivos. aquí hay un granenlace

Respuesta2

Los archivos binarios tienen permiso de escritura del usuario, porqueel usuario es root. Sólo el root puede escribir en /usr/bin.

Realmente deberías repasar el hecho de no hacer cosas simples (como usar navegadores y procesadores de texto) como root. Consulte Limitación del daño aquí: http://www.howtogeek.com/124950/htg-explains-why-you-shouldnt-log-into-your-linux-system-as-root/

Además, probablemente notarás que hay varios .sharchivos en formato /usr/bin. Es posible que estos puedan editarse mediante root si es necesario.

información relacionada