Cómo abrir terminal en ubuntu como superusuario. Administrador en Ubuntu, o Qué es sudo. Obtener derechos de root sin cambiar

Hola, queridos visitantes, lectores, amigos y enemigos, personas al azar, clientes habituales y otras personas, por así decirlo. Seguimos presentándole los sistemas Linux, y este artículo de la serie dedicada a Linux intentará continuar con el conocimiento básico y sumergirlo lentamente en la realidad de un usuario experimentado de Linux, que (la realidad) no siempre es dura, especialmente cuando Tenemos conocimientos y materiales, pero no siempre hay algo bueno.

Inmediatamente hagamos una reserva de que no importa en qué distribución trabaje (ya sea Menta, Debian, ubuntu, sombrero, Mandrivá, Slackware, Gentoo etc. etc. – ahora hay alrededor de 600 distribuciones de Linux diferentes o incluso más, sin contar proyectos muy pequeños), la esencia de este trabajo no cambiará. Los comandos pueden diferir porque se utilizan diferentes. Hoy discutiremos con más detalle conceptos tales como:

  • ¿Quién es un superusuario?
  • ¿Qué son los usuarios y grupos en Linux- sistemas.

Antes de comenzar la historia, debes imaginar que linux- Este es un sistema operativo multiusuario. Creo que todo el mundo sabe qué es un sistema multiusuario, pero lo repetiré para aquellos que no estén del todo familiarizados con este concepto.

Empecemos.

Todo tipo de cosas diversas sobre Linux multiusuario y la cuenta de administrador raíz

1. Sistema multiusuario
Entonces, una vez más. linux es un sistema operativo multitarea y multiusuario (cuántos "s :)). Esto significa que varios usuarios pueden trabajar con el sistema al mismo tiempo y cada uno de ellos puede ejecutar varias aplicaciones. Y al mismo tiempo, para Por ejemplo, puede iniciar sesión en el sistema localmente y otro usuario, de forma remota, utilizando protocolos. acceso remoto (telnet, ssh, ftp).

Es muy conveniente. Pongamos un ejemplo para que quede claro de qué estamos hablando. estamos hablando de. Supongamos que necesita imprimir un documento que está en la computadora de su trabajo, pero no en la computadora de su hogar. Si tiene Internet y una computadora configurada en consecuencia, esto no será difícil, porque puede iniciar sesión fácilmente en el sistema, copiar el archivo que necesita e imprimirlo donde le resulte más conveniente. E incluso si alguien ya está trabajando con el sistema en el momento de su conexión, no interferirán entre sí. EN ventanas Esta posibilidad también existe, pero sólo después de instalar el correspondiente software, y al mismo tiempo no podrás iniciar sesión en el sistema para no “molestar” a otro usuario que ya se encuentra en él. No podrán trabajar juntos porque interferirán entre sí. Todo lo que hagas se reflejará en el monitor del usuario (es decir, el escritorio será compartido), y si no avisas al usuario de que has iniciado sesión de forma remota, pensará que algo anda mal con su computadora (el caso, de Por supuesto, no lo es 100 %, pero en su mayor parte esto es un hecho).

Conclusión:
EN Linux- sistemas, varios usuarios pueden trabajar con el sistema y ni siquiera sospechar la existencia de los demás hasta que usan el comando (por ejemplo, OMS). linux Fue desarrollado originalmente como un sistema multiusuario con la capacidad de conectarse de forma remota tanto en modo texto como gráfico. ventanas En esencia, siempre ha sido (y probablemente seguirá siendo durante mucho tiempo) un sistema de lo personal, sin nada en absoluto fuertemente computadora vinculada, y los medios de interacción entre red local siempre vino en forma de una especie de “peso compensado”. Además, linux siempre confió en protocolos abiertos, mayoría cual es el estandar en el mundo Unix-sistemas microsoft, por el contrario, se basa en protocolos propios, naturalmente cerrados y no siempre compatibles con sus versiones anteriores.

2. Superusuario (root)
Entonces descubrimos (o mejor dicho, aclaramos un poco) qué es un sistema multiusuario. Ahora hablemos de quién es. Linux- sistemas de usuario raíz.

Hablando convencionalmente y en “jerga”, este es un rey y un dios :). Usuario raíz tiene TODOS poderes en el sistema, hasta su plenitud y eliminación permanente, es decir. esto es, por así decirlo, administrador del sistema en un solo Sistema operativo.

Cualquier comando ingresado en la terminal será ejecutado de manera incondicional e irrevocable. Así que trabaja bajo raíz-ohm en cualquier linux(Unix)-sistemas no son bienvenidos e incluso se podría decir que no son aceptados. Por ejemplo, alguien decidió gastar una broma y la publicó en Internet. malware, lo tomaste, lo descargaste e incluso comenzaste a instalarlo en tu computadora (es difícil imaginar personas tan extremas, pero aún así, ¿y si existieran esas personas? :)). Si este programa se inicia a través de un superusuario, su sistema puede destruirse fácilmente, pero ejecutar este programa como usuario sencillo no conducirá a nada: el sistema simplemente se negará a ejecutarlo, citando el hecho de que usted no tiene suficiente autoridad. Este razón adicional Mire más de cerca para ver si necesita instalar esto. Por eso en linux(Unix) sistemas de inicio de sesión con nombre de usuario raíz prohibido.

