← Back to team overview

sslug-teknik team mailing list archive

Re: Samba og SWAT

 

Mark Holm wrote:
> Kan du (eller en anden) forklare lidt, om hvad de filer, der ligger i
> /etc/pam.d gør?
De styrer, hvad der skal til for at tilgå forskellige services.
Man kan læse om PAM på
http://www.dk.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam.html

Hvis man ikke skal foretage sig noget 'eksotisk' på sit system, 
kan man ignorere PAMs finurligheder og bare benytte indstillingerne 
som de ankommer.

Jeg har imidlertid i vid udstrækning anvendt PAM på LANs, hvor 
Linux skulle integreres med Windows-maskiner og/eller en 
Netware-server.

Eksempel:
LAN, hvor folk primært booter Windows og hvor en Linux-maskine 
klarer posten. Fil-serving klares af en Samba eller NT server. 
Det ville være besværligt, hvis der skulle holdes styr på både 
Windows og POP3/imap(Linux)-passwords. Derfor installeres et PAM-modul, 
som er i stand til at spørge en Samba/NT-server, om brugerens password 
er OK. Dette modul refereres der så til i /etc/pam.d/imap:
===========================================================================
#%PAM-1.0
auth     sufficient  /lib/security/pam_smb_auth.so
auth     required    /lib/security/pam_pwdb.so shadow nullok use_first_pass
account  required    /lib/security/pam_pwdb.so
===========================================================================

Første to linjer betyder, at for at "auth"-tilstanden skal opfyldes, er det
nok, hvis SMB-pam-modulet giver grønt lys (=hvis Samba/NT-serveren siger
OK for passwordet); hvis dette ikke er tilfældet, prøves det normale
Linux-password system.

Sidste linje forstår jeg ikke helt. Men der er i hvertfald fire tilstande,
som man kan autoriseres til på forskellig vis. Det kan man læse mere om
forskellige steder; se også /usr/doc/pam.../...

Tilsvarende: Hvis du ville lade folk logge ind (fx. pr. telnet) med deres
Samba password - her udvider du /etc/pam.d/login, så den kommer til at
se ud som følger:
===========================================================================
#%PAM-1.0                                                                                                      
auth       required     /lib/security/pam_securetty.so                                                         
auth       required     /lib/security/pam_smb_auth.so                                                          
auth       required     /lib/security/pam_nologin.so                                                           
account    required     /lib/security/pam_pwdb.so                                                              
password   required     /lib/security/pam_cracklib.so                                                          
password   required     /lib/security/pam_pwdb.so shadow nullok use_authtok                                    
session    required     /lib/security/pam_pwdb.so
===========================================================================
(sammenlign med den almindelige /etc/pam.d/login fil)

Det skal lige bemærkes, at pam_smb_auth ikke er et modul, der følger med
distributionerne, i hvertfald ikke med Red Hat, men som - i dette tilfælde - 
hentes på http://www.csn.ul.ie/~airlied/pam_smb/
Tilsvarende findes fx. et NCP (Netware) modul.

I dit tilfælde skulle "samba"-servicen tilgås (det ville egentlig have 
været mere logisk at kalde servicen for "swat", synes jeg). Du angav 
derfor i din samba PAM-service fil, at det lokale password-system skulle 
spørges.

Man skal passe lidt på, når man roder med PAM. Man kan ret let komme til 
at gøre et eller andet galt, således at alle og enhver fx. kan logge 
ind som root 8-§
Beware.

-- 
Troels Arvin
Copenhagen, Denmark
http://www.mdb.ku.dk/tarvin/


References