Samba-2.2.8a

Introducción a Samba

Localización de descarga (HTTP):		http://us1.samba.org/samba/ftp/samba-2.2.8a.tar.bz2
Localización de descarga (FTP):			
Versión usada:					2.2.8a
Tamaño del paquete:				4.4 MB
Estimación del espacio necesario en disco:	43 MB
Estimación del tiempo de construcción:		5.40 SBU

El paquete Samba proporciona servicios de ficheros e impresión a clientes SMB/CIFS.

Instalación de Samba

Instala Samba ejecutando los siguientes comandos:

mkdir -p /etc/samba/private &&
mkdir -p /var/cache/samba &&
./configure \
   --prefix=/usr \
   --sysconfdir=/etc \
   --localstatedir=/var \
   --with-piddir=/var/run \
   --with-fhs \
   --with-smbmount &&
make &&
make install &&
mv /usr/bin/smbmount /usr/bin/mount.smbfs &&
rm -rf /usr/private &&
echo "swat 901/tcp" >> /etc/services &&
echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" >> \
   /etc/inetd.conf

Explicación de los comandos de instalación

mkdir -p /etc/samba/private
mkdir -p /var/cache/samba
Directorios necesarios para el correcto funcionamiento de los demonios smbd y nmbd.

--prefix=/usr : Establece el prefijo para casi todas las rutas de los ficheros a /usr.

--sysconfdir=/etc : Establece el directorio de los ficheros de configuración para evitar que se use el directorio por defecto, que es /usr/etc.

--localstatedir=/var : Establece el directorio para datos variables para evitar que se use el directorio por defecto, que es /usr/var.

--with-fhs : Asigna todas las otras rutas de los ficheros de modo que sean compatibles con la norma FHS.

--with-smbmount : Ordena la creación de un programa que usará el comando mount para que montar volúmenes SMB compartidos (windows) sea tan sencillo como montar sistemas de ficheros NFS remotos.

rm -rf /usr/private : Elimina un directorio creado erróneamente por source/scripts/installbin.sh en la fase make install.

Configuración de Samba

Configuraremos un servidor Samba (SAMBABOX) para actuar como controlador primario de dominio, así como configuraremos un cliente del dominio que ejecute Windows 2000 Server (WIN2KBOX) y actúe como servidor miembro del dominio. Se darán instrucciones detalladas para añadir WIN2KBOX al dominio, debido a los pasos extra necesarios. Se pueden encontrar instrucciones para añadir clientes Windows 95/98/XP en la documentación recién instalada, apuntando un navegador web a:

file:///usr/share/samba/swat/using_samba/ch03_01.html#ch03-55770.

Ficheros de configuración

/etc/samba/smb.conf, /etc/rc.d/init.d/samba

Primero crearemos algunos directorios que necesita Samba:

mkdir /var/lib/samba &&
mkdir /var/lib/samba/netlogon &&
mkdir /var/lib/samba/ntprofile &&
mkdir /var/lib/samba/profiles &&
chmod -R 1777 /var/lib/samba

Y el fichero de configuración de Samba:

cat > /etc/samba/smb.conf << "EOF"
[global]
    netbios name = SAMBABOX
    workgroup = DOMAIN01
    os level = 64
    preferred master = yes
    domain master = yes
    local master = yes
    security = user
    encrypt passwords = yes
    domain logons = yes
    log file = /var/log/log.%m
    log level = 1
    logon path = \\%N\home\%u
    logon drive = H:
    logon home = \\homeserver\%u
    logon script = logon.cmd
[netlogon]
      path = /var/lib/samba/netlogon
      read only = yes
      write list = ntadmin
[profiles]
      path = /var/lib/samba/ntprofile
      read only = no
      create mask = 0600
      directory mask = 0700
; Compartido escribible por todo el mundo para pruebas
[tmp]
comment = Espacio para ficheros temporales
        path = /tmp
        read only = no
        public = yes
[home]
comment = Directorios personales de los usuarios
        path = /home
        read only = no
        public = no
EOF

Ahora añade la cuenta de máquina de confianza para WIN2KBOX:

/usr/sbin/useradd -g 100 -d /dev/null -c \
    "machine nickname" -s /bin/false win2kbox$ &&
passwd -l win2kbox$ &&
smbpasswd -a -m win2kbox

Crea el guión de arranque de Samba:

cat > /etc/rc.d/init.d/samba << "EOF"
#!/bin/bash
# Inicio de $rc_base/init.d/samba
# Basado en el guión sysklogd de LFS-3.1 y anteriores.
# Reescrito por Gerard Beekmans  - gerard@linuxfromscratch.org
source /etc/sysconfig/rc
source $rc_functions
case "$1" in
	start)
		echo "Iniciando nmbd..."
		loadproc /usr/sbin/nmbd -D
		echo "Iniciando smbd..."
		loadproc /usr/sbin/smbd -D
		;;
	stop)
		echo "Parando smbd..."
		killproc /usr/sbin/smbd
		echo "Parando nmbd..."
		killproc /usr/sbin/nmbd
		;;
	reload)
		echo "Recargando smbd..."
		reloadproc /usr/sbin/smbd
		echo "Recargando nmbd..."
		reloadproc /usr/sbin/nmbd
		;;
	restart)
		$0 stop
		sleep 1
		$0 start
		;;
	status)
		statusproc /usr/sbin/nmbd
		statusproc /usr/sbin/smbd
		;;
	*)
		echo "Uso: $0 {start|stop|reload|restart|status}"
		exit 1
		;;
esac
# Fin de $rc_base/init.d/samba
EOF

