Samba
sudo apt install samba systemct status smbd
Konfigurační soubor Samby:
[global] protocol = SMB3 hosts allow = 192.168.1. usershare allow guests = no min receivefile size = 16384 [movies] path = /mnt/movies browsable = yes read only = yes
Tady příklad sdílení složky pouze pro čtení a omezené pro konkrétní skupinu:
[public-data] path = /mnt/public-data browsable = yes read only = yes valid users = @usergroup guest ok = no
Příklad sdílení složky pro zápis:
[change] path = /mnt/change browsable = yes read only = no valid users = @writeable_group guest ok = no create mask = 0666 directory mask = 0777 unix extensions = yes
Na otestování, zda je konfigurace ok, použít příkaz:
testparm
nastavení hesla pro uživatele
# smbpasswd -a jmeno_uzivatele
New SMB password:
Retype new SMB password:
Pro jistotu restartovat Sambu:
sudo systemctl restart smbd
Pro vypsání uživatelů, kteří mají vygenerované heslo do Samby lze použít příkaz:
sudo pdbedit -L
Při nastavování hesla je třeba si uvědomit, že uživatel je pojmenovaný stejně jako v Linuxu, práva k souborům a skupinám má také stejně jako v Linuxu, ale heslo má jiné, než do Linuxu a to právě skrze příkaz výše.
Ve chvíli, kdy se mi nepodařilo přihlásit pod uživatelem, tak jsem dal vypisovat všechny logy Samby:
tail -f /var/log/samba/*
Nakonec jsem zjitil, že všechno funguje, ale uživatel se snaží vstoupit do složky, do které nemá právo vstupu. Proto při ladění je dobré si otestovat vstup do adresáře tak, že se nejdříve přihlásím na konkrétního uživatele a pokusím se do složky vstoupit.
SAMBA a symlinky
Při pokusu vytvořit symlinky ve sdílených složkách jsem se setkal s tímto chybovým hlášením.
Error loading module '/usr/lib/arm-linux-gnueabihf/samba/vfs/widelinks.so': /usr/lib/arm-linux-gnueabih f/samba/vfs/widelinks.so: cannot open shared object file: No such file or directory
Zjistil jsem, že musím doinstalovat modul:
apt install samba-vfs-modules
A dále ke sdílené složce dát tyto parametry:
[photos] path = /home/osmc/Pictures browsable = yes read only = yes guest ok = no follow symlinks = yes wide links = yes
A do sekce Global ještě přidat:
allow insecure wide links = yes
Samozřejmě nakonec restartovat sambu, aby se změny projevily.