Diferencia entre SU y sudo y cómo configurar sudo en Linux

Diferencia entre SU y sudo y cómo configurar sudo en Linux

Sistema de Linux está muy asegurado que cualquiera de su contraparte. Una de las formas de implementar la seguridad en Linux es la política de administración de usuarios y el permiso del usuario y los usuarios normales no están autorizados para realizar ninguna operación del sistema.

Si un usuario normal necesita realizar cualquier cambio en todo el sistema, necesita usar 'SU' o 'sudo' dominio.

Linux: Su V/S sudo

NOTA - Este artículo es más aplicable a Ubuntu distribuciones basadas, pero también aplicables a la mayoría de los populares Linux distribuciones.

'Su' vs 'sudo'

'SU'te obliga a compartir tu contraseña de raíz a otros usuarios mientras que 'sudo'hace posible ejecutar comandos del sistema sin raíz contraseña. 'sudo'le permite usar su propia contraseña para ejecutar comandos del sistema I.mi., Delegados la responsabilidad del sistema sin raíz contraseña.

Que es 'sudo'?

'sudo'es un binario de raíz setuid, que ejecuta comandos raíz en nombre de los usuarios autorizados y los usuarios deben ingresar su propia contraseña para ejecutar el comando del sistema seguido de 'sudo'.

Quien puede ejecutar 'sudo'?

Podemos correr '/usr/sbin/visudo'Para agregar/eliminar la lista de usuarios que pueden ejecutar'sudo'.

$ sudo/usr/sbin/visudo

Una captura de pantalla de '/usr/sbin/visudo'Archivo, se parece a esto:

El sudo La lista se parece a la cadena a continuación, de forma predeterminada:

root todos = (todos) todos

Nota: Usted debe ser raíz Para editar /usr/sbin/visudo archivo.

Concesión de acceso a sudo

En muchas situaciones, Administrador de sistema, especialmente nuevo en el campo encuentra la cadena "root todos = (todos) todos"Como plantilla y otorga acceso sin restricciones a otros que pueden ser potencialmente muy dañinos.

Edición '/usr/sbin/visudo ' Archivo a algo como el siguiente patrón puede ser realmente muy peligroso, a menos que crea que todos los usuarios enumerados por completo.

Root All = (All) All Adam All = (All) All Tom All = (All) All Mark All = (All) Todos

Parámetros de sudo

Un configurado correctamente 'sudo'es muy flexible y el número de comandos que deben ejecutarse pueden configurarse con precisión.

La sintaxis de configurado 'sudo'La línea es:

Comando user_name máquina_name = (efectivo_user)

La sintaxis anterior se puede dividir en cuatro partes:

  1. Nombre de usuario: Este es el nombre de 'sudo'Usuario.
  2. Nombre de la máquina: Este es el nombre de host, en el que 'sudo'El comando es válido. Útil cuando tienes muchas máquinas host.
  3. (Efectivo_user): El 'usuario efectivo' que puede ejecutar los comandos. Esta columna le permite permitir a los usuarios ejecutar comandos del sistema.
  4. Dominio: comando o un conjunto de comandos que el usuario puede ejecutar.

Leer sugerido: 10 configuraciones útiles de sudoers para configurar 'sudo' en Linux

Algunas de las situaciones y sus correspondientes 'sudo' línea:

Q1. Tienes un usuario marca que es un administrador de base de datos. Se supone que debe proporcionarle todo el acceso en el servidor de bases de datos (beta.servidor de base de datos.comunicarse) solo, y no en ningún anfitrión.

Para la situación anterior el 'sudo'La línea se puede escribir como:

Mark beta.servidor de base de datos.com = (todos) todos

Q2. Tienes un usuario 'Tomás'que se supone que ejecuta el comando del sistema como el usuario que no sea root en el mismo servidor de base de datos, se explicó anteriormente.

Para la situación anterior el 'sudo'La línea se puede escribir como:

Mark beta.servidor de base de datos.com = (tom) todos

Q3. Tienes un usuario de sudo 'gato'que se supone que ejecuta el comando'perro' solo.

Para implementar la situación anterior, podemos escribir 'sudo' como:

Mark beta.servidor de base de datos.com = (gato) perro

Q4. ¿Qué pasa si el usuario necesita recibir varios comandos??

Si el número de comandos, se supone que el usuario debe ejecutarse 10, Podemos colocar todos los comandos al lado, con espacio en blanco entre ellos, como se muestra a continuación:

Mark beta.servidor de base de datos.com = (cat)/usr/bin/command1/usr/sbin/command2/usr/sbin/command3 .. 

Si esta lista de comando varía en el rango, donde literalmente no es posible escribir cada comando manualmente, necesitamos usar alias. Alias! Sí, la utilidad de Linux donde se puede referir un comando largo o una lista de comando como una palabra clave pequeña y fácil.

Algunos alias Ejemplos, que se pueden usar en lugar de entrada en 'sudo' archivo de configuración.

User_alias Admins = Tom, Jerry, Adam user_alias webmaster = Henry, Mark, Mark
WebMasters WebServers = (www) Apache cmnd_alias proc =/bin/kill,/bin/killall,/usr/bin/top

Es posible especificar un Grupos de sistemas, En lugar de los usuarios, eso pertenece a ese grupo simplemente sufijo '%' como a continuación:

%Apacheadminservers = (www) apache

Q5. ¿Qué tal ejecutar un 'sudo'Comando sin ingresar contraseña?

Podemos ejecutar un 'sudo'Comando sin ingresar contraseña usando'Nopasswd' bandera.

Adam all = (todos) nopasswd: procs

Aquí el usuario 'Adán'puede ejecutar todos los comandos alias bajo "Procedencia", Sin ingresar contraseña.

Leer sugerido: Deje que sudo lo insultes cuando ingreses una contraseña incorrecta

"sudo"Le proporciona un entorno robusto y seguro con mucha flexibilidad en comparación con 'SU'. Además "sudo"La configuración es fácil. Algunas distribuciones de Linux tienen "sudo"Habilitado de forma predeterminada, mientras que la mayoría de las distribuciones de hoy necesitan que lo habilite como un Medida de seguridad.

Para agregar un usuario (BOB) a sudo, simplemente ejecute el siguiente comando como root.

Adduser Bob Sudo 

Eso es todo por ahora. Estaré aquí de nuevo con otro artículo interesante. Hasta entonces, estad atentos y conectado a Tecmint. No olvide proporcionarnos sus valiosos comentarios en nuestra sección de comentarios.