Alternativa para sudo

Alternativa para sudo

Soy consciente de que podemos ejecutar un comando/script como super/otro usuario usando sudoel comando. Pero, ¿existe la posibilidad de que la sudoutilidad en sí no esté disponible o la elimine el usuario? Si es así, ¿cuál podría ser la alternativa a sudootra que no sea su? Además, ¿tienen sudoy susirven el mismo propósito?

Respuesta1

'sudo' le permite iniciar cualquier programa como cualquier usuario. Es 'setuid root', ya que el programa en sí requiere permisos de root para hacer esto. El poder de sudo es que puedes configurar fácilmente quién puede hacer qué. Puede permitir que un usuario ejecute nmap (y solo nmap) usando sudo.

'su' le permite iniciar un shell como cualquier usuario. Cuando inicia un shell, obviamente puede iniciar cualquier otro programa. Por tanto, es más peligroso; en sistemas bien administrados, suel acceso generalmente está deshabilitado, pero sudopuede estar disponible para distintos programas.

La razón por la que se utilizan los dos programas anteriores es la rendición de cuentas. Sudo registra todas las solicitudes que se realizan. Por lo tanto, es muy fácil para un administrador realizar un seguimiento de lo que ha hecho un usuario utilizando privilegios de root. Si otorga acceso a un shell, un usuario puede hacer lo que quiera (es un "agujero negro"). (Por supuesto, el registro avanzado a nivel de kernel frustra esto).

Por supuesto, estos programas también se pueden marcar setuid. Esto cambia los permisos al propietario del binario al ejecutarlo. Si logra activar el setuidbit, por ejemplo, /bin/bashy establece el propietario en /bin/bash, rootserá root cada vez que ejecute /bin/bash.

Por último, el acceso físico a la máquina te permitirá hacer lo que quieras. Puede arrancar desde una unidad flash y acceder al sistema de archivos local. Incluso podría configurar su gestor de arranque para utilizar un initproceso diferente que inicie inmediatamente un shell en modo de usuario único (sin solicitar una contraseña).

Respuesta2

Parece que nadie ha respondido a la pregunta de si existen o no alternativas a sudo además de su, por lo que quizás le interese saber que el sitio web de sudo en realidad mantiene una lista de alternativas de sudo:

http://www.sudo.ws/other.html

La lista incluye software comercial y de código abierto. Aquí están las alternativas de sudo de código abierto enumeradas en este momento:

Dicho esto, nunca he usado ninguna de estas alternativas, ni las he visto ni oído hablar de ellas en ningún otro contexto. También parece que al menos algunos de ellos son experimentales, están obsoletos o no cuentan con soporte alguno. La impresión que tengo es que sudoson suel único juego real en la ciudad.

Respuesta3

Inicie sesión como root (si su tty lo permite) o reinicie la computadora e inicie sesión con init=/bin/bash en la línea de comando para restaurar la funcionalidad requerida.

Señalo que solo root puede eliminar sudo.

sudo y su tienen propósitos similares pero diferentes. "sudo" te permite hacer algo con los permisos de otra persona, mientras que "su" te permite "convertirte" en ese usuario y comportarte como ellos.

Respuesta4

Si la máquina lo tiene openssh-serverinstalado, entonces una alternativa sudopodría ser:

ssh root@localhost ..command.. ..goes.. ..here..

Si no se ha deshabilitado, entonces existe sulo que mencionaste:

su - root -c "..command.. ..goes.. ..here.."

información relacionada