
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/kwrite
era un ejecutivo binario mientras que /opt/firefox/firefox
era 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/kwrite
como root ya que todos w
los bits de escritura son
desactivado -rwxr-xr-x
para 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 .sh
archivos en formato /usr/bin
. Es posible que estos puedan editarse mediante root si es necesario.