Konfigurace Samba v Ubuntu

Konfigurace Samba v Ubuntu
« kdy: 26. 11. 2024, 16:01:11 »
Potřebuji si nějak nakonfigurovat Sambu. Problém je ale ten, že informace na wiki ubuntu, odkud čerpám, jsou docela blbě uvedeny a nevím proč tam tyto informace vůbec jsou. Konkrétně jde o uživatele, kteří mají být v

/etc/samba/smbusers

Já totiž v počítači žádnou takovou složku/soubor nemám.
Další věc ve sdílení a oprávnění.
Otevřete

/etc/samba/smb.conf

Nalezněte tento řádek

...
;  security = user
...

a změňte ho na - je jedno na co protože já ten řádek tam prostě nemám.
Jak to tedy je?
Ubuntu Pro 24.4.1 Mate


Re:Konfigurace Samba v Ubuntu
« Odpověď #1 kdy: 26. 11. 2024, 21:08:58 »
Zkus prosím nějak krátce popsat, čeho chceš finálně docílit (odkud se připojuješ kam, co se má sdílet atp.)

Odhadem bude ten návod nejspíš starý, nebo tam budou zmíněné věci, co se tě netýkají.
V souboru smbusers bývá tzv. mapa uživatelů mezi serverem a klientem (typ. Windows), kdy je například na serveru uživatel pepa a má se automaticky mapovat na uživatele josef, který je na Windows.
Ve valné většině případů tohle vůbec není potřeba řešit.

Jinak obecně platí, že pokud v nějakém konfiguračním souboru řádek není, tak je tam potřeba přidat.

Re:Konfigurace Samba v Ubuntu
« Odpověď #2 kdy: 26. 11. 2024, 22:39:00 »
Ahoj. Nemám server. Jen pět počítačů mezi sebou. Potřebuji si ulehčit práci při přístupu k jednotlivým diskům a souborům. Přesunout soubor v rámci sítě je jednodužší než mezi počítačema lítat s flashkou. Prostě ten soubor z mého pc přesunout přímo na konkrétní počítač. Nechci to řešit v podobě nějakyho centrálního serveru, dát to tam a z něho by si to počítač pak stáhl. Chci to přímo.
Samba je na všech počítačích a nějak funguje. Píši nějak protože mi nejde přesunout soubor do konkrétního adresáře v sambashare.
Ano jde to ale musím se přihlašovat jako root.
Chci si nastavit uživatele a sambu tak, aby měl plný přístup kdokoli, kdo zná user name a pass.

Dále jsem si chtěla sambu nastavit tak, že když budu na pc2 stahovat soubor tak ten se mi stáhne ale uloží třeba do pc2/home/user/sambashare/film/serialy/cz

V pc4 je 6 disků. Chci, aby k těmto diskům měl kdokoliv v síti přístup. Teda přesně ten, kdo zná přihlašovací údaje k tomu pc4.
Nevím jestli jde toto udělat pomocí samby ale myslím si, že ano.
Toto je v krátkosti to nejdůležitější co bych potřebovala poradit a zprovoznit.
Ubuntu Pro 24.4.1 Mate

Re:Konfigurace Samba v Ubuntu
« Odpověď #3 kdy: 26. 11. 2024, 22:58:21 »
Ještě dodávám. Zatím neřeším přístup z venku protože nemám server. Ten až příští rok. Mám tu všude jen Linux ale vůbec mě nezajímá kdyby někdo přišel s Windows a něco mu nešlo. Má smůlu.
Ubuntu Pro 24.4.1 Mate

Re:Konfigurace Samba v Ubuntu
« Odpověď #4 kdy: Dnes v 00:19:57 »
Ahoj. Já jsem ten server zmiňoval spíš ve smyslu počítače, co sdílí po síti složku, klient je pak ten, co se k němu připojuje. Ne ve smyslu dedikovaného serveru (HW).

Zkusím začít nějak obecněji. V domácím prostředí bych na sdílení souborů bych nejspíš nezakládal žádného dalšího speciálního uživatele (jako sambashare), ale používal bych toho standardního, pod kterým na těch počítačích normálně pracuješ (nevím, např. Darina :) ).

Pokud tam jsou tam nějaká data mimo svůj domovský adresář (/home/darina), tak tam musíš správně nastavená práva, abys tam mohla přistupovat a měnit je (bez použití účtu root).

Takže například pokud budu mít samostatný disk, který je připojený do /data/filmy, tak mu nejdřív musím nastavit standardní uživatelská práva v Linuxu. Což udělám příkazem sudo chown -R darina:users /data/filmy (sudo s právy roota)

Když pak budu nastavovat sdílení té složky přes Sambu, tak nejdřív přidám odpovídající část do /etc/samba/smb.conf


