Portál AbcLinuxu, 25. dubna 2024 17:33


Dotaz: Samba a UID/GID

27.10.2005 03:16 Espinosa | skóre: 24 | blog: Espblog | London
Samba a UID/GID
Přečteno: 373×
Odpovědět | Admin
Situace: server i klient (laptop) jedou na Linuxu. Pro sdílení souborů používám Sambu. Třetí počítač v síti jede na Windows, proto Samba.

Na klientovi jsem pod uživatelem 'espinosa', na serveru mám také účet 'espinosa' a po přimountování sdíleného aresáře chci vystupavat jako tento uživatel, mít "svoje" práva.

Problém je, že uživatel espinosa má jiný UID na klientovi (500) a jiný na serveru (501). Analogický problém je se skupinou.

Když přimountuji vidím soubory jako:
[espinosa@laptop]# ls -l /mnt/smb/test
total 8
-rw-r--r--  1 guest poweruser  33 Oct 24 06:49 blbost.txt
-rw-r--r--  1 guest poweruser 417 Sep  3 22:00 dhcpd.conf
Což je problém, protože jako lokální uživatel 'espinosa' nemám práva zápisu. Soubory mají 501:501, což u mě na lokále je skutečně guest:poweruser.

Na serveru je výpis téhož adresáře správně jako:
[espinosa@server]# ls -l /home/espinosa/shared 
total 8
-rw-r--r--  1 espinosa espinosa 33  Oct 24 06:49 blbost.txt
-rw-r--r--  1 espinosa espinosa 417 Sep  3 22:00 dhcpd.conf
..a přesně tohle bych chtěl vidět i po přimountování na lokále.

Mountuji příkazem:
[root@home espinosa]# /sbin/mount.cifs //192.168.2.7/ESHARE /mnt/smb/test -o username=espinosa,workgroup=MYGROUP
Samba: 3.0.14
--- /etc/samba/smbusers ----------
espinosa = espinosa

-- /etc/samba/smb.conf -----------
...
security = user
username map = /etc/samba/smbusers
...
[ESHARE]
path = /home/espinosa/shared/
valid users = espinosa, zip
read list = espinosa, zip
admin users = espinosa
writable = yes
write list = espinosa
Dále zjištěno: při mountování nemají parametry jako gid=espinosa,uid=espinosa,umask=000 žádný vliv. Výsledek vždy stejný.

V smb.conf jsem bez úspěchu zkoušel:
force user = espinosa
force group = espinosa
idmap uid = 10000-20000
idmap gid = 10000-20000
Vyžaduje Samba abych měl UID/GUI synchronizované na všech strojích? To je docela drsná podmínka. Nejde zprovoznit "překlad" UID?

P.S.

Kvůli třem počítačům se mi do variant alá LDAP nechce

P.S.S.

Zdá se, že identickou příčinu má problém z loňska. Bohužel zůstalo bez odpovědi.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.10.2005 10:48 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: Samba a UID/GID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vyžaduje Samba abych měl UID/GUI synchronizované na všech strojích?

Ne. UID nebo uživatelsko jméno na klientovi nemá na práva na serveru vůbec vliv. Přihlásíte se s právy uživatele na serveru.
27.10.2005 18:37 Espinosa | skóre: 24 | blog: Espblog | London
Rozbalit Rozbalit vše Re: Samba a UID/GID
Souhlasím s vámi - lokální uřivatel a jeho práva na klientovi nemá na práva na serveru vůbec vliv. To jsem skutečně tvrdit nechtěl.

Problém je jinde - úspešně se přihlásím jako 'espinosa' (ten serverový) práva jsou správně vyhodnocena (předpokládám) adresář přimountován. Pořád vše OK.

Jenže pak server pošle seznam souborů a jejich UID a GID (501:501) protože na serveru tenhle UID/GID mají, ale lokální systém vyhodnotí ownera a grupu souborů jako guest:poweruser a já si adresáři ani neškrtnu.

Samba (server) by mi asi zápis do tohoto adresáře asi povolil, protože pro server jsem uživatel espinosa (ten serverový), který na ně práva má.

Jak o tom tak přemýšlím, tak on není problém v Sambě, ale v tom jak lokální souborový(?) systém interpretuje data zaslaná Sambou, resp. kernel modulem CIFS.

Jak z toho ven?
28.10.2005 00:11 Espinosa | skóre: 24 | blog: Espblog | London
Rozbalit Rozbalit vše Re: Samba a UID/GID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to tak, UID/GID musí být synchronizované pokud mountujete s CIFS a server podporuje CIFS rozšíření!
I'm running a mixture of RedHat and Mandrake machines in a Samba supported network. Too late, I learned that the two distro's do not default to the same starting number when first creating a user. Since I am the only user, I have two UID's and its causing me connectivity problems between the two distro's and Samba.

I need to change the user UID from 500 to 501. From my research it appears" I may lose ownership, and/or home settings for that user. I want to avoid this.
zdroj

Buď si UID/GID hlídáte na všech strojích ručně. V mém případě 2 linuxových boxů to nebude takový problém, ale nějakým rošádám se asi nevyhnu.

Nebo lze sofistikovaně synchronizovat a mapovat usery a skupiny pomocí LDAPu, Domény nebo různých pluginů do Samby, v dokumentaci je tomu obsáhlá část. Nic triviálního.

Neověřené alternativy:

klasické smbmount (smbfs.ko) používá jednodušší systém a lze mu vnutit uživatele a skupinu pod kterou budu vidět soubory v přimountovaném adresáři. S CIFS tohle nejde.

mount.cifs má volbu 'noperms' která přenechává vyhodnocení práv čistě na Samba serveru, tam mám práva (snad) dobře, takže by mě to mělo dovolit zápis i do adresáře patřící guest:poweruser

No nic, jdu měnit UID existujících uživatelů na serveru, ach jo..

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.