SMB.CONF und Guest-Access (LibreELEC > RPi OS)

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