[filmy]
   path = /data/filmy
   comment = Nejlepší filmy
   writable = yes


Tohle je minimum, co musíš přidat. Je tam hromada dalších voleb, ale tohle by mělo zatím stačit.
Po změně restartuju Sambu přes sudo systemctl restart smbd

Nakonec přidám uživatele do databáze Samby. Samba má oddělenou databázi uživatelů od systému, tzn. nestačí, že uživatel darina existuje v systému, ale ještě se jednorázově musí přidat do databáze Samby.
To zařídím přes příkaz:
sudo pdbedit -a darina
Pak se mě to dvakrát zeptá na heslo, které se pak bude používat při připojení z jiného počítače. Může být i odlišné od hesla uživatele v Linuxu, ale pro většinu použití to asi nemá smysl měnit.
V některých návodech najdeš, že se to přidání dělá příkazem smbpasswd, je to jedno, docílíš téhož.

Na jiném počítači pak při připojení použiju přesně tyhle údaje. Když do sdílené složky pak uložím nějaký soubor z jiného počítače, můžu si přímo ve složce /data/filmy ověřit. Když si vypíšu seznam souborů ve složce přes ls -l /data/filmy, tak bych měl vidět v třetím sloupcí, že soubor patří uživateli darina. A samozřejmě by s ním mělo jít manipulovat (přejmenovávat, přesouvat).

Jinak pokud budeš chtít sdílet všechna data, co jsou přímo v domovské složce /home/darina, tak na to je speciální sekce [homes] v smb.conf, kterou stačí odkomentovat i s těmi řádky pod ní. A pak samozřejmě zas restartovat službu smbd.

To je jen tak základně z rychlíku, může tam být spousty věcí okolo, třeba pokud bys potřebovala sdílet soubory mezi více uživateli na jednom stroji atp. (tzn. krom uživatele darina by tam byl ještě další a všichni byste do ní chtěli zapisovat), ale to už jsou další kroky, co se dají rozvést.


k3dAR

  • *****
  • 3 051
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Konfigurace Samba v Ubuntu
« Odpověď #5 kdy: Dnes v 00:20:25 »
aby tam mohl uzivatel, melo by stacit pridat jeho uid a gid, coz vychozi uzivatel vytvarenej pri instalaci v *buntu ma oboje 1000, pripadne zjistis z vystupu prikazu "id"...
pripadne pridat iocharset pro utf8 nazvy souboru (nevim ted co je vychozi bez toho)

samba uzivatele pro prihlaseni vytvoris: sudo smbpasswd -a jmenouzivatele

pro umisteni do fstab:
Kód: [Vybrat]
//server/share /data  cifs _netdev,username=jmenouzivatele,password=heslo,uid=1000,gid=1000,iocharset=utf8 0 0
pro rucni pripojeni z terminalu to same:
Kód: [Vybrat]
sudo mount -t cifs -o username=jmenouzivatele,password=heslo,uid=1000,gid=1000,iocharset=utf8 //server/share /data
mozna pridat jeste "file_mode=0770,dir_mode=0770" s tim ze na samba serveru muzes doomezit opravneni dir ci files, ci konkretni uzivatele

nerucim/neoveroval sem, doma pouzivam mezi pocitacema (ci remote serverama) ze zvyku sshfs a ten ma pro mount volbu "allow_other" aby tam mohl i uzivatel a ne jen "root" kterej to pripojuje pomoci "sudo sshfs ..." :)
« Poslední změna: Dnes v 00:24:07 od k3dAR »

Re:Konfigurace Samba v Ubuntu
« Odpověď #6 kdy: Dnes v 00:26:20 »
Ještě dobrá poznámka k připojování, co píše k3dAR.
Jak teď připojuješ ty sdílené složky z druhého počítače?
Z terminálu ad-hoc přes mount, z grafického rozhraní v Nautilu (okno Files, +Other Locations) nebo to máš permanentní a je to ve /etc/fstab?

k3dAR

  • *****
  • 3 051
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Konfigurace Samba v Ubuntu
« Odpověď #7 kdy: Dnes v 00:26:34 »
jinak na Ubuntu Wiki dokumentace sem si vsiml ze je casto zastarala, casto je lepsi se podivat spis do ArchLinux Wifi, ALE brat to jen jako "inspiraci" protoze v Archu jsou nektere veci/cesty/soubory jinak (at uz tim ze to ma Arch proste jinak, nebo tim ze z podstaty "rolling" distra ma ty komponenty vzdy novejsi nez *buntu a v novejsich to muze byt uz jinak)
konkretne pro Sambu: https://wiki.archlinux.org/title/Samba