¡Esta es una revisión vieja del documento!
Samba
Demonios
smdb Maneja los recursos compartidos cliente-servidor Samba (impresión, visualización, compartición…).
nmbd Servidor de nombres que emula la funcionalidad de un servidor WINS y NetBIOS.
smb.conf
/etc/samba/smb.conf es el fichero de configuración de Samba.
Los # y los ; son los comentarios.
Una vez modificado necesitarás reiniciar el sistema con: /etc/init.d/samba restart
Zonas
[global], donde irá la información usada por todos los usuarios.
workgroup, grupo de trabajo.
encrypt passwords, si vamos a usar en redes con windows de versión mayor a la 98.
netbios name, nombre netbios.
hosts allow indica el rango de ips permitidas para conectarse a la máquina. Para indicar un rango se hace '192.168.1.' y de esta forma entrarían todos con ip 198.168.1.x:
[etiqueta directorio], para cada directorio que decidamos compartir.
path, ruta del directorio que compartiremos.
read only = [yes|no] indicará si el directorio usado es de solo lectura.
guest ok = [yes|no] indicará si permitimos o no al usuario invitado entrar en nuestro sistema.
browsable = [yes|no] si podrá ser visto en la lista de recursos compartidos.
Ejemplo
[global]
workgroup = MICASA
encrypt passwords = yes
netbios name = arturito
hosts allow = 192.168.1. 127.
[docs]
path = /home/alfred/myDir
browseable = no
read only = yes
guest ok = no
Programas relacionados
smbclient es un programa que, al estilo ftp, puedes conectarte a recursos samba. Por ejemplo, lo usariamos: smbclient \\\\192.168.1.2\\Downloads o lo que es lo mismo: smbclient //192.168.1.2/Downloads
smbstatus es un programa que te reporta el estado de las conexiones samba actuales.
testparm es un programa que valida la sintaxis del fichero de configuración de samba.
smbpasswd programa para enlazar usuarios\contraseñas del sistema samba. (smbpasswd -a <usuario>) El usuario será creado para samba y debe existir en windows.
smbclient
Internamente, dentro de smbclient podemos utilizar distintos comandos:
get <nombre de archivo> copia un archivo a local.
put <nombre de archivo> copia un archivo desde local al ordenador accedido.
mget <mascara>, la máscara puede ser, por ejemplo, un *, recoge los archivos que coinciden con la máscara.
ls, cd moverse por los directorios.
Pasos para acceder desde windows a un recurso compartido
Editar el fichero smb.conf
Configurar la máquina local
Configurar los directorios compartidos
Añadir un usuario al sistema
Reiniciar el servicio
Montar carpetas compartidas
Para poder hacer esto necesitamos tener instalado el paquete smbfs, luego, para desmontar podemos usar de igual manera el umount.
El paquete nos instala un nuevo comando: smbmount que es el que nos permite montar mediante la siguiente sintaxis:
Aunque también nos permite añadir (o utilizar en el archivo fstab) un nuevo tipo: el smbfs.
Luego, con hacer umount /mnt ya estaría desmontada.
Para montar al iniciar el sistema tendremos que añadir una línea al /etc/fstab:
//192.168.1.2/Downloads /mnt/smb smbfs credentials=/etc/cred 0 0
Y, por lo tanto en este caso, crear el fichero /etc/cred con lo siguiente:
username = alfred
password = alfredspass
CIFS
A dia de hoy el smbfs parece estar en desuso, para montar una carpeta de red utilizaremos el Common Internet File System: cifs.
La utilización de este es idéntica a la del smbfs; también necesitaremos tener instalados los paquetes de samba.
mount -k cifs //192.168.1.10/APPS /mnt
mount.cifs //192.168.1.10/WWW /mnt -o credentials=/cred
mount.cifs //oz/WWW /home/alfred/public_html -o uid=alfred,pass=thepass
SWAT
Es una interfaz web para configurar SAMBA de una forma gráfica.
Instalar
apt-get install swat
Reiniciamos máquina.
Acceder
http://<ip>:901
El nombre de usuario y el password tendrán que ser uno de la máquina que se está administrando. Los permisos para ese usuario serán los mismos que tenga para modificar el fichero smb.conf.
Como...
Crear usuario exclusivo de administración
Imaginemos que el usuario que queremos crear es smbadmin para acceder a esta config (desde Ubuntu):
adduser smbadmin --shell /sbin/nologin --no-create-home
chgrp smbadmin /etc/samba/smb.conf
chmod g+w /etc/samba/smb.conf
Añadir una carpeta compartida
Vamos al menú Shares.
Creamos el share que queremos, el nombre que pongamos será con el que se comparta.
En path indicamos la ruta de la carpeta.
Indicamos “available”, “guest ok” y “browsable” como yes.
La carpeta tendrá que tener los siguientes permisos:
chown nobody:nogroup smbtest/
chmod 555 smbtest
O si queremos que también sea modificable:
chmod 755 smbtest
Notas
En la máquina windows debería de tener activo el puerto 445 para una conexión más ágil.
Si quisiesemos ver los recursos compartidos de un host: smbclient -L //192.168.1.2
Para utilizar nombres de máquina en vez de ip's (smbclient -L //alfredsp4) ha de existir el archivo /etc/samba/lmhosts y en él una referencia como la siguiente:
192.168.1.2 alfredsp4