|
Sudo es un programa que permite a algunos usuarios dentro del sistema
ejecutar algunos comandos reservados exclusivamente para el usuario
root.
El Sistema de Registro lo utiliza especificamente para ejecutar
el comando iptables. Este comando es el que permite facilitar
el control de las terminales de los centros de acceso a Internet.
A continuación se muestra un instructivo para su instalación
y configuración:
1-. Obteniendo el programa.
Sudo se puede obtener en el CD 2 (Binary CD) de la distribución
de RedHat 7 en RPM o copiar la versión que utilizamos en nuestra
instalación aquí.
También se puede instalar a través de la distribución
de los programas fuentes que pueden obtenerse de ftp://ftp.rge.com/pub/admin/sudo/
o pueden copiarse desde aquí.
.
Una buena fuente de información sobre Sudo está en
http://www.courtesan.com/sudo/man/sudo.html
2-. Instalación.
2.1-. Desde RPM.
Despues de copiar el programa en RPM ejecute:
# rpm -iv sudo-1.6.3p6-1.i386.rpm
Con esto quedará instalado sudo en el sistema. Proceda con
la configuración en el apartado
3.
2.2-. Desde las fuentes.
Desde la fuentes, después de obtener el paquete se debe
ejecutar:
# tar zxvf sudo-1.6.3p7.tar.gz
# cd sudo-1.6.3p7
# ./configure
# make
# make install
En este caso el programa sudo quedará instalado en /usr/local/bin/sudo.
3-. Configuración de sudo.
Para configurar sudo es necesario crear el archivo
/etc/sudoers
para permitir que el usuario que ejecuta el servidor Web, usualmente
http, nobody o apache pueda ejecutar el comando
iptables (nuestra instalación incluye también
ipchains, ipfwadm, programas anteriores a iptables en caso
de que se disponga de distribuciones de Linux con versiones del
kernel anteriores a la versión 2.4).
Usted puede obtener una copia del archivo sudoers aquí.
Nuestro archivo sudoers se ve así:
##
# Asignación de alias a usuarios que pueden ejecutar
comandos sin password:
##
User_Alias TELECENTROS = nobody, apache, http
##
# Asignación de 'Runas' para usuario root
##
Runas_Alias OP = root
##
# Alias de comandos
##
Cmnd_Alias IPFWD = /sbin/iptables, /sbin/ipchains, /sbin/ipfwadm
##
# Modificando valores por defecto
##
Defaults syslog=auth
Defaults:TELECENTROS !lecture
##
# Asignación de usuarios
##
# Grupos y usuarios que pueden ejecutar todos los comandos
en esta máquina
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL
# Usuarios que pueden ejecutar ipfwadm o ipchains
TELECENTROS ALL = NOPASSWD: IPFWD
|
Usted deberá cerciorarse de incluir en la línea:
User_Alias TELECENTROS = nobody, apache, http
El nombre del usuario que ejecuta su servidor de Internet Apache.
Esto puede verificarse en el archivo de configuración de
Apache httpd.conf (ubicado el /etc/httpd/conf/ o /usr/local/apache/conf/)
bajo el parámetro User. Por ejemplo, si en su archivo
de configuración httpd.conf aparece la línea:
User apache
en su archivo de configuración de sudoers deberá
quedar la línea:
User_Alias TELECENTROS = apache
4-. Verificación de la instalación.
Para verificar que sudo quedó bien instalado es recomendable
realizar la siguiente verificación. Si el usuario que ejecuta
el servidor de Internet Apache es apache, ejecute los siguientes
comandos:
Cambie temporalmente el shell del usuario apache:
# usermod -s /bin/bash apache
Entre al sistema como el usuario apache:
# su - apache
Verifique que comandos puede ejecutar el usuario apache en el sistema:
$ sudo -l
User apache may run the following commands on this host:
(root) NOPASSWD: /sbin/iptables, /sbin/ipchains, /sbin/ipfwadm
El sistema debe responder que comandos puede ejecutar el usuario
apache en el servidor. En este caso, iptables, ipchains
e ipfwadm. Sudo está bien instalado en su sistema.
Regrese al usuario asdministrador (root)
$ exit
Asigne nuevamente un shell falso al usuario apache:
# usermod -s /bin/false apache
Sudo ha quedado instalado en su sistema.
|