En algunas distribuciones no podrás iniciar sesión como raíz en modo gráfico, pero puede iniciar sesión a través de la consola (en términos generales, terminal) con una combinación de teclas Ctrl+Alt+F2(como por ejemplo en sombrero), y en otras distribuciones no podrás iniciar sesión en absoluto como raíz- ni a través del modo gráfico, ni mediante una combinación de teclas, ni a través de la consola (por ejemplo, dicha distribución incluye ubuntu). Surge la pregunta: ¿cómo instalar entonces? programas necesarios¿pasando por alto a este superusuario? Para ello, existe un "permiso temporal" para realizar las operaciones necesarias en forma de comandos. sudo o su. ¿En qué se diferencian estos equipos entre sí?

Empecemos con sudo. Este comando le permite ejecutar cualquier comando con privilegios raíz. Pero no todos los usuarios pueden utilizar este comando, sino sólo aquellos ingresados ​​en el archivo / etc/sudoers(este archivo describe de forma accesible qué usuarios o grupos pueden ejecutar el comando sudo, lo que significa que un usuario normal que no esté incluido en este archivo, incluso con un fuerte deseo, no podrá utilizar los derechos raíz).

Retiro
Sobre el catálogo /etc Hablaremos en otro momento, porque este es un tema aparte. Pero me gustaría decir que este directorio contiene casi todas las configuraciones del sistema (excepto usuario, configuraciones personalizadas almacenado en el directorio de inicio del usuario /hogar), mientras que en el catálogo /etc hay muchos archivos de texto. Y como los archivos son de texto, se pueden editar con cualquier editor de texto, lo que simplifica enormemente el trabajo con archivos del sistema y aumenta la confiabilidad del sistema. Por cierto, incluso si eliminas uno de archivos de configuración catalogar /etc, ¡el sistema seguirá funcionando como si nada! Por supuesto, eliminar este archivo no funcionará de la misma manera que antes, pero aún así, a diferencia de ventanas, funcionará.

La teoría es, por supuesto, buena, pero practiquemos un poco. Por ejemplo, necesitas editar el archivo. /etc/sudoers, para lo cual vamos a la terminal e ingresamos:

sudo gedit /etc/sudoers

Se abrirá una ventana del programa. gedit:

Donde realizamos la edición necesaria, guardamos y cerramos este archivo. EN Linux- hay muchos sistemas editores de texto, con el que puedes editar archivos - este es el anterior gedit, Y nano, Y vi, y muchos otros, por lo que puedes utilizar cualquiera. Así se verá abrir un archivo a través de un editor nano:

Si entramos sin sudo el mismo comando:

gedit /etc/sudoers

Ahora sobre el equipo su.
Equipo su le permite acceder a la consola (terminal) raíz CUALQUIER usuario (incluso si este usuario no figura en el archivo /etc/sudoers), pero siempre que conozca la contraseña raíz. ¿Sentiste la diferencia?

Conclusión:
Equipo su está destinado a administradores de sistemas, y sudo- para otros usuarios que sólo ocasionalmente necesitan derechos de root.

Retiro:
Para muchos usuarios el comando su- obtención de derechos de superusuario. Esto no es del todo cierto. Equipo su llama al shell de otro usuario en el sistema, es decir le permite obtener los derechos de OTRO usuario, que debe especificarse como argumento para este comando. Prueba el comando suraíz o su[tu_nombre de usuario] y ver cómo reacciona este equipo. recomendaría usar uno parámetro importante"-" (guión), lo que cambia significativamente su funcionamiento. Al ejecutar el comando " su- " se llama al shell de inicio de sesión. Esto a menudo confunde a los novatos: " su" sólo le otorga los derechos de otro usuario " su- " le permite iniciar sesión con el nombre de otro usuario. El segundo significa que, además de otorgar derechos, su directorio de trabajo actual, directorio de inicio y variables de entorno. Usando el comando su sin el parámetro "-" está plagado de problemas: un programa iniciado de esta manera guarda su configuración en el directorio del usuario que llama, no en el usuario llamado (recuerde, solo se le otorgan derechos). Si este usuario raíz- Recibirás archivos de configuración del programa en tu directorio de inicio, al que no tendrás acceso. No hace falta decir que al iniciar el mismo programa desde su cuenta en el futuro, podrá mejor escenario, no podrá guardar su configuración; en el peor de los casos, el programa no se iniciará en absoluto. Es mejor no usar el comando en absoluto. su para ejecutar programas con sus propias variables de entorno, el comando es más adecuado para esto sudo. ¿Ya te he confundido? :)

