SAMBA

De doc.ubuntu-es
Revisión a fecha de 01:51 11 oct 2008; Mstreet linux (Discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Contenido

Instalación

Instala el paquete samba del repositorio main de Ubuntu.


Configuración

Puedes configurar el servidor SAMBA editando el archivo /etc/samba/smb.conf para cambiar las configuraciones por defecto o añadir algunas nuevas. Puedes ver más información sobre cada entrada de este archivo en los comentarios del archivo /etc/samba/smb.conf o en la página del manual de /etc/samba/smb.conf usando la siguiente orden en una terminal:

man smb.conf

Antes de editar el archivo de configuración, deberías hacer una copia del original y protegerla contra escritura para tener las configuraciones originales como referencia y reutilizarlas si fuese necesario.

Haz una copia de seguridad del archivo /etc/samba/smb.conf:

sudo cp /etc/samba/smb.conf  /etc/samba/smb.conf.original

Ahora, edita el archivo /etc/samba/smb.conf y haz los cambios que necesites.


Servidor

Además del paquete SAMBA de aplicaciones de servidor para compartir archivos e impresoras, Ubuntu también incluye otras potentes aplicaciones de red diseñadas para proporcionar funcionalidad adicional de servidor de red a los clientes Windows, similar a la funcionalidad proporcionada por los servidores Windows reales. Por ejemplo, Ubuntu proporciona una gestión centralizada de los recursos de red (por ejemplo: equipos y usuarios) a través de los Servicios de Directorio, y facilita la identificación y la autorización de equipos y usuarios a través de los Servicios de Autenticación.

Las siguientes secciones discutirán con mayor detalle SAMBA y las tecnologías de soporte, como el servidor LDAP (Lightweight Directory Access Protocol, Protocolo Ligero de Acceso a Directorios), y el servidor de autenticación Kerberos. También conocerás algunas de las directivas de configuración disponibles en el archivo de configuración de SAMBA, lo que te facilitará la integración en la red con clientes y servidores Windows.

Active Directory

Active Directory es una implementación propietaria (creada por Microsoft) de los Servicios de Directorio, y proporciona una manera de compartir información entre recursos y usuarios de la red. Además de proporcionar una fuente centralizada para esa información, Active Directory también funciona como autoridad de seguridad centralizada de autenticación para la red. Active Directory combina capacidades que tradicionalmente se hallaban en sistemas separados y especializados de directorio, como integración simplificada, gestión y seguridad de los recursos de la red. El paquete SAMBA puede configurarse para usar los servicios de Active Directory desde un controlador de dominio de Windows.

LDAP

La aplicación de servidor LDAP proporciona funcionalidad de Servicios de Directorio a ordenadores Windows de una forma muy similar a los servicios de Microsoft Active Directory. Tales servicios incluyen gestionar las identidades y las relaciones entre los equipos, usuarios y grupos de equipos o usuarios que participan en la red, y proporcionan una forma consistente de describir, localizar y gestionar esos recursos. La implementación de libre distribución disponible en tu sistema Ubuntu se llama OpenLDAP. Los demonios de servidor responsables de gestionar las peticiones de directorio OpenLDAP, y la propagación de datos de directorio entre un servidor LDAP y otro en Ubuntu, son slapd y slurpd. OpenLDAP puede usarse junto con SAMBA para proporcionar servicios de Archivo, Impresión y Directorio prácticamente de la misma forma que un Controlador de Dominio de Windows, si se compila SAMBA con soporte de LDAP.

Kerberos

El sistema de autenticación de seguridad Kerberos es un servicio estandarizado que proporciona autenticación a equipos y usuarios por medio de un servidor centralizado que concede tickets de autorización cifrados aceptados para la autorización por cualquier otro equipo que use Kerberos. Los beneficios de la autenticación Kerberos incluyen autenticación mutua, autenticación delegada, interoperabilidad y gestión simplificada de confianzas. Los demonios de servidor primarios para gestionar la autenticación y la administración de la base de datos Kerberos en Ubuntu son krb5kdc y kadmin. SAMBA puede usar Kerberos como mecanismo de autenticación de equipos y usuarios contra un Controlador de Dominio de Windows. Para ello, el sistema Ubuntu debe tener instalado Kerberos, y se debe modificar el /etc/samba/smb.conf para seleccionar el reino adecuado y el modo de seguridad. Por ejemplo, edita el archivo /etc/samba/smb.conf y añade los valores:

realm = NOMBRE_DE_DOMINIO
secutiry = ADS

en el archivo, y guarda el archivo.

Asegúrate de sustituir el NOMBRE_DE_DOMINIO del ejemplo de arriba con el nombre real de tu Dominio Windows.

Necesitarás reiniciar los demonios de SAMBA para hacer efectivos estos cambios. Reinicia los demonios de SAMBA introduciendo los siguientes comandos en una línea de comandos:

sudo /etc/init.d/samba restart

Cuentas de equipo

Los Servicios de Directorio usan las Cuentas de Equipo para identificar de forma única a los equipos que participan en una red, e incluso las tratan de la misma manera que a los usuarios en términos de seguridad. Las cuentas de equipo pueden tener contraseñas como las cuentas de usuario, y están sujetas a autorización sobre los recursos de red de la misma forma que las cuentas de usuario. Por ejemplo, si un usuario de la red, con una cuenta válida para una red en particular, intenta autenticarse sobre un recurso de red desde un equipo que no tiene una cuenta de equipo válida, dependiendo de las políticas aplicadas en la red, al usuario se le puede denegar el acceso al recurso si el equipo desde el que usuario está intentando autenticar se considera un equipo no autorizado.

Las cuentas de equipo pueden añadirse al archivo de contraseñas de SAMBA, siempre que el nombre del equipo que se está añadiendo exista como una cuenta de usuario válida en la base de datos local de contraseñas. La sintaxis para añadir una cuenta de equipo o máquina al archivo de contraseñas de SAMBA es usar la orden smbpasswd desde la línea de órdenes de una terminal de la siguiente forma:

sudo smbpasswd -a -m NOMBRE_EQUIPO

Asegúrate de reemplazar la expresión NOMBRE_EQUIPO del ejemplo superior con el nombre real del equipo al que deseas crear una cuenta.

Permisos de archivo

Los Permisos de Archivo definen los derechos explícitos que un equipo o usuario tiene sobre un directorio, archivo o conjunto de archivos particular. Tales permisos pueden definirse editando el archivo /etc/samba/smb.conf y especificando los permisos explícitos de un recurso compartido dado. Por ejemplo, si tienes definido un recurso compartido SAMBA llamado «sourcedocs» y deseas conceder sobre él permisos de sólo lectura (read-only) al grupo de usuarios llamado «planning», pero al mismo tiempo quieres permitir la escritura sobre el recurso al grupo llamado «autores» y al usuario llamado «ricardo», entonces podrías editar el archivo /etc/samba/smb.conf y añadir las siguientes entradas bajo la entrada [sourcedocs]:

 read list = @planning
 write list = @authors, richard

Guarda los cambios de /etc/samba/smb.conf para que los cambios surtan efecto.

Otro posible permiso consiste en declarar permisos administrativos sobre un recurso compartido en particular. Los usuarios que posean permisos administrativos podrán leer, escribir o modificar cualquier información contenida en el recurso sobre el que el usuario tenga concedidos los permisos administrativos. Por ejemplo, si deseas que el usuario «andres» posea permisos administrativos al recurso compartido sourcedocs, puedes editar el archivo /etc/samba/smb.conf y añadir la siguiente línea debajo de la entrada [sourcedocs]:

 admin users = andres

Guarda los cambios de /etc/samba/smb.conf para que los cambios surtan efecto.


Clientes

Ubuntu incluye aplicaciones cliente y la capacidad de acceder a recursos compartidos de red con el protocolo SMB. Por ejemplo, la utilidad llamada smbclient permite el acceso a sistemas de archivos remotos compartidos, de una manera similar al cliente para el Protocolo de Transferencia de Ficheros (FTP). Para acceder a una carpeta compartida llamada «documentos» proporcionado por un equipo Windows llamado «bill» usando por ejemplo smbclient, deberías introducir una orden similar a la siguiente en la línea de órdenes:

smbclient //bill/documentos -U <nombredeusuario>

Se te solicitará la contraseña del usuario especificado en la opción -U, y si la autenticación tiene éxito, se te presentará un intérprete donde podrás introducir órdenes para manipular y transferir archivos en un contexto similar al usado por clientes FTP no-gráficos. Para más información sobre la herramienta smbclient, lee la página del manual de la herramienta con la orden:

man smbclient

El montaje local de recursos remotos de red usando el protocolo SMB también es posible utilizando la orden mount. Por ejemplo, para montar una carpeta compartida llamada «codigo-proyecto» en un servidor Windows llamado «desarrollo» con el usuario «dlightman» en el punto de montaje /mnt/pcode de tu sistema Ubuntu, debes introducir la siguiente orden en la línea de órdenes:

mount -t smbfs -o username=dlightman //desarrollo/codigo-proyecto /mnt/pcode

Después se te solicitará la contraseña del usuario, y después de una autenticación satisfactoria, el contenido del recurso compartido estará disponible localmente por medio del punto de montaje especificado como último argumento en la orden mount. Para desconectarte del recurso compartido, simplemente usa la orden umount como harías con otros puntos de montaje de tu sistema de archivos. Por ejemplo:

umount /mnt/pcode

Cuentas de usuario

Las Cuentas de Usuario definen las personas que tienen algún nivel de autorización para usar ciertos equipos y recursos de red. Normalmente, en un entorno de red se proporciona una cuenta de usuario a cada persona a la que se le permite el acceso a un equipo o red, donde las políticas y los permisos definen a qué derechos específicos tiene acceso la cuenta de usuario. Para definir usuarios de una red SAMBA en tu sistema Ubuntu, debes usar la orden smbpasswd. Por ejemplo, para añadir un usuario SAMBA a tu sistema Ubuntu con el nombre de usuario «jseinfeld», debes introducir lo siguiente en la línea de órdenes:

smbpasswd -a jseinfeld

La aplicación smbpasswd te pedirá que introduzcas una contraseña para el usuario:

Nueva contraseña SMB:

Introduce la contraseña que deseas asignarle al usuario, y la aplicación smbpasswd te pedirá que la confirmes:

Vuelva a escribir la nueva contraseña SMB:

Confirma la contraseña, y smbpasswd añadirá la entrada para el usuario en el archivo de contraseñas de SAMBA.

Grupos

Los grupos definen una colección de equipos o usuarios que tienen un nivel común de acceso a recursos de red particulares, y proporcionan un nivel de granularidad para controlar el acceso a tales recursos. Por ejemplo, si se define un grupo «qa» que contiene los usuarios «freda», «danika» y «rob», y se define un segundo grupo «soporte» con los usuarios «danika», «jeremy» y «vincent», entonces los recursos de red configurados para permitir el acceso al grupo «qa» habilitarán en consecuencia el acceso a los usuarios «freda», «danika» y «rob», pero no a «jeremy» ni a «vincent». Como el usuario «danika» pertenece a los dos grupos «qa» y «support» simultáneamente, podrá acceder a los recursos configurados para poder ser accedidos desde ambos grupos, mientras que los demás usuarios sólo tendrán acceso a los recursos para los que explícitamente tengan acceso los grupos a los que pertenecen tales usuarios.

Al definir grupos en el archivo de configuración de SAMBA, /etc/samba/smb.conf, la sintaxis reconocida es anteponer al nombre del grupo el símbolo «@». Por ejemplo, si deseas definir un grupo llamado «sysadmin» en alguna sección del archivo /etc/samba/smb.conf, lo podrás hacer introduciendo el nombre del grupo como @sysadmin.

Políticas de grupo

Las Políticas de Grupo definen ciertas configuraciones SAMBA para el dominio o grupo de trabajo al que pertenecen las cuentas de usuario, y otras configuraciones globales para el servidor SAMBA. Por ejemplo, si el servidor SAMBA pertenece a un grupo de trabajo de equipos Windows llamado NIVELUNO, se debe editar el archivo /etc/samba/smb.conf y cambiar el siguiente valor convenientemente:

workgroup = NIVELUNO

Guarda el archivo y reinicia el demonio SAMBA para que los cambios tengan efecto.

Entre otras opciones importantes de política global está server string, que define el nombre de servidor NETBIOS que su sistema Ubuntu proporciona a las demás máquinas de la red basada en Windows. Este es el nombre por el que tu sistema Ubuntu será reconocido por los clientes Windows y los demás equipos capaces de examinar la red con el protocolo /etc/samba/smb.conf.

Algunas de las directivas adicionales que gobiernan la política global del grupo incluyen la especificación de la naturaleza global de todos los recursos compartidos. Por ejemplo, si se colocan ciertas directivas bajo la cabecera [global] del archivo /etc/samba/smb.conf, éstas afectarán a todos los recursos compartidos a menos que se coloque alguna directiva contradictoria que sustituya a la global en la cabecera particular de algún recurso compartido. Puedes especificar que todos los recursos compartidos sean navegables por todos los clientes de la red colocando la directiva browseable, que recibe un argumento booleano, bajo la cabecera [global] del archivo /etc/samba/smb.conf. Es decir: si editas el archivo y añades la línea:

browseable = true

bajo la sección [global] del archivo /etc/samba/smb.conf, entonces todos los recursos compartidos suministrados por tu sistema Ubuntu a través de SAMBA serán navegables por todos los clientes autorizados, a menos que exista algún recurso compartido específico que contenga una directiva browseable = false, lo que cancelaría la directiva global.

Otros ejemplos que funcionan de una manera similar son las directivas public y writeable. La directiva public acepta un valor booleano y decide si un recurso compartido en particular será visible por todos los clientes, autorizados o no. La directiva writeable también acepta un valor booleano y define si un determinado recurso compartido podrá ser accedido para escritura por todos los clientes de la red.


Fuentes

Herramientas personales