Espero hacer que el smbd
de samba.org funcione en mi MacBook Pro (M1, 13.6.2) para proporcionar compartidos a algunas VM (qemu/UTM) en un restringido al mismo host. Logré instalar Samba a través de MacPorts y de homebrew, creé algunos compartidos de prueba (incluido uno público que permite el acceso de invitados), pero hay una anomalía: puedo acceder a los compartidos utilizando smbclient
desde el host de macOS, desde cualquier VM (ejecutando Windows, ejecutando Linux), pero aparecen vacíos:
Este es un directorio local de macOS (los permisos están configurados como permisivos):
/tmp/publictest (drwxrwxrwx: :staff)
dummy-1.pdf (-rw-rw-rw-@: :staff)
se refiere a mi nombre de usuario de macOS, para compartir Samba, etc. Creé un usuario local de macOS solo para compartir sambauser
(505) como miembro del grupo staff
(20).
El directorio se expone como un compartido (smb.conf):
[public]
ea support = No
force create mode = 0666
force directory mode = 0777
guest ok = Yes
guest only = Yes
path = /tmp/publictest
read only = No
store dos attributes = No
Al correr localmente, desde la misma máquina de macOS, obtengo:
% /opt/homebrew/bin/smbclient //localhost/public
Password for [WORKGROUP\]:
Anonymous login successful
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Nov 25 11:04:43 2023
.. D 0 Sat Nov 25 11:04:43 2023
482797652 bloques de tamaño 1024. 108446544 bloques disponibles
Entonces, ¿¡dummy-1.pdf
está desaparecido?!
Los registros revelan (--debuglevel=10 --debug-stdout --foreground
):
file_name_hash: /private/tmp/publictest/. hash 0x7aedb117
push_sec_ctx(4294967294, 4294967294) : sec_ctx_stack_ndx = 1
push_conn_ctx(1627971036) : conn_ctx_stack_ndx = 0
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
Security token: (NULL)
UNIX token of user 0
Primary group is 0 and contains 0 supplementary groups
pop_sec_ctx (4294967294, 4294967294) - sec_ctx_stack_ndx = 0
fd_openat: name ., flags = 04 mode = 00, fd = 26
openat_pathref_fullname: fsp [.]: OK
fdos_mode: .
dos_mode_debug_print: dos_mode_from_sbuf returning (0x10): "d"
dos_mode_debug_print: fdos_mode returning (0x10): "d"
smbd_dirptr_get_entry: mask=[*] found . fname=.. (..)
smbd_marshall_dir_entry: space_remaining = 8388488
smbd_marshall_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO
delete_lock_ref_count for file .
file_free: freed files structure 0 (1 used)
smbd_dirptr_get_entry: dir [.] dirptr [0x131e123c0] offset [3] => dname [dummy-1.pdf]
openat_pathref_fsp_nosymlink: path_in=dummy-1.pdf
fsp_new: allocated files structure (2 used)
openat_pathref_fsp_nosymlink: SMB_VFS_OPENAT(., dummy-1.pdf, RESOLVE_NO_SYMLINKS) returned 78 Function not implemented => NT_STATUS_NOT_SUPPORTED
readlink_talloc: SMB_VFS_READLINKAT() failed: No such file or directory
read_symlink_reparse: readlink_talloc failed: NT_STATUS_OBJECT_NAME_NOT_FOUND
openat_pathref_fsp_nosymlink: create_open_symlink_err failed: NT_STATUS_OBJECT_NAME_NOT_FOUND
file_free: freed files structure 0 (1 used)
smbd_dirptr_get_entry: Could not open dummy-1.pdf: NT_STATUS_NOT_A_DIRECTORY
smbd_dirptr_get_entry: dir [.] dirptr [0x131e123c0] offset [3] => dname [(finished)]
smbd_smb2_request_find_done: out_output_buffer.length = 220
Aquí es donde estoy atascado. Hasta ahora no he logrado entender por qué dummy-1.pdf
se procesa (como un directorio), pero no simplemente como un archivo.
-
Versión de Samba (a través de Homebrew):
sudo /opt/homebrew/sbin/samba-dot-org-smbd --version Versión 4.19.2
-
Parámetros globales:
[global] allow insecure wide links = Yes bind interfaces only = Yes interfaces = lo0 max log size = 50 security = USER server role = standalone server server string = samba server idmap config * : backend = tdb
-
smbd
(MacPorts) ysamba-dot-org-smbd
(homebrew) están registrados para "Acceso completo al disco": -
Como mencioné anteriormente, este no es un problema del cliente Samba (por ejemplo, SELinux activo en alguna VM de Linux, etc.). El comportamiento es reproducible para cualquier cliente Samba/máquina remota que haya estado probando (por ejemplo, montando en PowerShell en Windows 2022 Server, etc.)
-
Verifiqué los tickets de MacPorts y Homebrew, no hay mención de este problema.
-
El
smbd
propio de macOS está inactivo, y el Compartir archivos está desactivado.