Y, sin embargo, siempre podrás iniciar sesión como superusuario, incluso si esta cuenta está limitada o deshabilitada, por ejemplo, en ubuntu solo necesitas establecer una contraseña para el usuario raíz equipo sudocontraseñaraíz. Primero, el sistema le pedirá su contraseña de usuario, luego una nueva contraseña y confirmación. Cuenta raíz V ubuntu Puedes desactivarlo más tarde con el comando sudocontraseña-lraíz, pero... Después de cerrar la cuenta, puede haber problemas para iniciar sesión en el modo de recuperación. En mi opinión, en ubuntu Es mejor no habilitar el superusuario, sino usar el comando

Un poco de práctica.
Agreguemos un nuevo usuario al sistema. Para ello es necesario entrar como superusuario simplemente 2 comandos:

# agregar usuario<имя usuario>(agrega usuario)

# contraseña<имя usuario>(establece/cambia contraseña)

Presta atención a la señal. # frente al equipo. Este signo indica que el comando lo emite el superusuario (también conocido como raíz, también es dios y gobernante, si hay un ícono frente al equipo $ - entonces el comando se ejecutará como un usuario simple).

Aquí está, nuestro nuevo usuario del sistema. Dron. Lo creamos y establecimos una contraseña para esta cuenta.

Si la contraseña es demasiado simple, se le advertirá que es demasiado accesible:

Y esto sucederá hasta el infinito hasta que crees uno normal.

Al crear un nuevo usuario, se creará un directorio / para él en el sistema hogar<имя пользователя> , donde se copiará el contenido del directorio /etc/skel(contiene todo el conjunto de “caballeros” que debería estar en cualquier directorio de usuario).

Además de esto en el archivo. /etc/contraseña Se crea un registro, en definitiva, nuestro nuevo usuario. Dron será un usuario pleno del sistema.

Eliminar un usuario del sistema es tan fácil como agregar uno. Simplemente escriba el comando:

# usuariodel<имя пользователя> (tenga cuidado de no borrarse) :).

3. Grupos de usuarios
A veces, para facilitar su uso, los usuarios se agrupan en grupos. De forma predeterminada, un usuario no tiene acceso al directorio de inicio de otro usuario (por ejemplo, usuario galina no tendrá acceso al directorio de inicio Dron y viceversa, Dron no tendrá acceso al directorio de inicio galina). Pero si se combinan varios usuarios en un grupo, cada uno de ellos tendrá acceso no sólo a su directorio de inicio, sino también a los directorios de inicio de otros usuarios. La utilidad de tales asociaciones es obvia. Generalmente es costumbre agregar/eliminar/cambiar cuentas a través de la línea de comando, pero me gustaría tocar los configuradores gráficos (estas son pequeñas utilidades que hacen la vida más fácil a los usuarios novatos o a aquellos a quienes les gusta trabajar en una interfaz gráfica). Por otro lado, quiero mostrar que trabajar en Linux(Unix)-sistemas es posible de diferentes maneras: Puedes hacerlo a través de la línea de comando, o puedes usarlo, a quien le guste lo que prefieras. Cada distribución tiene sus propios configuradores y pueden diferir. Por ejemplo, en sombrero el configurador se utiliza para editar usuarios y grupos usuarios de configuración del sistema.

Una vez más volvemos a la figura donde eliminamos el usuario. Dron del sistema. Solo queda un usuario en el sistema: galina Selecciónelo, haga clic en " Propiedades"y aprenderás muchas cosas interesantes :). Por ejemplo, preste atención a la pestaña " Grupos", donde puedes incluir un usuario en un grupo en particular simplemente marcando la casilla:

Con cada nuevo usuario, se crean nuevos grupos. Si el usuario galina en el " Grupos"revisa el grupo" Dron", entonces galina tendrá acceso al directorio de inicio del usuario Dron(pero aquí Dron no habrá tales poderes).

Me gustaría llamar su atención sobre un punto: con cada nueva versión, los configuradores desaparecen lentamente del sistema (lo cual, en mi opinión, es triste). Se reemplazan por otros o incluso se eliminan de la distribución por ser innecesarios. Algunos de ellos se pueden instalar de forma predeterminada, otros debe instalarlos usted mismo, depende de sus necesidades. Si cuando ingresa el comando para iniciar el configurador, el sistema dice que no existe dicho comando, lo más probable es que no tenga este configurador instalado y puede intentar instalarlo.

Intentemos practicar con otra distribución (todas las imágenes anteriores se refieren a la distribución sombrero 16), por ejemplo, en Ubuntu 12.10(esta distribución también es popular entre la población). Permítanme divagar y recordarles que no importa en qué distribución se encuentre, el significado del trabajo será idéntico, solo los comandos serán diferentes. En este caso particular en ubuntu hay un configurador gnomo- sistema- herramientas y no está instalado en el sistema de forma predeterminada. Para aprovechar todos los beneficios de este configurador, primero instálelo con el comando:

sudo apt-get install gnome-system-tools.

El proceso de instalación de esta utilidad ha comenzado:

Tenga en cuenta que para la instalación de este paquete necesita ser resuelto (ya hablamos de dependencias en el artículo anterior, y ahora lo demostraremos claramente), es decir será instalado paquetes adicionales para que la utilidad funcione correctamente.

Luego en la búsqueda puedes escribir “grupos” o “usuarios” y aparecerá el icono de la utilidad herramientas-del-sistema-gnome

O ejecute la utilidad con el comando usuarios- administración desde la terminal ( línea de comando):

Y vemos una interfaz gráfica para la configuración de usuarios y grupos en ubuntu:

Todas las distribuciones modernas. linux están bien rusificados y, por lo tanto, no nos detendremos en la consideración de esta utilidad con más detalle, pero resaltaremos los puntos principales.

Está claro que para agregar un nuevo usuario es necesario hacer clic en el botón "Agregar" Para eliminar un usuario creado, haga clic en el botón "Borrar". Para cambiar el tipo de cuenta, debe hacer clic en el botón "Cambiar", frente al campo " Tipocontabilidadarchivos" existe 3 tipo de cuenta:

  • Administrador ( raíz) – el usuario puede administrar el sistema
  • Usuario: el usuario puede trabajar en el sistema, pero no puede administrarlo (use el comando sudo, instalar programas, gestionar usuarios, etc., etc.)
  • Otra es una cuenta con parámetros de acceso especiales que se configuran manualmente. Para hacer esto, use la pestaña " Adicionalparámetros" En el " Privilegiousuario» puede establecer qué operaciones puede realizar el usuario y cuáles no.

En el " Además»Puedes desactivar una cuenta, cambiar un grupo, IDENTIFICACIÓN usuario, incluso puede elegir un intérprete y un directorio de inicio diferentes.

Si necesita permitir que un usuario use sudo, luego en la ventana " Opcionesusuarios» resalte la cuenta de usuario, haga clic en el botón « Adicionalparámetros" y en la pestaña " Privilegiousuario" permitir " Administraciónsistemas».

Para administrar grupos, debe utilizar el botón " Gestión de grupos».

Verá una lista de grupos y botones " Agregar"(bueno, está claro que este botón agrega nuevo grupo), « Borrar" (elimina un grupo) y " Propiedades"(usando este botón puedes agregar/excluir fácilmente miembros del grupo). Todo es muy sencillo e intuitivo.

Con esto concluye nuestra próxima conferencia :). Espero no haberos aburrido? De acuerdo en que, en principio, este sistema no da tanto miedo como dicen. Si tiene algo que agregar (agregar), agréguelo en sus comentarios.

Epílogo

Así quedó, semi-teórico y algo práctico, pero sigue siendo un artículo importante para aquellos que están aprendiendo Linux y que están interesados ​​en él.

PD Gracias a un miembro del equipo de Pantera por la existencia de este artículo.

EN menta linux(como en Ubuntu) el inicio de sesión raíz está deshabilitado de forma predeterminada. Por un lado, esto es correcto para que un usuario que anteriormente trabajaba en Windows constantemente como administrador no repita este error en Ubuntu/Mint. Pero todavía es posible iniciar sesión como root.

raíz en Linux Mint

¡Atención! ¡Trabajar como root es peligroso! Se recomienda utilizar la utilidad sudo para realizar tareas administrativas. ¡El autor no es responsable de las consecuencias del trabajo descuidado con privilegios elevados!

Obtener privilegios de root en una terminal o consola

Para obtener privilegios de root en la línea de comando, simplemente ingrese sudo-i, luego su contraseña. Esto se puede utilizar cuando necesita ingresar varios comandos como root().

Asignar una contraseña de root

Para poder iniciar sesión como root, primero debe asignarle una contraseña (por cierto, en Debian y openSUSE la contraseña para root se asigna durante el proceso de instalación). Para hacer esto, ingrese en la línea de comando sudo contraseña raíz y luego ingrese su contraseña y la contraseña de root dos veces. Después de esto, puede iniciar sesión como root en la línea de comando. Además, si entras su y entrar contraseña raíz, entonces recibirá privilegios elevados (tanto de sudo-i).

Habilitar la capacidad de iniciar sesión como root en MDM

Entonces, al asignar una contraseña de root, pudimos iniciar sesión como root en la consola, pero no en entorno gráfico. El hecho es que, de forma predeterminada, en la configuración de MDM, está prohibido iniciar sesión como root. Para resolverlo, debe ir a la configuración del sistema, abrir Preferencias de la ventana de inicio de sesión, sección abierta Opciones y marca Permitir inicio de sesión raíz. Después de esto podrás iniciar sesión como root en modo gráfico.

Por cierto, Thunar, lanzado desde la raíz, muestra una línea de advertencia amarilla, mientras que Nemo solo muestra una línea roja con las palabras “Privilegios elevados”.

Por cierto, en el mismo Ubuntu, iniciar sesión como root está menos restringido: LightDM de Ubuntu no prohíbe iniciar sesión como root por defecto, pero sí el que viene con Ubuntu. gestor de archivos Nautilus ejecutándose como root no muestra ninguna advertencia (y tampoco Dolphin).

