Pokud máte potíže se sdílením svého ~Veřejného adresáře v Ubuntu 22.04, Jack Wallen má pro vás řešení.
S vydáním Ubuntu 22.04 došlo pod pokličkou k několika změnám, aby se toto nejnovější vydání LTS stalo jedním z nejlepších v historii distribuce Linuxu podporované Canonical. Ale je tu jedna změna, která způsobila trochu rozruch. Tímto problémem jsou výchozí oprávnění domovských adresářů uživatele.
Dříve bylo oprávnění k domovskému adresáři uživatele nastaveno na 755, což umožňovalo ostatním uživatelům zobrazit adresář i soubory a podadresáře, které obsahují. Aby se předešlo takovému bezpečnostnímu problému, nastavili vývojáři oprávnění k domovským adresářům na 750, což znamená, že obsah může zobrazit pouze vlastník domovského adresáře.
Pokud máte tendenci sdílet svou složku ~/Public, způsobuje to u Samby velký problém, protože vlastník domovského adresáře je jediný, kdo může ke složce přistupovat nebo ji procházet buď lokálně, nebo přes vaši LAN. Tato změna byla provedena čistě z bezpečnostních důvodů a věřím, že to byla správná cesta, protože neexistuje žádný důvod, proč by ostatní uživatelé měli mít možnost zobrazit obsah svého domovského adresáře.
Se Sambou, i když použijete public = yes
, sdílenou složku vidí pouze vlastník tohoto domovského adresáře. To znamená, že i když výslovně povolíte ostatním vytvářet a odstraňovat soubory v této složce prostřednictvím okna Nautilus Public Properties (Obrázek A ), nebude to fungovat.
Obrázek A
Co děláš? Mám pro to dvě možné opravy. Pojďme se do toho pustit.
Co budete potřebovat
Jediné, co musíte sledovat, je spuštěná instance Ubuntu Linux 22.04 a uživatel s právy sudo. Když jsou tyto dvě věci připraveny, pojďme si zapnout sambu.
Pokrytí pro vývojáře, které si musíte přečíst
Nejjednodušší, ale méně bezpečná oprava
Tato konkrétní oprava je nejjednodušší způsob, jak problém obejít. Nicméně – a to je velká věc – použitím této možnosti obcházíte zabezpečení, které bylo přidáno odebráním práva ostatním prohlížet váš domovský adresář.
Pokud s tím souhlasíte, můžete aktualizaci obejít změnou oprávnění vašeho domovského adresáře zpět na 755 pomocí příkazu:
chmod o+rx /home/USER
Kde USER je vaše uživatelské jméno.
To samo o sobě by mělo vyřešit váš problém, ale není to zrovna nejbezpečnější řešení.
Méně snadná, ale bezpečnější oprava
Pokud to není možné, můžete vždy použít direktivu Samba force user, která přinutí uživatele hosta, aby se za vás vydával. Toto zachová bezpečnostní opatření, ale umožní ostatním uživatelům procházet obsah vašeho ~/Public adresáře.
Chcete-li použít tuto metodu, otevřete konfigurační soubor Samba pomocí:
sudo nano /etc/samba/smb.conf
V dolní části tohoto souboru byste měli najít záznam pro vaše veřejné sdílení, který může vypadat nějak takto:
[Public]
path = /home/jack/Public
public = yes
guest only = yes
browsable = yes
writable = no
read only = no
force create mode = 0666
force directory mode = 0777
Na konec této části přidejte následující řádek:
force user = USER
Kde USER je vaše uživatelské jméno. Uložte a zavřete soubor. Restartujte Sambu pomocí:
sudo systemctl restart smbd
V tomto okamžiku si každý uživatel vašeho systému Linux bude moci zobrazit obsah sdílení ~/Public pomocí svých přihlašovacích údajů, když se připojí k Sambě.
Náročná, ale nejbezpečnější oprava
Nejlepší možností by bylo sdílet adresář mimo váš domov, protože se tak vyhnete celému problému s oprávněními. Vytvořme nový adresář příkazem:
sudo mkdir /data
Změňte oprávnění tohoto adresáře pomocí:
sudo chmod -R ugo+rw /data
Nyní vytvoříme sdílení. Otevřete konfiguraci Samby pomocí:
sudo nano /etc/samba/smbd.conf
Na konec tohoto souboru vložte následující:
[data]
path = /data
guest only = yes
browsable = yes
writable = no
read only = no
force create mode = 0666
force directory mode = 0777
Uložte a zavřete soubor. Restartujte Sambu pomocí:
sudo systemctl restart smbd
Nyní byste měli vidět nové sdílení dat, ke kterému by měl mít přístup každý uživatel s účtem v systému. Můžete také přidat public =yes, abyste dali anonymní přístup ke sdílené složce.
A to je vše, co pomůže Sambě obejít nová oprávnění k domovskému adresáři v Ubuntu Linux 22.04. Pokud si nejste jisti, které řešení použít, šel bych s poslední možností, protože je bezpečnější. Ať tak či onak, těmto uživatelům budete moci poskytnout přístup k obsahu vašich sdílených položek Samba, ať už jsou ve vašem domovském adresáři nebo ne.