El Rincón de Tux

GNU/Linux, mas fácil que nunca.
  • rss
  • Inicio
  • Libros y Manuales
    • Cómo configurar un servidor de OpenVPN
    • Cifrado de particiones con LUKS.
    • Planificadores de Entrada/Salida en Linux.
    • Configuración simple para Antivirus y Antispam, utilizando procmail.
    • Breve lección de mandatos básicos.
    • Cómo configurar y utilizar Sudo.
    • Estándar de Jerarquía de Sistema de Ficheros.
    • Instalación en modo texto de CentOS 4.
    • Instalación en modo gráfico de CentOS 4
    • Instalación en modo texto de CentOS 5.
    • Instalación en modo gráfico de CentOS 5.
    • Cómo iniciar el modo de rescate en CentOS 4.
    • Iniciando el sistema en nivel de corrida 1 (nivel monousuario).
    • Permisos del sistema de ficheros.
    • Cómo utilizar los mandatos chown y chgrp.
    • Cómo utilizar el mandato chattr.
    • Cómo crear un disquete de arranque.
    • Cómo crear cuentas de usuario.
    • Configurando valores por defecto para el alta de cuentas.
    • Apéndice: Asignando cuotas de disco.
    • Breve lección de mandatos básicos.
    • Funciones básicas de Vi.
    • Breve lección de actualización, instalación y desinstalación de software en Linux®.
    • Cómo actualizar el Núcleo (Kernel) a partir de paquetes RPM®.
    • Introducción a TCP/IP.
    • Introducción a IP versión 4.
    • Cómo configurar correctamente los parámetros de red.
    • Introducción a APT para RPM.
    • Las muchas opciones para instalar equipamiento lógico en distribuciones basadas sobre RPM.
    • Cómo grabar discos compactos desde línea de mandatos.
    • Cómo crear depósitos yum.
    • Uso de yum para instalar y desinstalar paquetería y actualizar sistema.
    • Cómo crear paquetería con rpmbuild.
    • Cómo configurar NTP.
    • Cómo configurar un servidor DHCP en una LAN.
    • Cómo configurar vsftpd (Very Secure FTP Daemon).
    • Cómo configurar pure-ftpd.
    • Cómo configurar el sistema para sesiones gráficas remotas.
    • Cómo configurar un escáner en red a través de saned.
    • Cómo configurar un servidor de nombres de dominio (DNS), parte I.
      • Cómo configurar un servidor de nombres de dominio (DNS), parte II.
    • Cómo configurar SNMP.
    • Cómo configurar MRTG.
    • Usando Smartd para anticiparnos a los desastres de disco duro.
    • Cómo configurar un muro cortafuegos con Shorewall y tres interfaces de red.
    • Cómo configurar OpenSSH.
    • Cómo configurar OpenSSH con chroot.
    • Cómo utilizar OpenSSH con autenticación a través de clave pública.
    • Cómo configurar un servidor NFS.
    • Cómo configurar Samba básico.
    • Cómo configurar OpenLDAP como libreta de direcciones.
    • Cómo configurar OpenLDAP como servidor de autenticación.
    • Cómo configurar OpenLDAP con soporte SSL/TLS.
    • Configuración básica de Freeradius con soporte de LDAP.
    • Cómo Configurar Postfix 1.1.x con SASL.
    • Configuración básica de Sendmail (Parte I).
    • Configuración básica de Sendmail (Parte II).
    • Apéndice: Opciones avanzadas de seguridad para Sendmail.
    • Apéndice: Enviar correo a todos los usuarios del sistema.
    • Instalación y configuración de SquirrelMail.
    • Configuración de MailScanner y ClamAV con Sendmail.
    • Cómo configurar Sendmail y Dovecot con soporte SSL/TLS.
    • Cómo configurar clamav-milter.
    • Cómo configurar spamass-milter.
    • Cómo configurar Cyrus IMAP.
    • La ingeniería social y los [malos] hábitos de los usuarios.
    • Configuración básica de Apache.
    • Cómo habilitar los ficheros .htaccess en Apache 2.x.
    • Apéndice: Configuración de Sitios de Red virtuales en Apache.
    • Cómo configurar Apache con soporte SSL/TLS.
    • Cómo instalar y configurar Geeklog 1.4.x.
    • Cómo instalar y configurar WordPress 2.1.x.
    • Cómo instalar y configurar vtiger CRM 5.0.x.
    • Cómo instalar y configurar MySQL™.
    • Lidiando con UTF-8 y bases de datos en MySQL™.
    • Cómo configurar Squid: Parámetros básicos para servidor de intermediación (Proxy).
    • Cómo configurar Squid: Acceso por Autenticación.
    • Cómo configurar Squid: Restricción de acceso a Sitios de Red.
    • Cómo configurar Squid: Restricción de acceso a contenido por extensión.
    • Cómo configurar Squid: Restricción de acceso por horarios.
    • Cómo incluir supervisión contra virus en Squid con SquidClamAV Redirector.
    • Cómo configurar Squid: Como configurar el administrador de cache.
    • Apéndice: Listas y reglas de control de acceso para Squid.
    • Cómo configurar Asterisk para utilizar Ekiga y Linphone como clientes SIP.
    • Cómo instalar correctamente Java™ a partir de paquete RPM.
    • Cómo instalar correctamente los controladores de NVidia.
    • Cómo instalar la extensión (plug-in) Flash para Mozilla.
    • Micro-cómo: Añadiendo diccionarios al español a OpenOffice.org en Fedora™ Core 1
    • Linux Centos 4.4 en Windows XP.
    • Guía de Codificación para PHP.
    • Micro-Cómo: NIS + NFS.
    • Cómo configurar una Conexión ADSL. (Para el servicio Infinitum de Telmex) V. 2.0.1.
    • Manual de Instalación iPod Linux
    • Cómo configurar las Listas de Control de Acceso.
    • Solaris y Software Libre.
    • Conjunto de paquetes de Blastwave en Solaris.
    • Instalando Apache en Solaris.
    • Instalando MySQL y PHP en Solaris.
    • VPN en servidor Linux y clientes Windows/Linux con OpenVPN + Shorewall [Parte 1]
    • VPN en servidor Linux y clientes Windows/Linux con OpenVPN + Shorewall [Parte 2]
    • Mini manual e introducción a GNUpg y Seahorse.
    • Introducción a Gambas.
    • Introducción a Gambas: Tipos de datos y variables.
    • Libro de Implementación de Servidores con GNU/Linux
      • Otro servidor para descarga de ALDOS Ver 1.3
    • Configurando HAL para mostrar volúmenes en el escritorio GNOME.
    • Como configurar un Dominio Samba con openLDAP en CentOS 5
    • Dominio Samba con OpenLDAP (Parte 1: Configuracion General)
    • Cómo instalar y configurar Spamassassin.
    • Cómo optimizar el sistema de archivos ext3.
    • Cómo instalar y utilizar ClamAV en CentOS.
    • Cómo conectarse a una red Wifi desde la terminal.
    • Introducción a SELinux en CentOS 5 y Fedora.
    • Cómo instalar la complemento (plug-in) Flash Player para Firefox y otros navegadores.
    • Cómo instalar y configurar Postfix en CentOS 5 con soporte para TLS y autenticación.
    • Cómo configurar Freeradius con MySQL en CentOS 5.
    • Cómo instalar y configurar Amavisd-new con Postfix en CentOS 5.
    • Cómo configurar Postfix en CentOS 5 para utilizar dominios virtuales con usuarios del sistema.
    • Cómo configurar un racimo (cluster) de alta disponibilidad con Heartbeat en CentOS 5.
    • Cómo configurar un servidor de respaldos con BackupPC en CentOS 5.
    • Ejercicio: Servidor DNS dinámico, servidor DHCP, Servidor Intermediario (Proxy) y Shorewall.
      • Ejercicio: Servidor DNS Dinámico y Servidor DHCP.
      • Cómo instalar y configurar la herramienta de reportes Sarg.
    • Ejercicio: Servidor Intermediario (Proxy) y cortafuegos con Shorewall.
    • Cómo configurar squid con soporte para direcciones MAC.
    • Cómo configurar Clamd.
    • Cómo configurar un servidor de OpenVPN en CentOS 5
    • Sistema de monitoreo y vigilancia vía WEB.
    • Cómo configurar Samba como cliente o servidor WINS.
    • Cómo gestionar espacio de memoria de intercambio (swap) en GNU/Linux.
    • Cómo utilizar OpenSSH con autenticación a través de firma digital.
    • Cómo instalar y configurar Samba-Vscan en CentOS 5.
    • Cómo utilizar lsof
    • Cómo instalar Java 1.6 en CentOS 5
    • Manual Instalación del E.R.P “Openbravo” Ver. Comunidad 2.50 en Ubuntu 10.10 aka “Maverick”
    • MANUALES
  • Wallpapers
    • Wallpapers de 73Lab.com
    • Stickers basados en los Wallpapers de *juzo-kun’s
  • AL Desktop
  • Licencia y Derechos de autor
  • Humor y Entretenimiento
    • Pringao Howto
    • Síndrome del Túnel Carpal
    • Distribuciones
    • “La VERDADERA razón porque utilizamos Linux”
      • Desasnando burros
      • Las 16 Leyes de todo Geek
      • Top de 56 frases Geek
    • Activar las sombras y transparencias en tu distribución sin usar Compiz Fusion
    • Si tu fueras un Lenguaje de Programación ¿Cual lenguaje serías?