Selecciona calificación Dale 1/5 Dale 2/5 Dale 3/5 Dale 4/5 Dale 5/5

Instrucciones

De forma predeterminada, en Ubuntu, la capacidad de iniciar sesión como superusuario está deshabilitada. Para habilitar la raíz, necesita conocer la contraseña que se establece durante la instalación del sistema. La contraseña siempre se puede cambiar usando el comando a través del “Terminal” (Menú - Programas - Estándar): sudo passwd root
Sudo le permite usar privilegios de root para ejecutar la siguiente solicitud y passwd cambia la contraseña del usuario seleccionado, en en este caso para raíz. Después de ingresar el comando, ingrese su contraseña anterior y luego la nueva.

Active la capacidad de que un usuario privilegiado inicie sesión localmente a través de un shell gráfico. Para hacer esto, vaya al menú "Sistema" - "Administración" - "Ventana de inicio de sesión" - "Seguridad" y luego seleccione "Permitir". entrada local..." Reinicie su computadora. Ahora puede iniciar sesión como root.

Para ejecutar comandos como root a través de Terminal en sistemas Fedora y Mandriva, se utiliza el prefijo su. Abra el archivo gdm:
su

gedit /etc/pam.d/gdm
Y comente la línea "auth requerida pam_succeed..." usando el signo #. Después de eso, reinicie e intente iniciar sesión como superusuario desde la ventana de selección de cuenta.

Si tiene un escritorio KDE, edite el archivo kdmrc, que se encuentra en la carpeta /usr/share/config/kdm. Busque la línea AllowRootLogin y cambie su valor a True, luego guarde los cambios y reinicie la sesión del usuario utilizando el elemento de menú correspondiente.

Consejos útiles

No debes utilizar la cuenta raíz para realizar tareas diarias. Sólo debes utilizar una cuenta administrativa si es necesario. Para ver películas y editar documentos electronicos Los derechos de un usuario normal del sistema son bastante adecuados.

Root es el superusuario en Sistemas tipo Unix. Esta es una cuenta administrativa que tiene un inicio de sesión predeterminado de "root" y se le puede cambiar el nombre fácilmente si es necesario. El esquema superusuario-usuario se inventó para facilitar el proceso de administración y garantizar la seguridad y estabilidad del sistema. Todas las acciones realizadas en los archivos del sistema no están disponibles para el usuario promedio, pero son posibles para el usuario raíz.

Instrucciones

EN ubuntu linux De forma predeterminada, no podrá iniciar sesión como superusuario. Para habilitar la cuenta raíz, necesita conocer su contraseña. Generalmente se configura durante la instalación del sistema, pero siempre se puede reemplazar. Abra “Terminal” (“Menú – “Programas” – “Accesorios”) e ingrese el comando: sudo passwd root. El comando "sudo" indica al sistema que se deben realizar las siguientes acciones. Después de esto deberás ingresar tu Contraseña anterior y luego el nuevo que desea configurar.

A continuación, debe crear la capacidad para que root inicie sesión en el sistema localmente. Para hacer esto, vaya a "Sistema" - "Administración" - "Ventana de inicio de sesión". Vaya a la pestaña Seguridad y seleccione Permitir inicio de sesión local para el administrador del sistema.

Para iniciar sesión como root en el sistema operativo Fedora, utilice comando terminal"su" e ingrese la contraseña apropiada. Después de eso, abra el archivo gdm.

1. Usando el comando: su

Muchos comandos sólo pueden ser ejecutados por el superusuario, por lo que necesitamos saber cómo convertirnos en root. Para ello podemos utilizar el comando: su (cambiar de usuario). El comando su acepta los siguientes formatos:

pero la mayoría de las veces usaremos su para poder convertirte en usuario raíz:

Su - raíz

Si no se especifica el nombre de usuario en la línea, se supone automáticamente que el usuario es root, por lo que el comando se puede acortar:

pero ambos equipos se comportan de manera diferente. "su" le da al usuario actual una identidad, mientras que "su -" le da al usuario actual una identidad junto con el entorno que se obtendría al registrarse como.

A menudo los usuarios utilizan "su" para convertirse en root. Si intenta ejecutar un comando (por ejemplo, ifconfig), recibirá: "comando extraviado" error.

Su Contraseña: ifconfig bash: ifconfig: comando no encontrado

La razón es que los usuarios normales del sistema y el usuario root tienen diferentes variables de entorno PATH (puede ver la RUTA del usuario usando "echo $PATH después de ingresar"). Comandos de Linux, el shell buscará la RUTA del usuario para intentar encontrar un comando para ejecutar. Comienza a buscar en todos los directorios enumerados en PATH hasta que se encuentra el objetivo.

