Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Este tutorial fue realizado con la versión 5.5 de CentOS
Samba es una suite de aplicaciones Unix que habla el protocolo SMB (Server
Message Block). Muchos sistemas operativos, incluidos Windows y OS/2, usan
SMB para operaciones de red cliente-servidor. Mediante el soporte de este
protocolo, Samba permite a los servidores Unix entrar en acción, comunicando con
el mismo protocolo de red que los productos de Microsoft Windows. De este
modo, una máquina Unix con Samba puede enmascararse como servidor en tu red
Microsoft y ofrecer los siguientes servicios:
Compartir uno o más sistemas de archivos.
Compartir impresoras, instaladas tanto en el servidor como en los clientes.
Ayudar a los clientes, con visualizador de Clientes de Red.
Autentificar clientes logeándose contra un dominio Windows.
Proporcionar o asistir con un servidor de resolución de nombres WINS.
SMB (acrónimo de Server Message Block) es un protocolo, del Nivel de
Presentación del modelo OSI de TCP/IP, creado en 1985 por IBM. Algunas veces es
referido también como CIFS (Acrónimo de Common Internet File System) tras ser
renombrado por Microsoft en 1998. Entre otras cosas, Microsoft añadió al
protocolo soporte para enlaces simbólicos y duros así como también soporte para
ficheros de gran tamaño. Por mera coincidencia esto ocurrió por la misma época en
que Sun Microsystems hizo el lanzamiento de WebNFS (una versión extendida de
NFS).
SMB fue originalmente diseñado para trabajar a través del protoclo NetBIOS, el
cual a su vez travaja sobre NetBEUI (acrónimo de NetBIOS Extended User
Interface, que se traduce como Interfaz de Usuario Extendida de NetBIOS),
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
IPX/SPX (acrónimo de Internet Packet Exchange/Sequenced Packet Exchange, que
se traduce como Intercambio de paquetes interred/Intercambio de paquetes
secuenciales) o NBT, aunque también puede trabajar directamente sobre TCP/IP.
Para la configurarcion de SAMBA necesitamos tener instalados tres paquetes
importantes, estos son:
Samba: Servidor SMB.
Samba-client: diversos clientes para el protocolo SMB.
Samba-commom: ficheros necesarios para cliente y servidor.
Verificamos los paquetes instalados:
rpm –q samba
rpm –q samba-swat
rpm –q samba-client
rpm –q samba-common
rpm –q samba samba-swat samba-client samba-common
En este caso solo falta samba-swat:
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Samba para trabajar en un Workgroup.
Los archivos más importantes para la configuración de samba. Estos son:
/etc/samba/smb.conf
/etc/xinetd.d/swat
Ahora procedemos a la configuración del archivo smb.conf. No importa dónde nos
encontremos, utilizaremos la siguiente línea de comandos para acceder al archivo:
gedit /etc/samba/smb.conf.
Nos presentara el archivo de configuración.
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Empezaremos por establecer el grupo de trabajo editando el valor del parámetro
workgroup asignando un grupo de trabajo deseado: MYGROUPSMB
El parámetro server string es de carácter descriptivo. Puede utilizarse un comentario
breve que de una descripción del servidor.
Opcionalmente puede establecer con el parámetro netbios name otro nombre distinto
para el servidor si acaso fuese necesario, pero siempre tomando en cuenta que dicho
nombre deberá corresponder con el establecido en el fichero /etc/samba/lmhosts
Parámetros útiles para la seguridad.
La seguridad es importante y esta se puede establecer primeramente estableciendo
la lista de control de acceso que definirá que máquinas o redes podrán acceder
hacia el servidor.
El parámetro hosts allow sirve para determinar esto. Si la red consiste en la
máquinas con dirección IP desde 192.168.0.1 hasta 192.168.0.254, el rango de
direcciones IP que se definirá en hosts allow será 192.168.0. de modo tal que solo se
permitirá el acceso dichas máquinas.
Note por favor el punto al final de cada rango. Modifique ésta de manera que que
del del siguiente modo:
Host allow = 127. 192.168.0.
El parámetro interfaces permite establecer desde que interfaces de red del sistema se
escucharán peticiones. Samba no responderá a peticiones provenientes desde cualquier
interfaz no especificada. Esto es útil cuando Samba se ejecuta en un servidor que sirve
también de puerta de enlace para la red local, impidiendo se establezcan conexiones desde
fuera de la red local.
interfaces = 192.168.0.69/24
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Agregamos la ip y el nombre de nuestro servidor al fichero lmhosts, con el editor gedit
Lo mismo con el fichero hosts
Vamos a hacer una comprobación de los archivos por defecto de smb.conf con
testparm, usando el comando:
# /usr/bin/testparm
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Pulsamos ENTER
Crear usuarios en Samba
Los usuarios que queremos que tengan acceso al servidor Samba deben estar
creados como usuarios en nuestro servidor linux, podemos crear un grupo samba
y agregar a ese grupo todos los usuarios que tendrán acceso al servidor samba.
Los usuarios que se creen en Linux deben ser iguales a los usuarios que se creen en
Windows. Para crear usuarios en Linux utilizamos el comando useradd y
asignamos una contraseña con el comando passwd. Luego Creamos y habilitamos
el usuario en samba con el comando smbpasswd.
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Comprobamos si hemos añadido correctamente a los usuarios :
# pdbedit -L
Creamos una carpeta a compartir en el directorio del usuario creado y le damos los
permisos.
Verificamos en el navegador de archivos
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Ahora vamos al archivo de configuración
Y agregamos el directorio que creamos para compartir, con los parámetros
siguientes
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Agregamos el usuario que creamos y la ruta del directorio compartido.
Luego lo guardamos y cerramos.
Ahora verificaremos si los cambios se han realizado con el siguiente comando
# testparm
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Como podemos ver aparecen los parámetros que usamos.
Reiniciamos el servidor samba, para que las nuevas configuraciones surtan
efecto, usamos el comando:
# /etc/init.d/samba restart
Ahora vamos a desactivar el firewall.
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Hacemos ping a la maquina cliente de windos
Vamos a la maquina cliente de Windows,
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Creación de Usuarios: Windows
Vamos al cliente Windows y creamos un nuevo usuario. Debemos tomar en cuenta
que debe ser el mismo usuario que creamos en Linux.
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
En este caso ya el user fue creado, pero solo tienen que hacer click derecho en el
panel>nuevo user y colocan el mismo nombre y clave que en CentOS
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Volvemos a este usuario parte del grupo Administradores
Para compartir directorios en Windows, creamos una o varias carpetas para
compartir en la ruta que deseemos.
Desactivamos el firewall
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Y en excepciones activamos compartir archivos y impresoras
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Ahora volvemos la maquina parte del grupo de trabajo de MYGROUPSMB
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Si vamos a toda la red>red de microsofot Windows veremos nuestro server y
nuestra pc
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
En la carpeta del usuario que creamos podremos acceder a los documentod
compatidos en samba
Y aquí están los doc que están el servidor CentOS
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
En el servidor veremos que se reconoce nuestra presencia en la red
Para loguearnos en la red de Windows colocamos el passwd del usuario que
creamos.
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
- SAMBA COMO DOMINIO DE WINDOWS
Para configurar samba como Dominio de Windows vamos a entrar nuevamente al
documento smb.conf para asegurarnos de que algunos parámetros estén bien,
accedemos por el comando:
El parámetro domain master define al servidor maestro del dominio; El parámetro
domain logons define que el servidor permitirá a las estaciones autenticar contra
Samba.
Si se va a utilizar Samba como Controlador Primario de Dominio, es necesario
establecer el guión que ejecutarán las estaciones Windows al conectarse hacia el
servidor. Esto se hace a través del parámetro logon script el cual puede definir o
bien un guión a utilizar por cada usuario (%u.bat) o bien por cada máquina
(%m.bat) o bien de modo general para todos (logon.cmd). Para no complicar las
cosas, defina inicialmente un guión general para todos del siguiente modo:
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Descomentamos este:
El parámetro add user script sirve para definir lo que se deberá ejecutar en el
trasfondo en el sistema para crear una nueva cuenta de usuario. El parámetro add
machine script es particularmente importante porque es el mandato utilizado para
dar de alta cuentas de máquinas (trust accounts o cuentas de confianza) de modo
automático. El parámetro delete user script es para definir lo propio para eliminar
usuarios, delete group script para eliminar grupos,
Aca nos aseguraremos que Logon master esta igualdo a “yes” y el OS level
igualado a 64 (esto indica el grado de importancia que pose el servidor en las
elecciones de búsqueda) por ultimo vemos que preffered master sea igual a “yes”
Ahora vamos a la parte de Netlogon en el área de Shares Definitions, nos
aseguramos que este de esta manera:
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Por ultimo vamos a la sección Profiles, acá debemos tenerla igual a esta:
Ahora debemos crear los directorios ya que están en los parámetros pero aun no
existen, los directorios que hemos de crear serán los siguientes y en las siguientes
rutas:
# mkdir /home/samba
# mkdir /home/samba/netlogon # mkdir /home/samba/profiles
Ahora daremos los siguientes permisos a las carpetas:
#chmod 777 /var/spool/samba/
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
# chown -R root:users /home/samba/ # chmod -R 771 /home/samba
Ahora vamos a reiniciar Samba para que se apliquen los cambios:
Ahora vamos a editar el archivo nsswitch.conf con el editor nano:
# nano /etc/nsswitch.conf
Ahora haremos el siguiente cambio en el documento:
hosts: files dns > hosts: files wins dns >
Luego de esto vamos a agregar todas las computadoras del grupo de trabajo a el
siguiente document:
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Luego de esto vamos a agregar todas las computadoras del grupo de trabajo a el
siguiente document:
Ahora agregaremos al usuario root a la base de datos de Samba, el usuario root
será el administrador de nuestro dominio, esta cuenta es necesaria para agregar
nuevos equipos al dominio Samba, para agregarlo usamos el siguiente comando:
# smbpasswd –a root
Ahora vamos a agregar un directorio para este usuario como Administrador con el
siguiente comando:
# echo "root = Administrador" > /etc/samba/smbusers
Con esto podremos usar el nombre Administrador en Windows ya que es mas
común usar este como es el root en Linux.
Ahora vamos a probar si la configuración fue correcta con el siguiente comando:
# smbclient -L localhost -U%
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Ahora vamos a establecer los grupos predeterminados de la siguiente manera:
# net groupmap modify ntgroup="Domain Admins" unixgroup=root
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
# net groupmap modify ntgroup="Domain Users" unixgroup=users
# net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup
Ahora vamos a añadir un usuario, por ejemplo, ana, a nuestro dominio Samba.
Tendremos que agregar un usuario como éste para cada cuenta de usuario que
desea conectarse a este servidor de dominio Samba.
Vamos a agregar al usuario ana:
Ahora vamos a agregar una carpeta que sea accesible para todos los usuarios,
usaremos los siguientes comandos que son para crear el directorio y para
cambiar los permisos.
# mkdir -p /home/shares/allusers
# chown -R root:users /home/shares/allusers/
# chmod -R ugoa+rwx /home/shares/allusers/
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Luego al final del document smb.conf agregamos las siguientes lineas:
Guardamos
Cada vez que hagamos un cambio reiniciar los servicios
Nuevamente nos aseguramos que todo este correcto y que tengamos nuestro
servidor de dominio con el comando: # testparm
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Agregamos la pc al dominio de samba.
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Nos logueamos como root
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Vemos que tenemos una ruta hacia el servidor samba
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Aquí esta el directorio de root que compartimos
Vamos a Mis sitios de red >toda la red> red de Microsoft y veremos las carpetas
compartidas
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Salimos de root y nos logueamos como anaitissmb
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Este es el directorio compartido en anaitis
Anaitis Cabrera García 2009-3383 SO-3 Instructor: José Doñe ITLA
Y aquí esta nuestra red en el server