it-swarm-es.tech

¿Cómo ejecuto un comando como administrador del sistema (root)

Necesito ejecutar un comando con privilegios administrativos. Alguien dijo que debería ejecutar un comando como root. ¿Cómo hago esto?

66
Stefan

Use su:

$ su -c command

o

$ su
# command
# exit

En cualquier caso, se le pedirá la contraseña root. Para obtener más información, consulte la página del manual .

8
Steven D

O puedes darle a algunos comandos una superpotencia. Estoy hablando de permisos especiales en los que los comandos se ejecutan con el permiso del propietario.

Obtenga la ruta de comando por #which <command> y establezca SUID o SGID para esa ruta.

PD - Los bits SUID y SGID deben administrarse con cuidado. Pueden hacer que su sistema sea inseguro.

3
Ayush Goyal

Dado que la pregunta no era específica de Linux, así es como se logra el mismo objetivo en Solaris 9+ (o Trusted Solaris 8):

Solaris, desde la versión 9, ha incluido un conjunto de herramientas cariñosamente denominadas RBAC o Control de acceso basado en roles.

La esencia de RBAC es que a través de la concesión de autorizaciones y derechos, a los usuarios y/o roles, o la concesión de roles a los usuarios, puede crear modelos increíblemente finos para quién puede ejecutar qué privilegios.

Esencialmente, identifica la autorización en/etc/security/auth_attr, luego la otorga a usuarios o roles en/etc/user_attr.

Defina perfiles en/etc/security/prof_attr. Luego asocia los comandos con esos perfiles en/etc/security/exec_attr, y luego asigna esos perfiles a los usuarios en el archivo/etc/user_attr.

Una vez que se hacen esas cosas, realmente ejecutas pfexec <command> para ejecutar el comando con privilegios o autorizaciones que se otorgan a ese usuario para que comando.

Lo bueno de RBAC es que no hay privilegios adicionales otorgados al comando en sí, o al usuario, solo a la combinación de usuario + comando. Por lo tanto, es más seguro que hacer un binario + s, o simplemente usar Sudo para que un usuario pueda ejecutar prácticamente cualquier cosa. (Sé que puedes bloquear a Sudo, pero en mi experiencia la mayoría de la gente no)

Otra ventaja de RBAC es que puede hacer root una cuenta de rol y asignar ese rol a los usuarios que pueden convertirse en root con el comando 'su' y la contraseña de root. El usuario root también podrá iniciar sesión en modo de usuario único, que es mejor (en mi opinión) que el modelo Linux donde puede deshabilitar la contraseña de root passwd -d root, o bloquee la cuenta raíz passwd -l root, que dificultan el inicio de sesión como root cuando algo sale mal.

Ben Rockwood tiene una excelente publicación de blog sobre RBAC que se puede leer en so de RBAC en Solaris (abierto) .

3
Tim Kennedy