Sida 1 av 1

Sambaauthentisering

Postat: 07 jan 2008, 01:20
av nire
Sitter och försöker förstå hur authentiseringen fungerar med samba.. varje gång jag sitter och ska få iordning på det så blir jag alltid lika irriterad.  :) Det beror väl förmodligen helt på att jag inte riktigt förstår hur det fungerar på djupet men nu tänkte jag göra ett försök.
Det kommer nu bli en del text så jag förtydligar mig genom att markera mina frågor med * :P

Som jag fattat det så har samba en egen databas över användare. Som standard någon backend som heter tdbsam.
* Varför inte köra direkt mot /etc/passwd? Kan man ens göra det?

När jag installerar samba så ser jag en massa användare som listas i installationen. De importeras antar jag.
Det borde innebära att alla UNIX-användare i /etc/passwd då också finns i databasen över sambaanvändare.
* Varför kan jag då inte komma åt sambaservern från nätverket direkt efter en installation?
Jag kommer till ett loginfönster men inga användare fungerar.

Varje gång jag tidigare har installerat samba på datorer så har jag alltid lagt till användare med "smbpasswd -a [användare]" och jävlats med smbusers-filer och annat.
Nu när jag suttit ett bra tag i sambas dokumentation så har jag sett att med "smbpasswd" så menas både en föråldrad (men supportad) backend samt kommandot för att lägga till användare.
* Det är bara med smbpasswd som backend som man har någon användning av att lista användare i smbusers-filer? För jag har då aldrig fått det att fungera så.

När jag läste dokumentationen så hittade jag kommandot "pdbedit" som visst ska göra ungefär samma som "smbpasswd" antar jag. Men när jag försöker lägga till en användare med pdbedit står det bara att den redan finns, medan det går med smbpasswd.
* Hur kommer det sig? Och vilken ska man använda?

Nånting värt att tillägga är att jag sitter i terminalen på servern. Inget GUI här inte.

SV: Sambaauthentisering

Postat: 07 jan 2008, 01:42
av andol
Tja, låt oss se om vi kan ta och reda ut begreppen lite grann.

Nix, bara låta Samba prata med /etc/passwd går inte, även om det förstås skulle kunna verka smidigt. Beror bland annat på att Windows vill spara lite annan information kring sina användare liksom på hur lösenord hanteras.

Att användarna behöver finns i /etc/passwd (e.g. som unix-användare) beror på att du gissningsvis har inställningen "SECURITY = USER". Detta är förövrigt defaultvärdet, så det är mycket möjligt att du har det utan att veta om det. Vill du kunna ha samba-användaren utan motsvarande unix-användare är det "SECURITY = SHARE" som gäller.

Notera dock att den anslutande användaren ändå ansluter till ett filsystem där unix-permissions gäller på filer och mappar, vilket är sålunda något som måste behandlas. Innan du ställer om till "SECURITY = SHARE" kan det sålunda vara bra att läsa på litegrann. Det kan mycket väl bli mer extrajobb än vad det är värt. Kan tipsa om man(ual) sidan för smb.conf som beskriver hela säkerhetsmodellen rätt ingående.

Vad gäller pdbedit så är det inget kommando jag har tittat på i någon större utsträckning. Kanske det är dags att börja göra det nu snart om nu smbpasswd håller på att bli föråldrat.

SV: Sambaauthentisering

Postat: 07 jan 2008, 01:59
av nire
Om man använder SECURITY = SHARE, vilken användare är det man egentligen använder då? nobody?
Kanske det är dags att börja göra det nu snart om nu smbpasswd håller på att bli föråldrat.
Jo jag tycker du kan titta på pdbedit. Klart bättre än smbpasswd. Att kunna lista vilka samba-användare som finns är ju väldigt bra.. :P Det kunde man väl inte med smbpasswd? Jag har letat men inte hittat iaf. Men som jag fattar det så var det inte kommandot smbpasswd som var på väg ut utan smbpasswd som backend.


Jag har fått det lite klarare för mig nu, så jag kan ju passa på att svara på några av mina frågor.
Varför kan jag då inte komma åt sambaservern från nätverket direkt efter en installation?
Därför att endast användarna importeras och inte deras lösenord. En användare utan lösenord får inte logga in tydligen.
Hur kommer det sig? Och vilken ska man använda?
pdbedit kräver root, men inte smbpasswd.
pdbedit -a [användarnamn] lägger till en användare som inte finns. Finns användaren protesterar den.
smbpasswd -a [användarnamn] lägger också till användaren, men finns den redan så byter den lösenord på den istället.

I övrigt så spelar det ingen större roll vilken man använder eftersom de jobbar mot samma databas ändå.

SV: Sambaauthentisering

Postat: 07 jan 2008, 02:20
av andol
nire skrev: Om man använder SECURITY = SHARE, vilken användare är det man egentligen använder då? nobody?
Det du i regel gör med SECURITY = SHARE är att mappa dina samba-användare mot lämpliga unix-användare. I vissa fall kan nobody mycket väl vara en lämplig sådan.

Låter som du i övrigt börjar få rätt god koll på läget.