equipos usuarios comunes normalmente ubicado en /usr/local/bin, /usr/bin y /bin. Y los comandos del usuario root se encuentran principalmente en /usr/local/sbin, /usr/sbin, /sbin y la RUTA raíz refleja esto. Entonces cuando te conviertes en superusuario con "su -", también aceptas nueva manera RUTA a los comandos básicos. Y usando solo "su", se guarda ruta personalizada PATH es la opción predeterminada, por lo tanto, al intentar ejecutar un programa ubicado en /usr/local/sbin, /usr/sbin, /sbin producirá el resultado: error "comando no encontrado". Para obtener una explicación más detallada, consulte la página de man bash, especialmente la sección de shells de inicio de sesión.

Por lo tanto, debe especificar la ruta completa al comando (ejemplo - /sbin/ifconfig) cuando use "su", o use "su -" cuando se convierta en root.

2. Usando Sudo

No es necesario ser superusuario cada vez que desee ejecutar algunas funciones administrativas específicas. Gracias a sudo, puede ejecutar algunos o todos los comandos como root. Cuando sudo instalado (paquete: Sudo), puedes configurarlo usando el comando "visudo" como root. Básicamente edita (valor predeterminado de Vim) /etc/sudoers, pero no se recomienda hacerlo manualmente.

Alex TODOS=(TODOS)TODOS

Alex es el nombre de usuario. Guarde (presione Escape y luego escriba wq) y listo. Inicie sesión como Alex y ejecute, por ejemplo:

$sudo mmm actualizar

Sudo le pedirá una contraseña. Esta es la contraseña de Alex, no la del usuario root. Así que tenga cuidado al otorgar derechos de usuario con Sudo.

Pero Sudo puede hacer más que eso. Podemos permitir que un usuario o grupo de usuarios ejecute solo un comando o grupo de comandos. Volvamos a nuestro archivo sudoers. Empecemos con alex y alisa, miembros del grupo de administradores. Si queremos que todos los usuarios del grupo "administrador" puedan ejecutar todos los comandos como superusuario, debemos modificar nuestro ejemplo:

%admin TODOS=(TODOS)TODOS

Alex también puede ejecutar un comando de superusuario y Alisa tiene derecho a ejecutar Sudo, con los mismos derechos y su contraseña. Si alex y alisa no son miembros del mismo grupo, podemos definir el alias del usuario en el archivo sudoers:

User_Alias ​​​​ADMINS = alisa,alex

Aquí hemos definido un alias llamado ADMINS, con miembros alisa y alex.

Sin embargo, no queremos que Alex y Alisa puedan ejecutar ningún programa como root. Queremos que sólo puedan ejecutar "updatedb". Definamos un alias de comando:

Cmnd_Alias ​​​​LOCALIZAR = /usr/sbin/updatedb

¡Pero esto no es suficiente! Necesitamos decirle a Sudo que los usuarios definidos como ADMINS pueden ejecutar comandos especificados en LOCATE. Para hacer esto, reemplazaremos las líneas con "%admin" por estas:

ADMINISTRADORES TODOS = LOCALIZAR

Esto significa que los usuarios del alias ADMINS pueden ejecutar todos los comandos del alias LOCATE.

Esta vez, /etc/sudoers tiene este aspecto:

User_Alias ​​​​ADMINS = alisa, alex Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb ADMINISTRADORES TODOS = LOCATE

Como resultado, Alex y Alisa pueden ejecutar Updateb como root ingresando su contraseña.

Si se cambia la última línea del archivo:

ADMINISTRADORES TODOS = NO CONTRASEÑA: LOCALIZAR

entonces alex y alisa podrán ejecutar "sudo actualizadob" sin ingresar una contraseña.

Puede agregar más comandos a un alias de comando y más alias a una regla. Por ejemplo, podemos crear un alias NETWORKING que contenga algunos comandos de red como: ifconfig, route o iwconfig:

Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhcclient, /usr/bin/net, sbin/iptables, /usr/bin/rfcom, /usr/bin/wvdial, /sbin /iwconfig, /sbin/mii-herramienta

Agreguemos todo esto a nuestro archivo /etc/sudoers (¡usando visudo!). También otorgaremos a nuestro grupo ADMINS los derechos para ejecutar programas desde el alias NETWORKING:

User_Alias ​​​​ADMINS = alice, bob Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net ,/sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool ADMINISTRADORES TODOS = LOCALIZACIÓN, REDES

Una prueba rápida: inicia sesión como alisa (o alex) y escribe:

$ping -c 10 -i servidor local

La respuesta debería llegar rápidamente:

PING localhost.localdomain (127.0.0.1) 56(84) bytes de datos. ping: no se puede inundar; El intervalo mínimo permitido para el usuario es de 200 ms.

Ahora lo mismo pero con Sudo:

