CONFIGURAZIONE DEL PDC SAMBA
Nel seguito e' descritta solo la struttura adottata dal progetto ISI e non viene fatto nessuno sforzo per spiegare le modalita' e i dettagli della configurazione di un PDC realizzato con Samba.
I lettori interessati troveranno sull'argomento una abbondantissima ed esauriente letteratura liberamente disponibile in rete.
Gli elementi funzionali per l'implementazione del PDC ISI sono
- la struttura di cartelle sotto descritta.
- un samba server installato e funzionante (attualmente e' in uso la versione Debian-stable 2.2.3a-12.4a)
- un server ldap installato e funzionante per l'autenticazione (per i dettagli vedi IsiLdap)
- un server Cups per il controllo delle stampanti
La struttura del file system
Il funzionamento del PDC Samba appoggia sulla seguente organizzazione del file system:
- /home
- tutta la parte file server e' ospitata qui
- /home/admins
- contiene le homedir degli amministratori (gruppo @admins)
- /home/alunni
- contiene le homedir degli alunni (gruppo @alunni) create automaticamente dagli script di gestione del server ldap sulla base della "skeleton dir" /etc/skel (vedi in fondo)
- /home/ata
- contiene le homedir del personale ata (gruppo @ata)
- /home/docenti
- contiene le homedir dei docenti (gruppo @docenti)
- /home/classi
- contiene tutte le cartelle di classe il cui nome deve coincidere con quello del gruppo classe. Es. gli studenti della classe 1A geometri, appartengono al gruppo geo1a e hanno una cartella di classe che si chiama geo1a; la cosa si rende necessaria per la connessione automatica dell'alunno alla sua cartella di classe.
- /home/samba
- tutto quel che serve al logon degli utenti
- /home/samba/netlogon/
- la radice della share [netlogon] che viene assegnata in smb.conf al percorso /home/samba/netlogon/%g in modo che ogni gruppo di utenti abbia la sua share [netlogon] specifica; cio' si rende necessario per il funzionamento delle politiche di sicurezza (config.pol) sui client win98. Non sembra infatti possibile utilizzare un unico file CONFIG.POL contenente le positiche di gruppo, ma occorre predisporre file config.pol diversi per gruppo e contenenti solo quanto relativo all'utente e alla macchina predefinita. Tutte le cartelle qui sotto indicate contengono due file: logon.bat, lo script di logon valido per tutte le architetture client, e config.pol il file delle politiche di sicurezza per i client win98, redatto con l'utilita' poledit.exe
- /home/samba/netlogon/admins
- share [netlogon] admins
- /home/samba/netlogon/alunni
- share [netlogon] alunni
- /home/samba/netlogon/ata
- share [netlogon] ata
- /home/samba/netlogon/docenti
- share [netlogon] docenti
- /home/samba/netlogon/scripts
- contiene gli script lato server attivi durante la fase di logon/logoff.
- /home/samba/common
- radice di file comuni utili per il logon
- /home/samba/common/alunni
- contiene Desktop e Menu Avvio comuni per gli alunni che si loggano da clien win98
- /home/samba/common/ata
- come sopra ma per il personale ATA
- /home/samba/common/admins
- come sopra ma per gli amministratori
- /home/samba/common/docenti
- come sopra ma per i docenti
- /home/samba/common/reg
- file di registr per la configurazione dei client win98
La cartella personale dell'utente
Quando un nuovo utente viene aggiunto al sistema, viene automaticamente dotato di una cartella personale contenete quanto necessario sia a un utente linux sia a un utente windows. A parte i file di personalizzazione tradizionali dell'ambiente linux, la cartella personale conterra' le seguenti sottocartelle:
- Documenti
- verra' collegata automaticamente all'icona Documenti presente sul desktop windows
- .wxp_profile
- cartella nascosta (inizia col punto) in cui il client WinXP salva il profilo personale dell'utente
- .w98_profile
- cartella nascosta (inizia col punto) in cui il client Win98 salva il profilo personale dell'utente
Il file di configurazione /etc/samba/smb.conf
[global]
workgroup = *nome del dominio*
netbios name = *nome netbios del server*
server string = %h
domain logons = Yes
os level = 254
preferred master = True
domain master = True
dns proxy = No
wins support = Yes
domain admin group = root, @admins
encrypt passwords = Yes
min passwd length = 3
obey pam restrictions = Yes
passwd program = /usr/bin/ldap_passwd %u
passwd chat = *New*Passwd* %n\n *Verify* %n\n *modifying*
add user script = /usr/sbin/ldap_adduser -d /dev/null -g 100 -s /bin/false -M %u
unix password sync = Yes
log level = 1
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
time server = Yes
browseable=no
printcap name = cups
printing = cups
logon script = logon.bat
logon path = \\%L\profiles
logon drive = H:
logon home = \\%L\%u\.w98_profile\%a
ldap server = 127.0.0.1
ldap port = 389
ldap suffix = ou=People,dc=isi
ldap admin dn = cn=admin,dc=isi
ldap ssl = no
[homes]
comment = Home Directories
read only = No
create mask = 0600
directory mask = 0700
browseable = No
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon/%g
read only = No
create mask = 0644
guest ok = Yes
browseable = No
root preexec = /home/samba/netlogon/scripts/home_setclasse '%u'
[profiles]
; serve al salvataggio dei roaming profiles xp/wi2k
path = /home/%g/%u/.wxp_profile
read only = No
create mask = 0600
directory mask = 0700
browseable = No
[w98reg]
; contiene i file di registro per la predisposizione del client w98 da parte dello script di logon
path = /home/samba/common/reg
read only = No
create mask = 0644
browseable = No
[w98cfg]
; contiene le cartelle con Desktop e Menu Avvio comuni a tutti i clien win98
path = /home/samba/common/%g
read only = No
create mask = 0666
directory mask = 0777
browseable = No
[scripts]
; contiene gli script lato server gestiti da samba
; vedi ad esempio il root preexec della share [netlogon]
path = /home/samba/scripts
valid users = root, @admins
read only = No
create mask = 0600
directory mask = 0700
[printers]
comment = All Printers
path = /tmp
printer admin = root, @admins
create mask = 0700
guest ok = Yes
printable = Yes
browseable = No
[admins]
comment = cartella amministratori
path = /home/admins
valid users = root, @admins
read only = No
browseable = No
[docenti]
comment = cartella docenti
path = /home/docenti
valid users = root, @admins
read only = No
[ata]
comment = cartella personale ata
path = /home/ata
valid users = root, @admins
read only = No
[alunni]
comment = cartella alunni
path = /home/alunni
valid users = root, @admins, @docenti
read only = No
[scambio]
comment = cartella pubblica di transito
path = /home/scambio
read only = No
create mask = 0777
directory mask = 0777
[uti]
comment = cartella contenente programmi di utilita'
path = /home/apps-utils
valid users = root, @admins, @docenti
read only = No
directory mask = 0777
[apps]
comment = cartella contenete applicazioni installabili
path = /home/apps
admin users = root,@admins
directory mask = 0777
[classi]
comment = cartella classi
path = /home/classi
read only = No
[geo1a]
comment = cartella di classe
path = /home/classi/geo1a
valid users = @admins, @geo1a, @docenti
read only = No
create mask = 0666
directory mask = 0777
browseable = No
--
MassimoMancini - 18 Jan 2022