Samba notas VGB
Samba, notas de instalación.
Software
La tarea de tasksel samba-server contiene un conjunto completo de paquetes necesarios. Una instalación elemental puede hacerse con los paquetes: samba, smbclient, más las dependencias requeridas. El paquete samba-doc contiene manuales y libros.
Demonios:
- smbd - server to provide SMB/CIFS services to clients
- nmbd - NetBIOS name server to provide NetBIOS over IP naming services to clients
Comandos:
- smbpasswd - change a user´s SMB password
- smbclient - ftp-like client to access SMB/CIFS resources on servers
- testparm - check an smb.conf configuration file for internal correctness
- initctl - init daemon control tool
Control de los demonios: a través de initctl (man initctl):
sudo stop smbd sudo stop nmbd
Procedimiento
Instalación
Instalación en el servidor Samba, mediante tasksel.
victor@hum:~$ tasksel --task-packages samba-server keyutils libavahi-common3 libfile-copy-recursive-perl libavahi-client3 libtalloc2 smbfs libcups2 winbind samba-common-bin libavahi-common-data smbclient samba-common libwbclient0 samba-doc libpam-smbpass update-inetd samba
Comandos de tasksel para instalar y eliminar la tarea samba-server:
- sudo tasksel install samba-server
- sudo tasksel remove samba-server
Instalación en el cliente:
- smbclient, paquete para acceder al servidor smb
- smbfs, paquete para montar un recurso remoto en un directorio local.
Configuración
Archivo de configuración: /etc/samba/smb.conf. Para verificar archivo de configuración:
sudo testparm /etc/samba/smb.conf
Unas modificaciones mínimas al archivo /etc/samba/smb.conf para habilitar dos recursos compartidos (shares):
[global] workgroup = NSK security = user ... [homes] comment = Home Directories browseable = no guest ok = no read only = no [respaldo] comment = Directorio de Respaldos path = /respaldo read only = no guest ok = yes
Las impresoras conectadas al sistema pueden habilitarse descomentando las líneas correspondientes del archivo por defecto /etc/smb.conf.
Usuarios y acceso
Es necesario asignar una contraseña en Samba a un usuario Linux: la contraseña en Samba no tiene por qué ser la misma que en Linux.
sudo smbpasswd -a victor
Las contraseñas en los nuevos MS Windows están encriptadas, en los anteriores no; actualmente Samba viene por defecto para contraseñas encriptadas.
Para crear en el servidor Samba un usuario sólo con acceso vía samba (e.g. usuario de máquina remota MS Windows):
- crea el grupo smbuser; crea el usuario fred en el grupo smbuser con shell /bin/false;
- no puede ingresar con este shell;
- crea una contraseña Samba para el usuario.
$ sudo groupadd smbuser $ sudo useradd -d /home/fred -g smbuser -s /bin/false -m fred $ smbpasswd -a fred
Verificación
Ver recursos en máquina remota sin pedir contraseña:
$ smbclient -N -L lyria Anonymous login successful Domain=[NSK] OS=[Unix] Server=[Samba 3.4.7] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (lyria server (Samba, Ubuntu)) print$ Disk Printer Drivers hpnormal Printer HP1200 normal hpecon Printer HP1200 económica hpcalidad Printer HP1200 calidad Anonymous login successful Domain=[NSK] OS=[Unix] Server=[Samba 3.4.7] Server Comment --------- ------- LYRIA lyria server (Samba, Ubuntu) Workgroup Master --------- ------- NSK LYRIA
Acceder al directorio remoto vía Samba desde una máquina Linux, con smbclient:
$ smbclient //lyria/respaldo Enter victor's password: Domain=[NSK] OS=[Unix] Server=[Samba 3.4.7] smb: \> ls . D 0 Mon Jun 6 18:27:21 2011 .. D 0 Tue Nov 15 15:48:12 2011 rspvictor D 0 Sun Feb 14 17:02:42 2010 rspcray D 0 Sat Mar 13 19:45:20 2010 00indice.txt 186 Tue Mar 25 21:43:42 2008 lost+found D 0 Thu Jan 31 21:36:22 2008 CdsDvds D 0 Fri Jun 24 22:26:10 2011 56335 blocks of size 4194304. 6579 blocks available smb: \>
Montar el directorio personal de un usuario en un directorio local:
$ sudo mount -t cifs -o user=victor //lyria/homes /mnt $ ls -l /mnt total 1108 drwxr-xr-x 2 victor victor 0 2009-08-18 12:13 Basura drwxr-xr-x 10 victor victor 0 2010-05-05 20:36 bin drwxr-xr-x 14 victor victor 0 2011-01-12 09:15 Borrador ... $ sudo umount /mnt