$sudo ping -c 10 -i 0 localhost PING localhost.localdomain (127.0.0.1) 56(84) bytes de datos. 64 bytes de localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 tiempo=0.049 ms 64 bytes de localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 tiempo=0.034 ms 64 bytes de localhost.localdomain (127.0.0.1): icmp_seq=3 ttl=64 tiempo=0.021 ms 64 bytes de localhost.localdomain (127.0.0.1): icmp_seq=4 ttl=64 tiempo=0.030 ms 64 bytes de localhost.localdomain (127.0.0.1): icmp_seq=5 ttl=64 tiempo=0.017 ms 64 bytes de localhost.localdomain (127.0.0.1): icmp_seq=6 ttl=64 tiempo=0.016 ms 64 bytes de localhost.localdomain (127.0.0.1): icmp_seq=7 ttl=64 tiempo=0,016 ms 64 bytes desde localhost.localdomain (127.0.0.1): icmp_seq=8 ttl=64 tiempo=0,016 ms 64 bytes desde localhost.localdomain (127.0.0.1): icmp_seq=9 ttl=64 tiempo=0,016 ms 64 bytes desde localhost.localdomain (127.0.0.1): icmp_seq=10 ttl=64 tiempo=0.016 ms --- estadísticas de ping de localhost.localdomain --- 10 paquetes transmitidos, 10 recibidos, 0% de pérdida de paquetes, tiempo 1ms rtt min/avg/ máx/mdev = 0,016/0,023/0,049/0,010 ms, ipg/ewma 0,187/0,028 ms

sudo A menudo se utiliza para otorgar a ciertos usuarios acceso parcial a comandos privilegiados para que puedan realizar funciones administrativas limitadas. Una de las comodidades sudo es que todos los comandos se escriben en /var/log/secure. El ejemplo anterior se describirá en la línea del registro:

18 de abril 11:23:17 localhost sudo: alex: TTY=pts/0; PWD=/casa/alex ; USUARIO=raíz; COMANDO=/bin/ping -c 10 -i 0 localhost

Eso es todo. Ahora nunca olvidaré cuando usé Sudo: "un gran poder conlleva una gran responsabilidad".

2.1 shell Sudo

Si tiene suficientes permisos configurados en sudoers, también puede abrir un shell raíz usando:

EN últimas versiones solo en CentOS 5, para ejecutar el shell como root, use sudo -s. Tenga mucho cuidado ya que esto puede cambiar o crear nuevos archivos en directorio de inicio Rootear e instalar en el directorio de inicio del usuario que llama.

3.ayudante de consola

Consolehelper es un shell para iniciar GUI de la aplicación. Cuando comienza a ejecutarse, verifica la configuración de PAM para la aplicación requerida. Esto significa que podemos autenticar al usuario usando todos módulos instalados PAM. El método principal es pedir una contraseña, pero si contamos con el equipo adecuado. Podemos autenticarnos mediante tarjetas inteligentes, tokens, huellas dactilares, etc. La configuración de PAM está más allá del alcance de este documento (consulte la Guía del administrador de PAM), por lo que veremos el paso de configuración del asistente de consola necesario para ejecutar aplicaciones como root y requerir una contraseña de root.

Como ejemplo, configuremos /usr/bin/xterm para que se ejecute como root.

Ln -s /usr/sbin/consolehelper /usr/bin/xterm-root

Ahora para configurar PAM, cree un archivo /etc/pam.d/xterm-root:

#%PAM-1.0 autenticación incluye cuenta config-util incluye sesión config-util incluye config-util

Finalmente, configure consolehelper para ejecutar /usr/bin/xterm como root con el comando "xterm-root". Cree un archivo /etc/security/console.apps/xterm-root:

USUARIO=raíz PROGRAMA=/usr/bin/xterm

Eso es todo. Ejecute "xterm-root" (desde la línea de comando o con un acceso directo al archivo .desktop), ingrese la contraseña y listo. Si recibe el error: "Xlib: conexión a ":0.0" rechazada por el servidor", ejecute "xhost local:root" primero.

Cuando queremos ejecutar programas como root usamos sudo, gksu, gksudo, etc. Ahora mi pregunta es ¿cómo podemos ejecutar Terminal como usuario root en Terminal?

Intenté usar gksudo terminal gksu terminal pero no pasa nada. y cuando ejecuto sudo terminal me sale el error sudo: terminal: comando no encontrado.

El emulador de terminal predeterminado en Ubuntu es GNOME Terminal. Está ubicado en /usr/bin/gnome-terminal y se puede iniciar usando el comando gnome-terminal.

¿Qué es lo que realmente quieres?

Lo más probable es que desee un shell con privilegios de root, como si se hubiera creado desde el inicio de sesión de root (por ejemplo, con todas las variables de entorno configuradas como root, no como su usuario).

Suponiendo lo que desea, como sugirió Steeldriver, simplemente ejecute:

Tendrá un shell raíz en el que los comandos que ingrese se ejecutarán como raíz (sin sudo precediéndolos).

Pero si realmente deseas ejecutar una aplicación de emulador de terminal gráfico como root, sigue leyendo. Les presento dos formas: usando gksu/gksdo y el comando sudo.

Con gksu/gksudo

Ya que tienes gksu paquete instalado puedes ejecutar gnome-terminal como root con cualquiera de:

Gksu gnome-terminal gksudo gnome-terminal

