{"id":392,"date":"2023-02-17T17:46:18","date_gmt":"2023-02-17T17:46:18","guid":{"rendered":"https:\/\/jumpcloud.com\/es\/?p=392"},"modified":"2023-04-12T20:34:09","modified_gmt":"2023-04-12T20:34:09","slug":"how-to-create-sudo-user-manage-sudo-access-ubuntu-22-04","status":"publish","type":"post","link":"https:\/\/jumpcloud.com\/es\/blog\/how-to-create-sudo-user-manage-sudo-access-ubuntu-22-04","title":{"rendered":"C\u00f3mo Crear un Nuevo Usuario Sudo y Gestionar el Acceso Sudo en Ubuntu 22.04"},"content":{"rendered":"\n
Quiz\u00e1 ya haya escuchado el concepto: \u201cEn Linux, todo es un archivo\u201d. Esto suena en cierto modo desconcertante debido a que el sistema Linux abarca varias entidades y no solo archivos. Tenemos directorios, v\u00ednculos simb\u00f3licos, procesos, tubos y conectores, solo por mencionar algunos. La simplificaci\u00f3n excesiva simplemente provee una perspectiva de alto nivel de la arquitectura Linux. Implica que en un sistema Linux, cada entidad se considera un archivo. Estas entidades se representan por un descriptor de archivo el cual es un identificador \u00fanico para un archivo u otros recursos tales como directorios, enchufes de redes, o procesos \u2013de ah\u00ed el concepto \u201ctodo es un archivo\u201d.<\/p>\n\n\n\n
Esta simplificaci\u00f3n excesiva nos lleva posteriormente al concepto de archivos de permisos y directorios. De manera predeterminada, cada archivo en Linux tiene sus propios permisos y directorios. Estos permisos determinan los derechos de acceso y beneficios con los cuales cuentan los usuarios en los archivos. Si usted posee un archivo o un directorio, puede hacer casi todo lo que usted desee \u2013puede acceder a \u00e9l, editarlo, renombrarlo e incluso eliminarlo.<\/p>\n\n\n\n
Pero no todos los usuarios son iguales. Un usuario \u00fanico en el sistema Linux es el usuario principal. El usuario principal es un usuario administrador con los m\u00e1s altos beneficios y no est\u00e1 limitado por ninguna restricci\u00f3n de permiso. El usuario puede hacer pr\u00e1cticamente todo. Esto incluye instalar y desinstalar programas, acceder y modificar los archivos del sistema, y personalizar el sistema. El usuario principal puede incluso romper el sistema, ya sea intencional o accidentalmente \u2013por lo cual no se recomienda ingresar y operar el sistema como el usuario principal. Solamente basta con utilizar un comando err\u00f3neo para da\u00f1ar el sistema. Por esta raz\u00f3n, siempre se recomienda operar con los comandos de usuario sudo.<\/p>\n\n\n\n
Debido a que no se incentiva en gran manera el administrar el sistema Linux bajo el usuario principal, un administrador de sistema necesita permitir a un usuario regular alg\u00fan nivel de privilegio para ejecutar algunos comandos base (o todos). <\/p>\n\n\n\n
Sudo es un programa que permite regular los permisos de los usuarios para operar comandos con privilegios base o como alg\u00fan otro usuario. Un usuario sudo es, por consiguiente, un usuario Linux regular con privilegios elevados para operar comandos como un usuario principal o alg\u00fan otro usuario regular, que predeterminadamente es el usuario principal. Adem\u00e1s, puede configurar sudo para restringir un usuario sudo a un pu\u00f1ado de comandos o permitirles operar todos los comandos como el usuario principal. Cubriremos estos escenarios con mayor profundidad m\u00e1s tarde en esta gu\u00eda.<\/p>\n\n\n\n
Primeramente, lo llevaremos a trav\u00e9s de la creaci\u00f3n de un usuario de sudo en Ubuntu 20.04. <\/p>\n\n\n\n
Para crear un usuario sudo en Ubuntu 20.04, siga los pasos que se enumeran a continuaci\u00f3n:<\/p>\n\n\n\n
Primero, inicie sesi\u00f3n en su servidor de la cloud como usuario principal empleando la sintaxis que se muestra:<\/p>\n\n\n\n
$ ssh root@server-ip<\/p>\n\n\n\n
Otorgue la contrase\u00f1a principal cuando se le solicite y presione INTRO (\u201center\u201d) para obtener acceso al servidor. Si est\u00e1 utilizando Putty, simplemente ingrese la direcci\u00f3n IP del servidor remoto y de click en el bot\u00f3n \u201cAbrir\u201d (\u201cOpen\u201d) y presione INTRO. <\/p>\n\n\n\n
<\/p>\n\n\n\n
Una vez ingresado, cree un nuevo usuario regular empleando el comando adduser. Aqu\u00ed, jumpcloud es nuestro nuevo usuario.<\/p>\n\n\n\n
# adduser jumpcloud<\/p>\n\n\n\n
El comando realiza un par de cosas. Primero, crea un nuevo usuario y un grupo primario llamado Jumpcloud, y posteriormente agrega el usuario al grupo. Despu\u00e9s, se crea un directorio \u201chome\u201d para el usuario y los archivos de configuraci\u00f3n se copian ah\u00ed. Posteriormente, ser\u00e1 direccionado para ingresar la contrase\u00f1a del nuevo usuario. Aseg\u00farese de proporcionar una contrase\u00f1a segura y conf\u00edrmela.<\/p>\n\n\n\n
Una vez establecida la contrase\u00f1a de usuario, se le va a requerir proporcionar informaci\u00f3n adicional. Compl\u00e9tela donde sea necesario o deje en blanco presionando INTRO si la informaci\u00f3n no aplica.<\/p>\n\n\n\n Para confirmar que se haya agregado el nuevo usuario, observe el archivo \/etc\/passwd empleando el comando cat (de \u201cconcatenar\u201d). Esto provee informaci\u00f3n como el UID (Identificaci\u00f3n de Usuario o \u201cUser ID\u201d), GID (Identificaci\u00f3n de Grupo o \u201cGroup ID\u201d) y la ruta al directorio \u201chome\u201d o casa.<\/p>\n\n\n\n # cat \/etc\/passwd | grep jumpcloud<\/p>\n\n\n\n De igual manera, puede recuperar los detalles del usuario utilizando el comando id.<\/p>\n\n\n\n # id jumpcloud<\/p>\n\n\n\n Un grupo sudo se trata de un grupo de superusuarios los cuales tienen acceso privilegiado a los comandos principales. Teniendo eso en mente, proceda y agregue el nuevo usuario al grupo sudo utilizando el comando usermod tal y como se muestra a continuaci\u00f3n:<\/p>\n\n\n\n # usermod -aG sudo jumpcloud<\/p>\n\n\n\n Para verificar que se ha agregado el usuario al grupo sudo, utilice el comando id. <\/p>\n\n\n\n # id jumpcloud<\/p>\n\n\n\n Del resultado, podemos darnos cuenta que el usuario ahora pertenece a dos grupos: jumpcloud y sudo. Alternativamente, puede tambi\u00e9n correr el comando groups para solamente mostrar los grupos a los cuales pertenece el usuario. <\/p>\n\n\n\n # groups jumpcloud<\/p>\n\n\n\n \u00a1Perfecto! El nuevo usuario ahora se convierte en usuario sudo y cuenta con acceso ilimitado a los privilegios principales.<\/p>\n\n\n\n Una vez ya establecido el usuario sudo, vamos a proceder y a probar el usuario. As\u00ed que cambie al usuario sudo utilizando el comando su<\/strong>.<\/p>\n\n\n\n # su – jumpcloud<\/p>\n\n\n\n El comando lo sit\u00faa en el directorio \u201chome\u201d del usuario. La sintaxis para el usuario sudo se muestra a continuaci\u00f3n:<\/p>\n\n\n\n $ sudo comando-a-ejecutarse<\/p>\n\n\n\n Como ejemplo, vamos a actualizar las listas de paquetes de nuestro sistema. As\u00ed que, invoque sudo seguido por el comando a ejecutar.<\/p>\n\n\n\n $ sudo apt update<\/p>\n\n\n\n Cuando se indique, ingrese la contrase\u00f1a del usuario y presione INTRO. El comando se ejecutar\u00e1 sin ning\u00fan problema \u2013una confirmaci\u00f3n de que el usuario se ha agregado exitosamente al grupo sudo y puede ahora ejecutarse con las funciones elevadas del sistema.<\/p>\n\n\n\n El usuario sudo que hemos creado asume todos los derechos y beneficios del usuario principal y puede ejecutar virtualmente cualquier comando. Sin embargo, la buena pr\u00e1ctica recomienda que se utilice el principio del beneficio menor. Esto es un concepto de seguridad en el cual solo se asigna al usuario acceso m\u00ednimo a los derechos y permisos para ejecutar su funci\u00f3n. Por consiguiente, como administrador de sistema, solo le deber\u00eda brindar los permisos necesarios al usuario sudo para permitirle emplear sus funciones.<\/p>\n\n\n\n El archivo sudo \/etc\/sudoers se trata de un archivo que detalla qu\u00e9 usuarios pueden correr cu\u00e1les comandos del sistema. Incluye un conjunto de reglas que controlan que usuarios o grupos pueden ejecutar las actividades m\u00e1s avanzadas. Para permitir o restringir los beneficios principales a los usuarios, necesita editar este archivo. <\/p>\n\n\n\n Nunca debe editar el archivo de usuarios sudoer empleando un editor normal de texto como lo es nano o vim ya que esto puede resultar en un archivo da\u00f1ado lo cual puede bloquear potencialmente a cualquiera incluyendo al administrador. Como tal, el archivo de usuarios sudoer debe accederse ejecutando el comando visudo como se muestra a continuaci\u00f3n:<\/p>\n\n\n\n $ visudo<\/p>\n\n\n\n Esto abre el archivo \/etc\/sudoers empleando el editor nano como se muestra debajo. Todas las l\u00edneas iniciando con un s\u00edmbolo hash \u2013#\u2013 son comentarios y no tienen ning\u00fan efecto o impacto en el archivo.<\/p>\n\n\n\n Predeterminadamente, el archivo cuenta con 6 l\u00edneas sin comentar. Vayamos a la l\u00ednea de beneficio del usuario la cual se encuentra en la cuarta l\u00ednea.<\/p>\n\n\n\n root ALL=(ALL:ALL) ALL <\/p>\n\n\n\n Las siguientes dos l\u00edneas definen las regulaciones sudo para los grupos. El s\u00edmbolo \u201c%\u201d define un grupo. Aqu\u00ed, tenemos dos grupos que se han definido: administrador y grupos sudo.<\/p>\n\n\n\n La segunda l\u00ednea indica que el administrador de grupo puede operar todos los comandos como cualquier usuario.<\/p>\n\n\n\n %admin ALL=(ALL) ALL <\/p>\n\n\n\n La tercera l\u00ednea indica que el usuario sudo puede operar cualquier comando como cualquier usuario, as\u00ed como cualquier grupo.<\/p>\n\n\n\n %sudo ALL=(ALL:ALL) ALL <\/p>\n\n\n\n No se recomienda editar directamente el directorio sudoer. En vez, es preferible emplear las regulaciones asociadas a sudo en el directorio \/etc\/sudoers.d. esto facilita a los administradores del sistema el llevar un registro de qu\u00e9 reglas aplicar a las cuentas de usuarios. Los archivos ubicados en este directorio seguir\u00e1n las mismas reglas de los archivos sudoers.<\/p>\n\n\n\n Como se mencion\u00f3 anteriormente, necesitar\u00e1 limitar a usuarios sudo de ejecutar algunos comandos del sistema. Para llevar esto a cabo, necesita crear una regla sudo en el directorio \/etc\/sudoers.d.<\/p>\n\n\n\n Como muestra, crearemos una regla llamada jumpcloud la cual restringe al usuario sudo de mejorar los paquetes a la \u00faltima versi\u00f3n.<\/p>\n\n\n\n # vim \/etc\/sudoers.d\/jumpcloud <\/p>\n\n\n\n A continuaci\u00f3n, copie y pegue la l\u00ednea que se muestra y guarde los cambios.<\/p>\n\n\n\n jumpcloud ALL=(ALL) !\/usr\/bin\/apt upgrade<\/p>\n\n\n\n La regla indica que el usuario jumpcloud puede ejecutar todos los comandos como el usuario principal con la excepci\u00f3n del apt upgrade. Tenga en cuenta que necesitar\u00e1 otorgar la ruta completa del comando, con un signo de exclamaci\u00f3n al inicio.<\/p>\n\n\n\n Para encontrar la ruta completa del comando, utilice la sintaxis del comando which como se demuestra. <\/p>\n\n\n\n $ which command<\/p>\n\n\n\n Cuando el usuario intenta mejorar los paquetes, se muestra un error en la pantalla indicando que no se le permite al usuario realizar dicha acci\u00f3n. <\/p>\n\n\n\n En donde se involucran m\u00faltiples comandos, l\u00edstelos en una sola l\u00ednea separados por comas. En el ejemplo abajo, se ha limitado al usuario sudo de apagar y reiniciar el sistema. Concretamente, existen varias maneras para cerrar o reiniciar un sistema Linux y los comandos asociados se han enlistado en una sola l\u00ednea abajo.<\/p>\n\n\n\n jumpcloud ALL=(ALL) !\/usr\/sbin\/shutdown,!\/usr\/sbin\/poweroff, !\/usr\/sbin\/reboot,!\/usr\/sbin\/init,!\/usr\/sbin\/halt<\/p>\n\n\n\n Cualquier intento de apagar o reiniciar el sistema por el usuario se impedir\u00e1 por el sistema.<\/p>\n\n\n\n Algunas veces, necesitar\u00e1 operar algunos comandos sin que le pida una contrase\u00f1a. Esto resulta particularmente \u00fatil si se encuentra operando un script que contenga un comando sudo.<\/p>\n\n\n\n Para lograr esto, utilice la directiva NOPASSWD seguido de la ruta completa para el comando. En el ejemplo a continuaci\u00f3n, el usuario puede actualizar las listas de paquetes sin que se le direccione a una contrase\u00f1a. <\/p>\n\n\n\n jumpcloud ALL=(ALL) NOPASSWD: \/usr\/bin\/apt update<\/p>\n\n\n\n Administrar los beneficios de usuarios por lo regular es una de las funciones m\u00e1s importantes que todo administrador de sistema debe tomar. Los beneficios sudo solo se permite a usuarios confiables tales como equipos de apoyo u operaci\u00f3n. <\/p>\n\n\n\n Se recomienda siempre restringir a los usuarios sudo a una parte de comandos de sistema. Para lograrlo, ot\u00f3rgueles los beneficios b\u00e1sicos que necesiten para llevar a cabo sus funciones. El acceso ilimitado a sudo puede ser perjudicial debido a que esto puede llevar al usuario sudo el ejecutar algunas operaciones no autorizadas las cuales pueden causar estragos al sistema. O peor, el acceso ilimitado a los beneficios sudo puede hacer mucho m\u00e1s f\u00e1cil la tarea de los a actores maliciosos para tomar control del sistema.<\/p>\n\n\n\n Dicho esto, el administrar el proceso para asignar permisos espec\u00edficos a usuarios puede requerir invertir demasiado tiempo y r\u00e1pidamente abrumar sus prioridades, en especial si se encuentra en un entorno y un equipo en crecimiento. Las capacidades de gesti\u00f3n<\/a> de JumpCloud de los dispositivos Linux pueden facilitar el administrar el acceso sudo a trav\u00e9s de flotas enteras por medio de configuraciones de seguridad de usuario y permisos. Para ver c\u00f3mo funciona esto, junto con un n\u00famero de caracter\u00edsticas de seguridad de otros dispositivos y administraci\u00f3n, suscr\u00edbase hoy de manera gratuita<\/a>, JumpCloud es gratis para usar hasta 10 usuarios y 10 dispositivos: tambi\u00e9n otorgamos asistencia virtual las 24 horas los 7 d\u00edas dentro los primeros 10 d\u00edas de uso.<\/p>\n","protected":false},"excerpt":{"rendered":" Quiz\u00e1 ya haya escuchado el concepto: \u201cEn Linux, todo es un archivo\u201d. Esto suena en cierto modo desconcertante debido a […]<\/p>\n","protected":false},"author":150,"featured_media":394,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_oasis_is_in_workflow":0,"_oasis_original":0,"_oasis_task_priority":"","inline_featured_image":false,"footnotes":""},"categories":[19],"tags":[],"collection":[41],"platform":[],"funnel_stage":[],"coauthors":[26],"class_list":["post-392","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","collection-devices"],"acf":[],"yoast_head":"\n<\/figure>\n\n\n\n
<\/p>\n\n\n\n
Paso 3: Agregar el usuario nuevo al grupo sudo<\/strong><\/h3>\n\n\n\n
<\/p>\n\n\n\n
Paso 4: Ponga a prueba sudo<\/strong><\/h3>\n\n\n\n
<\/p>\n\n\n\n
Entendiendo el archivo sudoers<\/strong><\/h2>\n\n\n\n
<\/p>\n\n\n\n
\n
Como restringir usuarios sudo de ejecutar algunos comandos<\/strong><\/h2>\n\n\n\n
<\/p>\n\n\n\n
<\/p>\n\n\n\n
<\/p>\n\n\n\n
C\u00f3mo operar un comando sudo espec\u00edfico sin contrase\u00f1a <\/strong><\/h2>\n\n\n\n
<\/p>\n\n\n\n
Conclusi\u00f3n<\/h2>\n\n\n\n