Die Standard-smb.conf im Zusammenhang mit dem Gast-Zugang ist absoluter Pain-in-the-Ass, mit den einfachen Settings wie „public = yes“ und „guest = ok“ ist es nämlich absolut nicht getan. Wichtig sind ein paar globale Settings, und die sind ja nicht alle in der Standard-Installation enthalten.
Der Benchmark ist die LibreELEC-Version, die auf einfachste und zuverlässigste Weise funktioniert: SMB aktivieren und alle User- und Data-Folder sind per Gastzugang verfügbar. Also könnte man mal die smb.conf einfach rüberkopieren? It works!
Ich habe die LibreELEC-smb-conf ein bisschen anhand meiner Verzeichnisse modifiziert („guest account“) und gekürzt, SMB neugestartet und alles war tatsächlich so wie unter LibreELEC. Anbei die LibreELEC-smb-conf (die root-preexec-commands braucht man eher nicht):
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
# samba.conf v4 (do not remove)
# This configuration file allows you to customize the samba shares
# available from your machine
[global]
server string = LibreELEC
browseable = yes
writeable = yes
printable = no
deadtime = 30
mangled names = no
name resolve order = host bcast
printcap name = /dev/null
load printers = no
enable core files = no
passdb backend = smbpasswd
smb encrypt = disabled
fruit:model = Xserve
# samba share options
map to guest = Bad User
guest account = root
security = user
# samba tuning options
socket options = TCP_NODELAY IPTOS_LOWDELAY
min receivefile size = 16384
aio read size = 16384
aio write size = 16384
use sendfile = yes
# The following are default values for the master selection process
# local master = yes
# preferred master = auto
# domain master = auto
# os level = 20
# "strict allocate = yes" breaks large network transfers to external hdd
# Force this to "no" in case "yes" becomes the default in future
strict allocate = no
# Using the following configurations as a template allows you to add
# writeable shares of disks and paths under /storage
[Update]
path = /storage/.update
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/.update
[Videos]
path = /storage/videos
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/videos
[Music]
path = /storage/music
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/music
[TV Shows]
path = /storage/tvshows
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/tvshows
[Recordings]
path = /storage/recordings
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/recordings
[Downloads]
path = /storage/downloads
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/downloads
[Pictures]
path = /storage/pictures
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/pictures
[Emulators]
path = /storage/emulators
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/emulators
[Configfiles]
path = /storage/.config
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/.config
[Userdata]
path = /storage/.kodi/userdata
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/.kodi/userdata
[Screenshots]
path = /storage/screenshots
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/screenshots
[Logfiles]
path = /storage/logfiles
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/logfiles
root preexec = createlog
[Backup]
path = /storage/backup
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/backup
[Picons]
path = /storage/picons
available = yes
browseable = yes
public = yes
writeable = yes
root preexec = mkdir -p /storage/picons/tvh /storage/picons/vdr
Update: the Uppercase-Problem in Avahi is solved here:
https://forums.raspberrypi.com/viewtopic.php?t=244979