Rocío Alt. Abreu Ortiz 2009-3393
Compartiendo datos en
grupo de trabajo
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.
Server Message Block o SMB es un protocolo de red que permite compartir
archivos e impresoras (entre otras cosas) entre nodos de una red. Es utilizado
principalmente en ordenadores con Microsoft Windows y DOS.
Instalación de Samba en Debian squeeze v 6.0
Para la instalación de samba en el servidor Linux, debemos descargar e instalar los
siguientes paquetes:
apt-get install samba (Servidor de archivos e impresoras tipo LanManager para
Unix.)
apt-get install samba-common (Archivos comunes de samba utilizados para
clientes y servidores.)
apt-get install smbclient (Cliente simple tipo LanManager para Unix.)
apt-get install smbfs (Comandos para montar y desmontar unidades de red
samba.)
Al momento de modificar el archivo smb.conf tenga en cuenta que el signo # y ;
expresan comentarios y ejemplos que no tienen efecto, al menos que el signo sea
removido.
Samba:
Servidor Samba
1- Debemos acceder a la terminal root, haciendo click en Aplicaciones – Accesorios –
Terminal root.
2- Te pedirá la clave de la cuenta root (superusuario). Introdúcela y haz click en
Aceptar.
3- Para dar inicio a la instalación de los paquetes, en la terminal, introduce apt-get
install samba y presiona Enter.
Servidor Samba
4- Como podrás observar dice que ya Samba está en su versión más reciente. Ten en
cuenta que esto no es en todos los casos. Vamos a comprobar que el servicio
Samba esta activo en el sistema operativo, introduciendo el comando Service --
status-all. El signo + indica que está instalado y el – indica que no lo está
5- Continuamos instalando los demás paquetes. Ahora escribe apt-get install samba-
common
6- Proseguimos con el paquete smbclient. Escribe apt-get install smbclient y
presiona Enter.
Servidor Samba
7- Y por último, instalaremos el paquete smbfs. Introduciendo el comando apt-get
install smbfs
Creación del directorio que compartiremos por medio de Samba
1- Primero crearemos una carpeta dentro del directorio home, llamada RedSamba.
Recuerda que debes otorgale permiso de lectura y escritura.
2- Luego de haber creado nuestro directorio, dentro de este crearemos un archivo de
datos. Escribe cd RedSamba y luego emplea el comando gedit [nombre del
archivo].
Una vez hayas creado tu archivo de texto, haz click en Guardar y cierra la ventana.
Servidor Samba
Comprobaremos que nuestro archivo está en el directorio especificado
/home/RedSamba. Lo podemos hacer de dos formas: por medio de la terminal,
escribiendo ls y no saldrá lo siguiente.
La otra forma es dirigiéndonos directamente a /home/RedSamba
3- Después, de tener listo el directorio que compartiremos, tenemos que modificar el
archivo smb.conf ubicado en /etc/samba/smb.conf ; antes de editarlo realizaremos
una copia de respaldo (recomendado). Escribe la siguiente línea de comando.
cp -p /etc/samba/smb.conf /etc/samba/smb_05-25-2011_copia.conf
Nota: El comando cp es para copiar y está acompañado del parámetro –p que
especifica preservar los permisos, el usuario y el grupo del archivo a copiar.
Servidor Samba
Ahora, si vamos modificar el archivo, por lo tanto debes escribir gedit
/etc/samba/smb.conf
En el área de configuración global (Global Settings), ubica workgroup y al lado escribe
el nombre del grupo de trabajo que se estará utilizando en Windows.
En mi caso el grupo de trabajo es Rox-Debian Server
También tienes que cambiar la línea donde dice “server string” esto es la descripción
que verá tu grupo del servidor y debes poner:
server string =%h Servidor de archivos
El signo “%h” lo que hace es imprimir el nombre de host de tu servidor.
En el área de autenticación, debes buscar la línea que contiene security, quitarle el
signo # (eso se llama descomentarla) y agregarle share indicando que estamos
compartiendo.
Servidor Samba
Guarda los cambios hechos hasta ahora, cierra la ventana y reinicia el servidor samba
para que todo va bien hasta ahora.
Luego de que se vuelva a iniciar el servidor, vuelve a escribir gedit
/etc/samba/smb.conf
Al final del archivo debemos crear el directorio que vamos a compartir. Entre corchetes
[ ] debes escribir el nombre con el cual compartiremos la carpeta, luego pasamos a
indicar la ruta de la carpeta que compartiremos “path = /home/RedSamba”; luego las
opciones browseable “browseable = yes”, “read-only = no” y sobretodo la opción que
permite que cualquier usuario que se conecte a la red pueda acceder a la carpeta
“guest ok = yes”. Recuerda que todas estas opciones se ponen sin punto u coma al
principio ni el signo #.
Al concluir estos cambios, haga click en Guardar y cierre la ventana.
Servidor Samba
Volvemos a reiniciar el servidor samba escribiendo /etc/samba/smb.conf
También puedes hacer uso del comando testparm para probar el servidor
Comprando la conectividad entre el servidor Linux y el host Windows
Nuestro servidor tiene como red base 192.168.1.0 /24 y su dirección ip es
192.168.1.104.
Dentro del host Windows presiona las teclas WIN + R y escribe cmd.
Dentro del cmd, escribe ping 192.168.1.104 y presiona Enter.
Servidor Samba
Vuelve a presionar las teclas WIN + R y escribe \\192.168.1.104 para que no aparezca
la carpeta que compartimos en el servidor Linux.
Como podrás observar
existe conexión.
Servidor Samba
Haz doble click encima de la carpeta RedSamba para comprobar que se encuentra el
archivo que creamos en el servidor Linux.
Como controlador de
dominio de Windows
Gracias a samba, en una red podemos tener PCs con Windows y PCs con Linux de
forma que puedan intercambiar información en carpetas compartidas de la misma forma
que se haría si todos los PCs fueran Windows.
Las funcionalidades de samba no se quedan solo en una simple compartición de
archivos e impresoras sino que permite a un PC con Linux comportarse como un
controlador de dominio de Windows para redes Microsoft con prestaciones superiores a
las que nos ofrecería un servidor con Windows NT Server 4.0.
Dominio Windows
Un Dominio de Windows es una agrupación lógica de PCs en los cuales existe al
menos un servidor especial llamado Controlador del Dominio en el que se centralizan
las tareas de administración de todos los PCs de la red.
Samba:
Servidor Samba
Controlador de Dominio
El controlador de dominio es el centro nervioso de un dominio Windows, tal como un
servidor NIS lo es del servicio de información de una red Unix. Los controladores de
dominio tienen una serie de responsabilidades. Una de las que te va a implicar a ti es la
autentificación. La autentificación es el proceso de garantizar o denegar a un usuario el
acceso a recursos compartidos o a otra máquina de la red, normalmente a través del
uso de una password.
En esta parte del tutorial convertiremos un computador con GNU/Linux
Debian como controlador de dominio de computadoras con el sistema
operativo Windows. Tenga en cuenta que debe realizar la instalación de los
paquetes que se explican al principio de la primera parte de este How to.
1- Haz click en Aplicaciones – Accesorios – Terminal root.
2- Dentro de la terminal emplearemos el comando smbpasswd para la creación de un
usuario samba.
Servidor Samba
Smbpasswd es un fichero en el cual samba almacena sus contraseñas encriptadas y
por defecto reside en /usr/local/samba/prívate
Para la creación del usuario samba, utilizaremos un usuario ya creado en Linux llamado
“rochell”. Si no sabes como crear usuarios utiliza el comando adduser ó useradd
seguido del nombre.
Entonces, en la terminal escribe smbpasswd –a rochell y presiona Enter.
De manera inmediata pedirá una contraseña para ese usuario; es recomendable que
sea una contraseña segura y fácil de recordar para ti.
Nota: El –a indica que añada el usuario.
3- Ahora debemos de configurar el archivo smb.conf. Antes de la modificación vamos
a realizar una copia de respaldo escribiendo:
cp -p /etc/samba/smb.conf /etc/samba/smb_05-25-2011_copia.conf
4- Escribe en la terminal nano /etc/samba/smb.conf
5- Edita la parte de server string y agregale el nombre de la distribución de Linux que
tienes y Samba.
Servidor Samba
6- En el área de Debbuging /Accounting editaremos el tamaño máximo de un
archivo que puede manejar un usuario, este parámetro debes modificarlo de
acuerdo a tus necesidades. Ten en cuenta que el número se interpretará en KB.
7- En la parte de autenticación, cambia la seguridad por dominio (security = domain).
8- En el área de dominio, modificaremos donde dice domain logons, también le
quitaremos el punto y coma que lleva delante y escribiremos que es = yes, esta
opción hace que los usuarios Windows tengan conexión a la red. Y por último
agregaremos logon master y ponemos que es = yes .
Logon master esta opción es habilitada para que nuestro dominio funcione correctamente.
Domain logons esta opción permite a los usuarios de Windows una conexión al dominio mediante la
red.
Servidor Samba
9- En el área de dominio (domain), descomentaremos borrándole el punto y coma ( ; )
que tiene delante las siguientes líneas:
Add user script = /usr/sbin/adduser ..quiet ...disabled-passwd –gecos “” %u Esta
es una opción útil porque te permite que en el host se ejecuten script ubicados en el
servidor.
Add machine script = /usr/sbin/useradd –g machines –c “%u machine account” –d
/var/lib/s$ Este es el script que empleamos para especificar una Cuenta de confianza
en un modo automático.
Add group script = /usr/sbin/addgroup –force-badname %g Este script se utiliza
para agregar grupos
10- En el área MISC, modificaremos donde dice domain master, le quitaremos el
punto y como (#) y en caso de que diga no, se pondrá que sí. Esta opción lo que
hace es que especifica a samba que este será el controlador de dominios
autoritarios, esto es en caso de que exista una conexión a otro dominio
Servidor Samba
11- En el área de Share definitions, modificaremos la línea en donde está netlogon,
quitándole los puntos y coma que están delante y agregando share modes = no
12- Luego vamos a descomentar, es decir borrarle el signo # que tiene delante a las
siguientes líneas:
Logon path = \\%N%U\profile
Logon drive = H:
Logon home = \\%N%U
Luego, en local master verifica que sea =yes
os level 64 (indica el grado de importancia que posee el servidor para las elecciones
de búsqueda).
preferred master = yes: con esta opción samba forzará al buscador local de
elecciones al inicio del sistema y le da un poco mayor de oportunidad de ganar la
elección.
Servidor Samba
13- Para finalizar, modificaremos la línea que dice profiles, en el cual están localizados
los perfiles de los usuarios de Windows, en esta opción se eliminará algunos
parámetros y se agregarán otros como los permisos de máscara y directorio para
que el usuario pueda manejarse de una forma adecuada al entrar a su sesión.
Debes quitarle los puntos y coma que tiene cada línea delante. Guíate de la
siguiente imagen.
14- Estando en el editor de smb.conf, modifica el nombre del workgroup trata de que
no contenga mayúscula y le agregaremos como extensión .local
15- Ahora tenemos que crear unos grupos y usuarios que figuran como existentes en el
actual archivo de configuración de samba, primero iniciaremos creando el grupo
Machines con el id 201, y luego crearemos el directorio samba que estará ubicado
en /home.
16- Ahora crearemos los directorios de referencia que se establecieron en la
configuración comenzando por el de netlogon, lo haremos con el comando “mkdir –
m 0775 /home/netlogon”.
Servidor Samba
17- El próximo directorio a crear son los de los perfiles de samba con el comando
“mkdir /home/samba /home/samba/profiles” y “chmod 1757
/home/samba/profiles” lo que le da permiso a samba para hacer las
configuraciones de lugar.
18- Ahora debemos agregar a nuestro servidor Linux el dominio roxdebian.local como
habíamos puesto en el archivo de configuración smb.conf, y a este también
asignarle un password.
Ahora debemos crear ese mismo dominio con el comando smbpasswd
19- Ahora vamos a agregar el host cliente al grupo Machines que creamos
anteriormente con el ID 201, luego debes agregar el host cliente a la lista de cuentas
en Samba.
Para agregar el host al grupo Machines, sigue la siguiente sintaxis:
Useradd –g Machines –d /dev/null –s /dev/null –c “Aquí puedes escribir un comentario”
(nombre del computador cliente)
Servidor Samba
Para agregar el cliente a la cuenta de samba, escribe smbpasswd –a –m [nombre del
computador]
20- Ahora habilitaremos el usuario root y el usuario rochell en el smbpasswd. Escribe
smbpasswd –e [nombre del usuario que esta el fichero smbpasswd]
Por último reinicia el servidor Samba, tecleando /etc/init.d/samba restart y presiona
Enter.
Configuración el cliente
1- Haz click en Inicio; y encima de Mi PC haz un click derecho luego en Propiedades.
Servidor Samba
2- Haz click en Cambiar… Selecciona la opción Dominio, escribe el nombre de domino
que especificaste en el archivo smb.conf, en mi caso fue ROXDEBIAN.LOCAL y
presiona Enter. Verás que te aparecerá un recuadro pidiéndote usuario y
contraseña.
3- Escribe uno de los usuarios que habilitaste por medio de smbpasswd con su
respectiva contraseña y haz click en Aceptar. Te aparecerá un mensaje de
bienvenida al dominio. Se necesitará que se reinicie el computador.
Servidor Samba
4- Presiona las teclas CTRL + ALT + DEL e introduce el usuario y la contraseña.
Recuerda que tiene que ser un usuario que hayas agregado al fichero smbpasswd.