Cómo configurar y utilizar Sudo.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com

Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2009 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

Sudo es una herramienta de sistema que permite a los usuarios realizar la ejecución de mandatos como superusuario u otro usuario de acuerdo a como se especifique en el fichero /etc/sudoers, donde se determina quien está autorizado. Los números de identidad de usuario y de grupo (UID y GID) reales y efectivas se establecen para igualar a aquellas del usuario objetivo como esté especificado en el fichero /etc/passwd.

De modo predeterminado sudo requiere que los usuarios se autentiquen así mismos con su propia clave de acceso (nunca la clave de acceso de root). Una vez que el usuario se ha autenticado, el usuario podrá utilizar nuevamente sudo sin necesidad de volver a autenticarse durante 5 minutos, salvo que se especifique lo contrario en el fichero /etc/sudoers. Si el usuario ejecuta el mandato sudo -v podrá refrescar éste periodo de tiempo sin necesidad de tener que ejecutar un mandato, en cuyo caso contrario expirará esta autenticación y será necesario volver a realizar ésta.

Si un usuario no listado en el fichero /etc/sudoers. trata de ejecutar un mandato a través de sudo, se registra la actividad en la bitácora de sistema (a través de syslogd) y se envía un mensaje de correo electrónico al administrador del sistema (root).

