Introducción a sudo
Seguro que todo el mundo ha utilizado o como mínimo ha oído hablar de sudo, el comando que permite ejecutar sentencias con los privilegios de cualquier usuario -incluidos los privilegios de superusuario- y que es una medida muy interesante para evitar tener que entrar directamente como estos usuarios con el más tradicional su.
La famosa tira cómica de XKCD deja claro qué es lo que permite hacer sudo ;)
En Linux.com han publicado una fantástica introducción a sudo, que significa “substitute user do” o “super user do” (según como lo usemos), y que como indican en ese artículo realiza una tarea importante y crucial en muchas distribuciones Linux. Hay cierta polémica en si el uso de sudo es bueno o malo para la seguridad, pero sea como fuere, seguro que hay un buen montón de ocasiones en las que os vendrá bien usar el sudo.
En el artículo nos cuentan la historia de sudo, que comenzó a utilizarse en 1.980 y que poco a poco se fue popularizando hasta llegar a las distribuciones gracias al trabajo de Todd Miller, que sigue siendo su desarrollador principal.
Las diferencias entre sudo y su son claras, ya que su permite logarnos como cualquier otro usuario o como superusuario, mientras que sudo sólo permite ejecutar comandos con los privilegios de otros usuarios -incluido el superusuario, como ya hemos comentado-. Los riesgos para la seguridad son menores -aunque podemos seguir cagándola con sudo, por supuesto- y por eso es bueno que sepáis cómo configurar y utilizar sudo.
La configuración es clave, y para ello es necesario editar -con mimo y cuidado- el fichero /etc/sudoers. Precaución, amigo conductor, porque un error en este fichero puede tener consecuencias graves para el sistema. En el artículo explican cómo añadir nuevos perfiles y usuarios a la lista de los que pueden realizar sudo y con qué privilegios pueden hacerlo, así que os recomiendo este artículo (en inglés, pero que podéis leer en un español aceptable gracias a la magia de servicios como Google Translate) para conocer detalles importantes de esa configuración y uso del famoso comando sudo.












no entiendo como hay gente que llama lo que sale de Google Translate como “español aceptable”
Aveces me imagino a futuros malwares en Linux, haciendo escalado de privilegios o modificando configuraciones gracias a sudo.
Necesitas la password igualmente, y la password está encriptada.
Aunque estoy de acuerdo en que contra menos usemos sudo, mejor. Menos posibles bugs que puedan llevar a una escala de privilegios.
Hay una cosa que no me gusta de sudo y es que por un tiempo (aunque corto), no te pide la password para hacer operaciones con permisos de administrador por simple comodidad.
Exactamente!! ese es el problema.
En Ubuntu 9.10, hay que presionar en otra parte donde sale un ícono de unas llaves en la barra de tareas para hacer que olvide el escalado de privilegios…
Otra cosa IMPORTANTÍSIMA en cuanto a cuestiones de seguridad a la hora de usar sudo y es la siguiente:
NO USAR sudo en una terminal donde está la GUI del SO, porque después uno debe tomarse la molestia de estar buscando la forma de hacer que olvide el escalamiento de privilegios de sudo, sin antes cerrar sesión o reiniciar o apagar la máquina.
Es preferible usar sudo en las login terminal que se puede acceder fácilmente -y ya muchos sabemos eso, es sólo por sacar la info ahí- presionando CTRL+ALT+(F1-F6), para cambiar de consola estando en otra sólo es ALT+(F1-F6) y el modo gráfico de nuevo es ALT+F7… aunque eso puede variar…. para los usuarios de Fedora, la cosa va así:
CTRL+ALT+(F2-F6) son las consolas, mientras que para regresar al modo gráfico, toca presionar CTRL+ALT+F1…
eso varía con algunas distribuciones de linux que conozco, pero igual, no puedo generalizar, la vida no me alcanza para manejar todos los tipos de distros de Linux que hay!!, sabiendo que ya son más las distribuciones independientes que han salido en esta primera década del siglo 21…
saludos!!
saludos!!
No hay algo tan peligroso como hacer sudo rm -rf /
y si le prendes fuego al disco duro??? es mas facil y peligroso :p
Veo que muchos confunden sudo como sustituto de root (por culpa de Ubuntu y su configuración). Pero sudo NO es eso.
Sudo sirve para asignar privilegios extras a un usuario común, sin darle todo el poder, para que pueda llevar a cabo algunas tareas que de otra forma dependerían de la intervención directa del root. Cuando uno tiene grandes servidores o maquinas compartidas, un usuario root puede permitirle a un usuario común de confianza convertirse en un “pequeño administrador”, de tal forma que éste sea capaz de resolver algunos problemas básicos del sistema haciendo uso de algunos privilegios del superusuario, sin la necesidad de que tenga que estar presente el root o sin que tenga que cederle el password del root al usuario.
El ejemplo más clásico es el de las impresoras en una oficina: el root puede darle el poder (con sudo) a un usuario común capacitado, de instalar y configurar nuevas impresoras, para que él se encargue de eso sin tener que estar esperando que venga el root a hacerlo.
De manera práctica, sudo es una herramienta para optimizar el trabajo del root, al permitir un reparto de tareas con usuarios de confianza. Por eso, cuando un usuario común ejecuta por primera vez una orden sudo, aparece els iguiente mensaje:
“Esperamos que haya recibido el sermón usual del Administrador de
Sistema. Normalmente se reduce a estas tres cosas:
#1) Respete la privacidad de los otros.
#2) Piense antes de escribir.
#3) Un gran poder conlleva una gran responsabilidad.”
Así que puedes usar sudo, pero sabiendo realmente para qué es.
exactamente.
Exácto, Ubuntu tiene una falla de seguridad muy grande y es que asigna la misma password al root y al usuario (lo que provoca la confunsión que antes has comentado).
Y me parece que este problema tamibén lo tienen varias distribuciones más.
¿Que version probaste ?. Desde la 9.04 la pass no es igual.
En mi 9.10 siguen con passwd iguales..
Gracias por la aclaración. Ahora entiendo por qué en opensuse el ifconfig, puede ejecutarse sólo con “su” y no con “sudo”
Que sepan ustedes que con “su” también se pueden ejecutar comandos, como si fuésemos otro usuario, sin tener que entrar en el sistema. De hecho, creo que no tiene mucho sentido la utilización de “sudo” si, como alguien ha mencionado en alguno de los comentarios, no se va a hacer uso de perfiles de acceso a recursos del sistema. Yo llevo años utilizando Debian y nunca he utilizado “sudo”. Y huelga decir que no suelo entrar como “root”.
He empezado a leer el primer párrafo del artículo al que enlazan y ya lo estoy flipando:
¿mande? ¿que Debian no tiene habilitada la cuenta de root? :O
Eso es falso. Cada vez hay que tener más paciencia con la Ubuntunización de GNU/Linux.
Eso es cierto. Hasta Debian Lenny (que yo sepa, no he intentado el untable de Squeeze), uno puede elegir si instalar sudo, o dejar la cuenta de root tradicional…