(Dado que gksu está instalado en modo sudo de forma predeterminada en Ubuntu, deberían ser equivalentes).

Ejecutar gnome-terminal como root sin administrar gnome-terminal sin privilegios de root:

Casi todos los entornos de escritorio ofrecen la posibilidad de ejecutar un comando sin tener que abrir una terminal (que luego, si se cierra, normalmente finalizará el comando).

Esto generalmente se logra con usando Alt+F2. Aparece un cuadro de texto que dice Correr(o similar) y podrá ingresar su comando.

Por ejemplo, esto es similar a Unity:

Y como en MATE (GNOME Flashback/Falback, Xfce, LXDE son similares):

tenga en cuenta que Esto funciona con gksu y gksudo porque utilizan un cuadro de diálogo de autenticación gráfico. Si presionara Alt + F2 y ejecutara sudo... , no podrá interactuar con la solicitud de contraseña.

con sudo

Si no tienes el paquete gksu y no quieres instalarlo, puedes usar:

Sudo -H gnome-terminal

La bandera -H es importante porque establece variable de entorno HOME en /root en lugar de su directorio de inicio propio usuario. Tú No debería usar sudo gnome-terminal ya que puede romper la configuración de gnome-terminal propiedad de un usuario no root. para recibir información adicional sobre esto ver

  • RootSudo en la Wiki de ayuda de Ubuntu
  • ¿Por qué los usuarios no deberían utilizar sudo normal para ejecutar aplicaciones gráficas?

(sudo -i gnome-terminal también está bien).

Deshacerse de un terminal de control sin autorización:

Si usted (1) abrir una terminal gráfica, (2) ejecute algo como sudo -H gnome-terminal en él, cree una nueva terminal raíz gráfica y (3) salga del terminal gráfico original sin root... luego se cierra el terminal gráfico raíz.

Esto se debe a que el terminal gráfico raíz recibe SIGHUP cuando el terminal propietario cierra la sesión.

Para evitar esto, podrías considerar la posibilidad de iniciar un terminal raíz gráfico:

Sudo -H gnome-terminal &

Pero esto sólo funcionará si sudo no solicita una contraseña. Si esto sucede, no verá la solicitud de contraseña.

De una sola mano Una solución alternativa para esto es utilizar:

Sudo -v sudo -H gnome-terminal

sudo -v existe sólo para este propósito. Como se explica en man sudo, "actualiza las credenciales almacenadas en caché del usuario, autenticándolo si es necesario".

Tenga en cuenta que esto aún no funcionará si ejecuta directamente desde la línea de comando Alt + F2 del entorno de escritorio, porque aún necesita una terminal para ingresar la contraseña de sudo -v.

O puedes hacer esto en lo que se puede llamar manera tradicional, pausar la operación una vez iniciada:

  1. Ejecute sudo -H gnome-terminal desde la terminal gráfica original sin privilegios de root.
  2. Ingrese la contraseña como se especifica en sudo. Se iniciará la terminal gráfica.
  3. Mientras está en una terminal sin privilegios de root, presione Ctrl + Z para pausar el terminal raíz. Aunque el terminal raíz está suspendido, no puedes usarlo; su interfaz no responderá a tus acciones.
  4. Salir del terminal de control sin salir root con exit. La configuración del terminal raíz gráfico se cancelará y anulará automáticamente por un terminal no raíz.

Sudo -H gnome-terminal ^Z salir

Pero digamos que desea continuar usando el terminal original no raíz. Entonces puedes ejecutar bg norte , Dónde norte – número del trabajo del terminal raíz gráfico en el que reanudar el trabajo fondo. Puede ejecutar trabajos para encontrar norte pero probablemente no sea necesario: este número se mostró como [ norte ] cuando presionaste Ctrl + Z. Por ejemplo:

Ek@Ilex:~$ sudo -H gnome-terminal contraseña para por ejemplo: ^Z [ 1 ]+ Detenido sudo -H gnome-terminal ek@Ilex:~$

Respuesta corta:

Gksudo gnome-terminal (suponiendo que gksu esté instalado)

abre la terminal como root:

Raíz@jacob-satellite-l300:~#

No es necesario explicar que puedes usar esto para abrir cualquier terminal como raíz; por ejemplo, Vala (gksudo vala-terminal), gksudo xterm (gksudo xterm), Termit (gksudo termit), UXTerm (gksudo uxterm), Konsole (gksudo konsole), etc.

Hay otra manera de hacer esto, probar y trabajar con Ubuntu 16.04 LTS:

Primero instale gnome-panel:

Sudo apt instalar gnome-panel

Luego instale gksu:

Sudo apto instalar gksu

Una vez completada la instalación, ejecute:

Gnome-desktop-item-edit ~/Desktop/ --create-new

Esto crea un acceso directo en su escritorio. Deberías poder nombrarlo. Llamé al mío "X-Term", pero puedes llamar al tuyo como quieras. Ingrese /usr/bin/gksu * para la ruta "Comando".




Arriba