Objetivo
El objetivo es realizar una configuración básica del servidor Samba en Debian 9 Stretch Linux para brindar acceso a los recursos compartidos de Samba a través de la máquina cliente MS Windows.
Sistema operativo y versiones de software
- Sistema operativo: – Debian 9 Estiramiento
- Software: – Samba 4.5.8-Debian
Requisitos
Se requerirá acceso privilegiado a su sistema Debian.
Dificultad
FÁCIL
Convenios
- # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de
sudo
comando - $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios
Escenario
El siguiente procedimiento de configuración asumirá el siguiente escenario y requisitos preconfigurados:
- El servidor y el cliente de MS Windows están ubicados en la misma red y ningún firewall bloquea la comunicación entre los dos
- El cliente de MS Windows puede resolver el servidor samba por el nombre de host
samba-server
- El dominio del grupo de trabajo del cliente de MS Windows es
WORKGROUP
Instrucciones
Instalación
Comencemos por la instalación del servidor Samba:
# apt install samba
Además, con fines de prueba, también se recomienda instalar el cliente samba:
# apt install smbclient
El servidor Samba ahora debería estar funcionando en su sistema:
# systemctl status smbd ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2017-06-13 10:35:34 AEST; 3min 32s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 1654 (smbd) Status: "smbd: ready to serve connections..." CGroup: /system.slice/smbd.service ├─1654 /usr/sbin/smbd ├─1655 /usr/sbin/smbd ├─1656 /usr/sbin/smbd └─1659 /usr/sbin/smbd
Configuración predeterminada de Samba
El archivo de configuración principal de Samba se llama /etc/samba/smb.conf
. Antes de comenzar a editar smb.conf
config, hagamos una copia de seguridad del archivo de configuración original y extraigamos las líneas relevantes de la configuración actual a un nuevo smb.conf
archivo:
# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup # grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf
Tu nuevo /etc/samba/smb.conf
ahora debería contener:
# cat /etc/samba/smb.conf [global] workgroup = WORKGROUP dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no
Reinicie su servidor samba y use el cliente SMB para confirmar todos los grupos samba exportados:
# systemctl restart smbd # smbclient -L localhost WARNING: The "syslog" option is deprecated Enter root's password: Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.5.8-Debian) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Server Comment --------- ------- LASERPRINTER LINUXCONFIG Samba 4.5.8-Debian Workgroup Master --------- ------- WORKGROUP LINUXCONFIG
Agregar usuarios
Samba tiene su propio sistema de gestión de usuarios. Sin embargo, cualquier usuario existente en la lista de usuarios de samba también debe existir dentro de /etc/passwd
expediente. Por este motivo, cree un nuevo usuario usando useradd
comando antes de crear cualquier nuevo usuario de Samba. Una vez que su nuevo usuario del sistema, por ejemplo. linuxconfig
sale, use smbpasswd
comando para crear un nuevo usuario de Samba:
# smbpasswd -a linuxconfig New SMB password:
Compartir directorios de inicio de Samba
De forma predeterminada, todos los directorios de inicio se exportan como de solo lectura y no son browseable
. Para cambiar esta configuración predeterminada, cambie las homes
actuales compartir definición para:
[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
Cada vez que realiza un cambio en su /etc/samba/smb.conf
archivo de configuración no olvide reiniciar su demonio servidor samba:
# systemctl restart smbd
Compartir público anónimo de Samba
La siguiente definición de Samba permitirá a cualquier usuario leer y escribir datos en el recurso compartido de Samba en /var/samba/
directorio. Primero, crea un nuevo directorio y haz que cualquiera pueda acceder a él:
# mkdir /var/samba # chmod 777 /var/samba/
A continuación, agregue una nueva definición compartida de samba dentro de su /etc/samba/smb.conf
Archivo de configuración de Samba:
[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
Reinicie el demonio de su servidor Samba:
# systemctl restart smbd
Acciones de Mount Samba
Ahora, estamos listos para centrar nuestra atención en la máquina MS Windows y el mapa de red de nuestros nuevos directorios compartidos de Samba. Comience enumerando todos los recursos compartidos disponibles por \\\samba-server
ejecución del comando:
Si todo salió bien, debería ver la lista de todos los recursos compartidos de Samba navegables:
A continuación, asigne cualquiera de los directorios compartidos haciendo clic con el botón derecho en el recurso compartido y seleccionando Map Network Drive...
opción. Marque, Connect using different credentials
y finalice la asignación de unidades de red proporcionando las credenciales de usuario creadas en los pasos anteriores:
Apéndice
Lista de usuarios de Samba:
# pdbedit -w -L
Eliminar usuario de Samba:
# pdbedit -x -u username