El paquete Samba proporciona servicios de ficheros e impresión a clientes SMB/CIFS.
Descarga (HTTP): http://us1.samba.org/samba/ftp/old-versions/samba-2.2.8a.tar.bz2
Tamaño del paquete: 4.4 MB
Estimación del espacio necesario en disco: 43 MB
Tiempo estimado de construcción: 5.40 SBU
Instala Samba ejecutando los siguientes comandos:
cd source && 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 && rm -rf /usr/private && echo "swat 901/tcp" >> /etc/services && echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" >> \ /etc/inetd.conf |
mkdir -p /etc/samba/private mkdir -p /var/cache/samba |
--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 remotos 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.
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. |
/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\windows logon drive = H: logon home = \\homeserver\%u\windows 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 ; Corpartido escribible por todos para pruebas [tmp] comment = Espacio para ficheros temporales path = /tmp read only = no public = yes [home] comment = Derectorios 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. |
Antes de entrar en WIN2KBOX, crearemos una nueva cuenta de usuario con los siguientes comandos:
useradd -m win2kuser01 && passwd win2kuser01 && smbpasswd -a win2kuser01 |
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 |
Nota: Asegúrate que inetd está ejecutándose, y ejecuta killall -HUP inetd antes de inciar SWAT.
El navegador Lynx se utiliza en esta demostración, pero no es necesario.
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 muestran 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$ |
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 : Crean los guiones de arranque de Samba, usados para iniciar y parar automáticamente Samba durante el arranque y cierre del sistema.
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.
make_smbcodepage convierte descripciones de texto de páginas de código en ficheros binarios de páginas de código y viceversa.
make_unicodemap convierte ficheros de mapa de texto Unicode a binario, para utilizarlo en el mapeado de caracteres a Unicode de 16 bits.
mount.smbfs proporciona a /bin/mount una forma de montar unidades compartidas windows (o samba).
nmbd es el servidor de nombres NetBIOS de Samba.
nmblookup se usa para consultar nombres NetBIOS y mapearlos a direcciones IP.
rpcclient se usa para ejecutar las funciones MS-RPC del lado cliente.
smbcacls se usa para manipular las listas de control de acceso de NT.
smbclient es una utilidad de acceso SMB/CIFS, similar a FTP.
smbcontrol se usa para controlar la ejecución de los demonios smbd, nmbd y winbindd.
smbd es el demonio principal de Samba.
smbpasswd cambia las contraseñas de los usuarios Samba.
smbspool envía un trabajo de impresión a una impresora SMB.
smbstatus informa de las conexiones Samba actuales.
swat es la Herramienta de Administración por Web de Samba.
testparm comprueba la sintaxis del fichero smb.conf.
testprns comprueba los nombres de impresoras.
wbinfo consulta un demonio winbindd en ejecución.
winbindd resuelve nombres de servidores NT.