{"id":380,"date":"2019-08-17T21:27:41","date_gmt":"2019-08-17T19:27:41","guid":{"rendered":"https:\/\/www.pinguytaz.net\/?p=380"},"modified":"2019-10-08T22:09:41","modified_gmt":"2019-10-08T20:09:41","slug":"sudo-administra-sin-ser-root","status":"publish","type":"post","link":"https:\/\/www.pinguytaz.net\/index.php\/2019\/08\/17\/sudo-administra-sin-ser-root\/","title":{"rendered":"SUDO (administra sin ser root)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hoy hablaremos de c\u00f3mo podemos configurar nuestro comando <em><a href=\"https:\/\/www.sudo.ws\/\">sudo<\/a><\/em>, pero que es <strong>SUDO<\/strong>. <br>    <em><a href=\"https:\/\/www.sudo.ws\/\">sudo<\/a><\/em> es una utilidad que nos permite ejecutar comando con privilegios de otro usuario (lo normal es el usuario <strong>root<\/strong>) para el sistema Linux o Mac OSX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toda las acciones que realicemos con sudo quedaran registradas en principio en \u00ab<em>\/var\/log\/Auth.log<\/em>\u00ab<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de pasar a explicar como configurar \u00ab<em>\/etc\/sudoers<\/em>\u00bb para definir los privilegios otorgados, comentaremos algunos parametros importantes de <em><a href=\"https:\/\/www.sudo.ws\/\">sudo<\/a><\/em>:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>-l nos dar\u00e1 informaci\u00f3n de c\u00f3mo est\u00e1 configurado nuestro sudoers.<\/li><li> -u  Ejecuta el comando con privilegio de ese usuario, debemos tener autorizaci\u00f3n en el fichero sudoers.<\/li><li> -g  Ejecuta el comando con privilegio de ese grupo, debemos tener autorizaci\u00f3n en el fichero sudoers.<\/li><li> -e   para editar el archivo con \u201cnano\u201d, es lo mismo que ejecutar sudo nano. <\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La configuraci\u00f3n se encuentra como hemos comentado en <em>\/etc\/sudoers<\/em> y se recomienda editar con <em>visudo<\/em> que nos bloquea el fichero y evita que lo use otro usuario, adem\u00e1s nos realiza un an\u00e1lisis del fichero al cerrarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La estructura t\u00edpica del fichero <em>\/etc\/sudoers<\/em> sera:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Alias<\/li><li>Opciones<\/li><li>Reglas de acceso<\/li><\/ul>\n\n\n\n<p class=\"has-text-color has-background has-small-font-size has-bright-blue-color has-white-background-color wp-block-paragraph\">Los permisos que tendr\u00e1 son solo de lectura root usuario y grupo, esto es importante para evitar que si acceden con otro usuario pueda ver los permisos de los usuarios (y as\u00ed conocer que usuarios atacar para obtener privilegios) o peor todav\u00eda poder escribirlo con cualquier usuario y de esta forma darse permisos de administrador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al final del todo tenemos un ejemplo de archivo sudoers, pero iniciamos ya la explicaci\u00f3n con los \u00abAlias\u00bb.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ALIAS<\/h2>\n\n\n\n<p class=\"has-text-color has-medium-gray-color wp-block-paragraph\"><em>tipo_alias nombre_alias = elemento1, elemento2, ..<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los tipos de alias son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em><strong>User_Alias<\/strong><\/em>: Define usuarios o grupos si se antepone \u00ab%\u00bb, en el queso de querer referirnos a todos los usuarios pondremos \u00abALL\u00bb y si deseamos negar alguno antepondremos \u00ab!\u00bb.<\/li><li><strong><em>Host_Alias<\/em><\/strong>: Definimos los host y podran ser IPs o dominios.<\/li><li><strong><em>Cmnd_Alias<\/em><\/strong>: Define comandos.<\/li><li><strong><em>Runas_Alias<\/em><\/strong>: Igual que usuarios pero con UID si anteponemos el caracter \u00ab#\u00b7\u00bb.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Opciones<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nos permite definir las caracter\u00edsticas de comportamiento de  <em><a href=\"https:\/\/www.sudo.ws\/\">sudo<\/a><\/em>, y la sintaxis es la siguiente:<\/p>\n\n\n\n<p class=\"has-text-color has-medium-gray-color wp-block-paragraph\"><em>Defaults&lt;nivel&gt;opcion1, opcion2,\u2026<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los niveles son los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\u00bb \u00ab<\/strong>: Global y afecta a todos los usuarios.<\/li><li><strong>:usuario<\/strong>: Afecta a un usuario especifico.<\/li><li><strong>&gt;Runas<\/strong>: Afecta a comando ejecut\u00e1ndose con un usuario especifico.<\/li><li><strong>@equipo<\/strong>: Afecta a todos los usuarios de un equipo.<\/li><li><strong>!comandos<\/strong>: Afecta a un comando especifico.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">  Para una lista completa de opciones podemos leer la p\u00e1gina oficial, y las m\u00e1s interesantes son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>rootpw<\/strong>:  Cuando nos autentificamos pide la clave de root.<\/li><li><strong>!authenticate<\/strong>:  No requiere autentificaci\u00f3n, puede modificarlo las etiquetas \u00abTAGs\u00bb <em>PASSWD<\/em> y <em>NOPASSWD<\/em>.<\/li><li> <strong>timestamp_timeout<\/strong>=x: expiraci\u00f3n de la contrase\u00f1a, un<br>                              0 se pedir\u00e1 siempre.<\/li><li><strong>passwd_tries<\/strong>=x: Reintentos de clave.<\/li><li><strong>noexec<\/strong>: Es como si la etiqueta <em>NOEXEC<\/em> estuviera configurada.<\/li><li> <strong>umask=<\/strong>: Crea esa m\u00e1scara en la creaci\u00f3n de archivos.<\/li><li><strong> badpass_message=<\/strong>: Mensaje de error autentificaci\u00f3n.<\/li><li><strong>logfile<\/strong>: Fichero donde genera LOG, por defecto syslog.<\/li><li>             journalctl_COMM=sudo<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Reglas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Definimos las reglas de acceso del sudo<\/p>\n\n\n\n<p class=\"has-text-color has-medium-gray-color wp-block-paragraph\"><em>usuario host = (usuarios:grupos) [ETIQUETAS] comando1, comando2, \u2026<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>El usuario podr\u00e1 ser un usuario o un alias y si se antepone \u00ab%\u00bb nos referiremos a grupos. ALL es cualquier usuario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TAGs (Etiquetas)<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>PASSWD y NOSPASSWD<\/strong>: Obliga o no la solicituc de identificaci\u00f3n.<\/li><li><strong>EXEC y NOEXEC<\/strong>: Previene la ejecuci\u00f3n de shell desde el comando invocado, que permitir\u00eda ejecutar acciones con ese privilegio.<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># ***************************************************\n# www.pinguytaz.net\n# Plantilla ejemplo de \u201csudoers\u201d \n# ***************************************************\n\n# ****************** DEFINICION DE ALIAS *************\n## Usuarios\nUser_Alias ADMINS = javier, usu1\n#User_Alias NOU1 = ALL, !usu1\n\n## Maquinas\n#Host_Alias MIRED = 192.168.56.*\n\n## Comandos\nCmnd_Alias ACTUALIZA = \/usr\/bin\/apt\n#Cmnd_Alias REBOOT = \/sbin\/halt, \/sbin\/reboot, \/sbin\/poweroff       \n#Cmnd_Alias NET_ADMIN = \/sbin\/ifconfig, \/sbin\/iptables\n\n# ****************** DEFINICION DE OPCIONES *************\n## La identificaci\u00f3n es con la contrase\u00f1a de root.\n#Defaults rootpw\n\n## Definimos opciones para LOG\nDefaults logfile=\/var\/log\/sudo\n\n## Definimos el m\u00e1ximo numero de reintentos y mensaje que\n## aparecer\u00e1.\nDefaults:ALL timestamp_timeout=2. passwd_tries=1\nDefaults badpass_message=\u201dError de contrase\u00f1a\u201d\n\n# *************** DEFINICION DE REGLAS *************\n## Permite todo a los usuarios del grupo sudo.\n%sudo All=(ALL:ALL) ALL   \n\n## Se permite que el usuario javier ejecute los comandos de \n## actualizaci\u00f3n sin que se les pida la clave.\n# javier All=(root) NOPASSWD: ACTUALIZA\n\n## Evita la salida al Shell desd vi usado con sudo.\nALL ALL = (ALL) NOEXEC \/bin\/vi    <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Hoy hablaremos de c\u00f3mo podemos configurar nuestro comando sudo, pero que es SUDO. sudo es una utilidad que nos permite ejecutar comando con privilegios de otro usuario (lo normal es el usuario root) para el sistema Linux o Mac OSX. Toda las acciones que realicemos con sudo quedaran registradas en principio en \u00ab\/var\/log\/Auth.log\u00ab Antes de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":450,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[19,7,17],"tags":[93,92],"class_list":["post-380","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-escalar-privilegios","category-linux","category-seguridad-linux","tag-su","tag-sudo"],"_links":{"self":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/380","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/comments?post=380"}],"version-history":[{"count":10,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/380\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/380\/revisions\/451"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media\/450"}],"wp:attachment":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media?parent=380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/categories?post=380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/tags?post=380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}