Añade los enlaces simbólicos de los niveles de arranque:

chmod 754 /etc/rc.d/init.d/samba &&
ln -s  /etc/rc.d/init.d/samba /etc/rc.d/rc0.d/K48samba &&
ln -s  /etc/rc.d/init.d/samba /etc/rc.d/rc1.d/K48samba &&
ln -s  /etc/rc.d/init.d/samba /etc/rc.d/rc2.d/K48samba &&
ln -s  /etc/rc.d/init.d/samba /etc/rc.d/rc3.d/S24samba &&
ln -s  /etc/rc.d/init.d/samba /etc/rc.d/rc4.d/S24samba &&
ln -s  /etc/rc.d/init.d/samba /etc/rc.d/rc5.d/S24samba &&
ln -s  /etc/rc.d/init.d/samba /etc/rc.d/rc6.d/K48samba

Ahora, utilizaremos nuestro nuevo guión de arranque para iniciar Samba:

/etc/rc.d/init.d/samba start

Tenemos que añadir la cuenta root de SAMBABOX a la lista de usuarios de Samba para unir WIN2KBOX al dominio DOMAIN01:

smbpasswd -a root

Una vez ejecutado Samba y añadido root a la lista de usuarios de Samba, la primera máquina que uniremos a DOMAIN01 será WIN2KBOX, la máquina Windows 2000 Server para la que hemos creado la cuenta de máquina de confianza. En WIN2KBOX:

1.  Pulsa con el botón derecho en "Mi PC".
2.  Pulsa en "Propiedades".
3.  Pulsa en la pestaña "Identificación de red".
4.  Pulsa el botón "Propiedades".
5.  En el campo de edición "Nombre:" introduce WIN2KBOX.
6.  Pulsa el botón de radio "Dominio:", introduce DOMAIN01 en el campo de 
    edición y pulsa "Aceptar".
7.  Cuando aparezca el cuadro de diálogo "Nombre de usuario del dominio y 
    contraseña", introduce root y su contraseña en SAMBABOX, y pulsa "Aceptar".
8.  Después de que se negocie la confianza entre máquinas, pulsa el botón 
    "Aceptar" en el cuadro de diálogo de bienvenida al dominio DOMAIN01.
9.  Pulsa "Aceptar" en el cuadro de diálogo que te recuerda que reinicies.
10. Pulsa "Aceptar" para cerrar la ventana "Propiedades del Sistema".
11. Pulsa "Si" para reiniciar WIN2KBOX.

Entrar en DOMAIN01.

Ahora iniciaremos la sesión en el dominio, con nuestro usuario recién creado, de esta forma:

1. Pulsa Ctrl-Alt-Del para que aparezca el cuadro de 
	diálogo "Conectarse a Windows".
2. Introduce el nombre de usuario win2kuser01 y su contraseña.
3. Selecciona DOMAIN01 en la caja de combinación "Conectarse a:" y pulsa "Aceptar".

Añade la entrada swat a /etc/services con el siguiente comando:

echo "swat            901/tcp" >> /etc/services

Si utilizas inetd, el siguiente comando añadirá la entrada swat en /etc/inetd.conf:

echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" \
    >> /etc/inetd.conf

Si utilizas xinetd, el siguiente comando añadirá la entrada swat en /etc/xinetd.conf:

cat >> /etc/xinetd.conf << "EOF"
service swat
{
    port            = 901
    socket_type     = stream
    wait            = no
    only_from       = 127.0.0.1
    user            = root
    server          = /usr/sbin/swat
    log_on_failure  += USERID
}
EOF

La Herramienta de Administración Web de Samba, swat, puede lanzarse con el siguiente comando en SAMBABOX:

lynx http://localhost:901

El navegador lynx se utiliza en esta demostración, pero no es necesario.

Explicación de los comandos de configuración

cat > /etc/samba/smb.conf << "EOF" : Crea un fichero de configuración por defecto de Samba. Esta configuración permitirá a Samba actuar como Controlador Primario de Dominio para una red basada en Microsoft Windows. Si no deseas esto, se incluye un fichero simple smb.conf predefinido con la distribución de Samba. Mira el fichero samba2.2.8a/examples/smb.conf.default. La configuración como Controlador Primario de Dominio (PDC) es ligeramente más complicada que la configuración de un servidor ordinario, por lo que aquí se darán las instrucciones para la configuración de un PDC.

cat > /etc/rc.d/init.d/samba << "EOF" : Crea el guión de arranque de Samba, utilizado para iniciar y parar automáticamente Samba durante el arranque y cierre del sistema.

/usr/sbin/useradd -g 100 -d /dev/null -c \
    "Win2k Server" -s /bin/false win2kbox$
: Este comando crea una cuenta de máquina de confianza, necesaria sólo para que los servidores Windows 2000/NT se autentifiquen a nuestro nuevo PDC. No son necesarias cuentas de máquinas de confianza para clientes Win95/98.

echo "swat 901/tcp" >> /etc/services : Registra el programa swat para usar el puerto 901.

echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" >> /etc/inetd.conf : Indica a inetd dónde encontrar y cómo ejecutar swat.

ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc3.d/S600samba, etc : Crea los guiones de arranque de Samba, usados para iniciar y parar automáticamente Samba durante el arranque y cierre del sistema.

Contenido

El paquete Samba contiene make_smbcodepage, make_unicodemap, mount.smbfs, nmbd, nmblookup, rpcclient, smbcacls, smbclient, smbcontrol, smbd, smbpasswd, smbspool, smbstatus, swat, testparm, testprns, wbinfo y winbindd.

Descripciones