Samba FreeBSD
SAMBA es un conjunto de programas originalmente creados por Andrew Tridgell y mantenidos en la actualizad por The SAMBA Team, bajo licencia Pública General GNU e implementado por sistemas basados en UNIX.
En el servidor
pkg install samba416 sysrc samba_server_enable="YES"
Crear conjunto de datos
zfs create zroot/usr/backup/dellhome
zfs create zroot/usr/backup/poolrecovery
zfs create zroot/usr/backup/publico
zfs create zroot/usr/backup/docs
zfs create zroot/usr/backup/codigo
El directorio público será propiedad del usuario y grupo nobody
chown nobody:nobody /usr/backup/publico
Archivo de configuracion
[global] unix charset = UTF-8 workgroup = CORP client min protocol = SMB3 server string = Samba Server Version %v en %L hosts allow = 127., 192.168.88., 10.10.10. netbios name = servidor security = user passdb backend = tdbsam load printers = no domain master = yes guest account = nobody printable = no hide dot files = yes log level = 1 auth:5 log file = /var/log/samba/%m.log max log size = 10000 deadtime = 60 create mask = 0644 directory mask = 0755 map to guest = never wins support = yes interfaces = re0, 127.0.0.1, 192.168.88.160/24, 10.10.10.1/24 bind interfaces only = yes [dellhome] comment = FreeBSD path = /samba/dellhome public = no browseable = yes writeable = yes write list = carlos [codigo] comment = Scripts path = /samba/codigo public = no read only = yes browseable = yes valid users = carlos write list = carlos [poolrecovery] path = /samba/poolrecovery public = no writeable = yes browseable = yes guest ok = no valid users = carlos [docs] comment = Documentos path = /samba/docs public = no writeable = yes browseable = yes valid users = @administradores [public] comment = Publico path = /samba/publico public = yes writeable = yes browseable = yes guest ok = yes
Que los permisos del sistema de archivos en /samba/publico sean seguros
chown -R nobody:nobody /samba/publico
guest ok
Permite o no el acceso como usuario invitado, el valor puede ser Yes o No.
public
Define si se permite el acceso como usuario invitado, el valor puede ser Yes o No.
browseable
Permite o no mostrar este recurso en las listas de recursos compartidos, el valor puede ser Yes o No.
writable
Permite o no la escritura, es la opción opuesta a read only. El valor puede ser Yes o No. writable = Yes es lo mismo que read only = No y viceversa.
valid users
Define los usuarios o grupos, que podrán acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas o nombre de grupos precedido de @. Ejemplo: user1, user2, @contabilidad @administradores.
write list
Define que usuarios o grupos pueden acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas o bien nombre de grupos precedidos de @. Ejemplo: user1, user2 , @contabilidad, @administradores.
admin users
Define usuarios o grupos que pueden acceder con permisos administrativos para el recurso. Pueden acceder realizando todas las operaciones como super-usuario. Los valores pueden ser nombres de usuarios separados por comas o bien nombre de grupos precedidos por una @. Ejemplo: user1, user2, @finanzas, @administradores.
directory mask
Define qué permisos en el sistema tendrán los subdirectorios creados dentro del recurso.
create mask
Define que permisos en el sistema tendrán los nuevos archivos creados dentro del recurso.
Iniciar el servicio SAMBA
service samba_server start
Reglas cortafuegos PF permitir tráfico samba
Como servidor es necesario abrir los puertos 137/udp, 138/udp, 139/tcp y 445/tcp
# /etc/pf.conf ... pass in on $int_if proto { tcp, udp } from { 10.10.10.0/24, 192.168.88.0/24 } \ to $samba_ip port { 139, 445 } pass in on $int_if proto udp from { 10.10.10.0/24, 192.168.88.0/24 } \ to $samba_ip port { 137, 138 } ...
Agregar usuario carlos a Samba
pdbedit -a carlos new password: retype new password
Activar acceso al usuario carlos
smbpasswd -e carlos New SMB password: Retype new SMB passwd: Added user carlos
Reiniciar SAMBA
service samba_server restart
Conectar a un recurso compartido desde un cliente FreeBSD
Podemos usar indistintamente tanto la dirección IP del servidor FreeBSD como su nombre
cat /etc/hosts | grep tormenta --- 192.168.88.160 tormenta ---
smbclient es parte de Samba, por tanto, es necesario instalar Samba
pkg install samba416
Debe existir el archivo smb4.conf de lo contrario smbclient falla:
smbclient: Can't load /usr/local/etc/smb4.conf - run testparm to debug it
touch /usr/local/etc/smb4.conf echo "workgroup = CORP">/usr/local/etc/smb4.conf echo "client min protocol = NT1">>/usr/local/etc/smb4.conf
Listar recursos compartidos por el servidor Samba
» smbclient -L tormenta Password for [CORP\carlos]: Sharename Type Comment --------- ---- ------- dellhome Disk FreeBSD codigo Disk Scripts poolrecovery Disk docs Disk public Disk Permitido IPC$ IPC IPC Service (Samba Server Version 4.16.11 en SERVIDOR) Reconnecting with SMB1 for workgroup listing. Server Comment --------- ------- servidor Samba Server Version 4.16.11 en SERVIDOR Workgroup Master --------- ------- CORP SERVIDOR
Conectar a un recurso compartido
$ smbclient -U carlos //192.168.88.160/dellhome
smb: \>
Las conexiones Samba actuales
root@tormenta: # smbstatus Samba version 4.16.11 PID Username Group Machine Protocol Version Encryption Signing -------------------------------------------------------------------------------------------------------- 22653 carlos carlos 192.168.88.51 (ipv4:192.168.88.51:39769) SMB3_11 partial(AES-128-GMAC) 22472 nobody nobody 192.168.88.51 (ipv4:192.168.88.51:21993) SMB3_11 - - Service pid Machine Connected at Encryption Signing --------------------------------------------------------------------------------------------- IPC$ 25576 solaris Sun Jul 28 21:04:52 2024 CEST - - public 22472 192.168.88.51 Sun Jul 28 10:48:09 2024 CEST - - docs 22653 192.168.88.51 Sun Jul 28 11:17:03 2024 CEST - - dellhome 61262 macbook-pro Mon Jul 29 08:39:57 2024 CEST - - No locked files
Listar sockets abiertos IPv4
root@tormenta: # sockstat -4 USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root smbd 22653 34 tcp4 192.168.88.160:445 192.168.88.51:39769 carlos sshd 22630 4 tcp4 192.168.88.160:22 192.168.88.51:42658 root sshd 22628 4 tcp4 192.168.88.160:22 192.168.88.51:42658 root smbd 22472 34 tcp4 192.168.88.160:445 192.168.88.51:21993 root smbd 22478 34 tcp4 192.168.88.160:445 192.168.88.135:21996 root smbd 13189 29 tcp4 127.0.0.1:445 *:* root smbd 13189 30 tcp4 127.0.0.1:139 *:* root smbd 13189 31 tcp4 192.168.88.160:445 *:* root smbd 13189 32 tcp4 192.168.88.160:139 *:* root nmbd 13182 16 udp4 *:137 *:* root nmbd 13182 17 udp4 *:138 *:* root nmbd 13182 18 udp4 192.168.88.160:137 *:* root nmbd 13182 19 udp4 192.168.88.255:137 *:* root nmbd 13182 20 udp4 192.168.88.160:138 *:* root nmbd 13182 21 udp4 192.168.88.255:138 *:* root sshd 92484 5 tcp4 *:22 *:* ...
No hay comentarios:
Publicar un comentario