Historia.

Sudo fue inicialmente concebido en 1980 por Bob Coggeshall y Cliff Spencer del departamento de ciencia computacional en SUNY (State University of New York o Universidad Estatal de Nueva York), en Buffalo.

En 1985 se publicó el grupo de noticias net.sources una versión mejorada acreditada a Phil Betchel, Cliff Spencer, Gretchen Phillips, John LoVerso y Don Gworek. Garth Snyder publicó otra versión mejorada en el verano de 1986 y durante los siguientes cinco años fue mantenido con al colaboración de muchas personas, incluyendo Bob Coggeshall, Bob Manchek, y Trent Hein.

En 1991 Dave Hieb y Jeff Nieusma escribieron una nueva versión con un formato mejorado para el fichero /etc/sudoers bajo contrato con la firma consultora The Root Group, versión que posteriormente fue publicada bajo los términos de la Licencia Pública General de GNU (GNU/GPL).

Desde 1996 el proyecto es mantenido por Todd Miller con la colaboración de Chris Jepeway y Aaron Spangler.

Equipamiento lógico necesario.

Instalación a través de yum.

Si se utiliza de CentOS 5, Red Hat™ Enterprise Linux 5 o White Box Enterprise Linux 5, o versiones posteriores, se puede instalar lo necesario utilizando lo siguiente:

yum -y install sudo

Instalación a través de Up2date

Si se utiliza de Red Hat™ Enterprise Linux 4, o versiones posteriores, se puede instalar utilizando lo siguiente:

up2date -i sudo

Fichero /etc/sudoers

El fichero /etc/sudoers se edita con el mandato visudo, herramienta que a través de vi permite realizar cambios y verificar sintaxis y errores. Si se trata de modificar directamente /etc/sudoers, éste tiene permisos de solo lectura.

La sintaxis básica de una lista sería:

XXXX_Alias NOMBRELISTA = elemento1, elemento2, elemento3

La sintaxis básica de una regla sería:

[usuario, %grupo, NOMBRELISTA] [anfitrión] = (id de usuario a usar) mandatos

Se pueden definir Aliases y reglas. Los aliases permiten definir una lista de mandatos , una lista de usuarios, un alista de anfitriones o bien ejecutar como otros usuarios.

Cmnd_Alias.

Cmnd_Alias MANDATOSHTTPD = /sbin/service httpd restart,
/usr/bin/vim /etc/httpd/conf.d/variables.conf,
/usr/bin/vim /etc/php.ini

Lo anterior define una lista de mandatos que podrían utilizarse para reiniciar el servicio de httpd, modificar un fichero de configuración en la ruta /etc/httpd/conf.d/variables.conf y modificar el fichero /etc/php.ini.

fulano ALL = MANDATOSHTTPD

Lo anterior define que el usuario fulano puede utilizar los mandatos de la lista MANDATOSHTTPD desde cualquier anfitrión.

User_Alias.

User_Alias USUARIOSHTTP = fulano, mengano, zutano

Lo anterior define una lista denominada HTTPUSERS, integrada por los usuarios fulano, mengano y zutano.

USUARIOSHTTP ALL = /usr/bin/vim

La regla anterior define que los usuarios que conforman la lista USUARIOSHTTP pueden utilizar el mandato vim desde cualquier anfitrión.

Host_Alias.

Host_Alias HOSTSHTTPD = 192.168.0.25, 192.168.0.26, 192.168.0.23

Lo anterior define que la lista HOSTSHTTPD está integrada por las 3 direcciones IP listadas anteriormente. Si además se añade la siguiente regla:

USUARIOSHTTPD HOSTSHTTPD = ADMINHTTPD

Lo anterior define que los usuarios de la lista HTTPDUSERS pueden utilizar los mandatos listados en ADMINHTTPD solamente si están conectados desde las direcciones IP listadas en HOSTSHTTPD.

Runas_Alias.

Si por ejemplo se quisiera que los usuarios de la lista USUARIOSHTTP pudieran además utilizar los mandatos ls, rm, chmod, cp, mv, mkdir, touch y vim como el usuarios juan, pedro y hugo, se requiere definir una lista para estos mandatos y otra para los aliases de usuarios alternos, y la regla correspondiente.

Runas_Alias CLIENTES1 = juan, pedro, hugo
Cmnd_Alias MANDATOSCLIENTES = /bin/ls,
/bin/rm,
/bin/chmod,
/bin/cp, /bin/mv,
/bin/mkdir,
/bin/touch,
/usr/bin/vim
USUARIOSHTTPD HOSTSHTTPD = (CLIENTES1) MANDATOSCLIENTES

Lo anterior permite a los usuarios definidos en USUARIOSHTTPD (fulano, mengano y zutano), utilizar los mandatos definidos en MANDATOSCLIENTES (ls, rm, chmod, cp, mv, mkdir, touch y vim) identificándose como los usuarios definidos en CLIENTES1 (juan, pedro y hugo) solamente si se realiza desde las direcciones IP listadas en HOSTSHTTPD (192.168.0.25, 192.168.0.26, 192.168.0.23).

Candados de seguridad.

Sudo incluye varios candados de seguridad que impiden se puedan realizar tareas peligrosas.

Si se define el mandato /usr/bin/vim en /etc/sudoers, se podrá hacer uso de éste de los siguientes modos:

$ sudo /usr/bin/vim
$ sudo vim

Sin embargo, no podrá ser utilizado así:

$ cd /usr/bin
$ sudo ./vim

Si se define el mandato /bin/echo, el usuario podrá utilizarlo de los siguientes modos:

$ sudo /bin/echo “Hola”
$ sudo echo “Hola”

Pero no podrá utilizarlo de la siguiente forma:

$ sudo echo “Hola” > algo.txt

Para poder realizar la operación anterior, tendría que utilizar:

$ sudo bash -c “echo ‘Hola’ > algo.txt”

Sudo permitirá realizar una tarea sobre cualquier fichero dentro de cualquier directorio aún si no tiene permisos de acceso para ingresar a dicho directorio siempre y cuando especifique la ruta exacta de dicho fichero.

$ sudo chown named /var/named/dominio.zone

Pero no podrá utilizarlo así:

$ sudo chown named /var/named/*.zone

Lo que no se recomienda.

Si se quiere permitir a un usuario utilizar lo que sea, desde cualquier anfitrión, cómo cualquier usuario del sistema y sin necesidad de autenticar, se puede simplemente definir:

fulano ALL = (ALL) NOPASSWD: ALL

Facilitando la vida a través de ~/.bash_profile.

BASH (Bourne-Again Shell) permite utilizar variables de entorno y aliases definidas en ~/.bash_profile al iniciar la sesión, siendo que el administrador utilizará activamente muchos mandatos diversos, estos se pueden simplificar a través de aliases que resuman éstos. Por ejemplo, si se quiere definir que se utilice sudo cada vez que se invoque al mandato chkconfig, se puede añadir lo siguiente al fichero ~/.bash_profile:

alias chkconfig=”sudo /sbin/chkconfig”

Lo anterior permitirá ejecutar directamente el mandato chkconfig sin necesidad de preceder éste con el mandato sudo. A continuación só diversos aliases que pueden ser de utilidad en el fichero ~/.bash_profile y que permitirán utilizar mandatos diversos con sudo.

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/sbin:/usr/sbin

export PATH
unset USERNAME

alias chkconfig=”sudo /sbin/chkconfig”
alias service=”sudo /sbin/service”
alias route=”sudo /sbin/route”
alias depmod=”sudo /sbin/depmod”
alias ifconfig=”sudo /sbin/ifconfig”
alias chmod=”sudo /bin/chmod”
alias chown=”sudo /bin/chown”
alias chgrp=”sudo /bin/chgrp”
alias useradd=”sudo /usr/sbin/useradd”
alias userdel=”sudo /usr/sbin/userdel”
alias groupadd=”sudo /usr/sbin/groupadd”
alias groupdel=”sudo /usr/sbin/groupdel”
alias edquota=”sudo /usr/sbin/edquota”
alias vi=”sudo /usr/bin/vim”
alias less=”sudo /usr/bin/less”
alias tail=”sudo /usr/bin/tail”
alias yum=”sudo /usr/bin/yum”
alias saslpasswd2=”sudo /usr/sbin/saslpasswd2″
alias htpasswd=”sudo /usr/bin/htpasswd”
alias openssl=”sudo /usr/bin/openssl”
alias system-config-printer=”sudo /usr/sbin/system-config-printer”
alias system-config-network=”sudo /usr/sbin/system-config-network”
alias system-config-display=”sudo /usr/bin/system-config-display”

Para que surtan efectos los cambios, hay que salir de la sesión y volver a ingresar al sistema con la misma cuenta de usuario, en cuyo fichero ~/.bash_profile se añadieron estos aliases.

Última Edición jueves 10 de septiembre, 2009 @13:10

Comentarios RSS
Comentarios RSS
Trackback
Trackback

Deja un comentario

Clic para cancelar respuesta.

Imagen CAPTCHA
Refrescar imagen
*

  • Buscar

  • Etiquetas

      Actualizaciones Anuncios Audio Consejos Creative Commons Distribuciones Documentales E.R.P's El Rincón de Tux Entrevistas Eventos Friki Geek GNU/Linux Google Hacker Hacking How-To Humor Imágenes Internet Libros Manuales Plugins Podcast Pringao-Howto Programación Software Libre Star Wars Tecnología Tuxteno.com Ubuntu Videos Wallpapers Ética

      WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

  • Ubuntu 11.10

      Ubuntu 11.10 days to go
  • Ubuntu 11.04

    Ubuntu 11.04 days to go
  • Usuarios Registrados

      Login

      Crear una cuenta nueva

  • Dato Friki*

  • Linux Counter

  • Tira Ecol

      Tira Ecol
  • Spam Bloqueado

      Spam bloqueado anteriormente 2743

      31 comentarios de spam
      bloqueados por
      Akismet
  • Usuarios Online

      tracker


  • Contador de Visitas

      Eres el visitante #:

  • Software Libre

  • Distribuciones

  • Descarga Firefox 7

      Firefox 7
  • Mapa de Tráfico

  • Calendario

    • Licencia


        Esta obra está bajo una licencia Creative Commons Reconocimiento 2.5
    rss Comentarios RSS valid xhtml 1.1 design by jide powered by Wordpress get firefox