r10 - 08 Oct 2021 - 15:33:23 - WebMasterYou are here: TWiki >  Reteisi Web > DocTecDebian > IsiSamba
ANNUNCIO: L'aggiornamento dei pacchetti ISI produce importanti cambiamenti, leggete questa nota

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

ALERT! Quanto segue descrive una strutturaione minima del filesystem e corrisponde al default previsto da isi-ldap3

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/esternii
contiene le homedir degli esterni docenti (gruppo @esterni)

/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.
Ogni cartella di classe contiene la sottocartella alulink che a sua volta contiene i link simbolici alle home degli alunni appartenenti alla classe. Il formato del link e' nome_cognome.username, i valori sono letti direttamente dal db ldap tramite uno script a cui e' affidata la creazione e il popolamento automatico della cartella.
In questo modo viene enormemente facilitato il lavoro dell'insegnante che voglia recuperare file specifici dalle home dei suoi studenti rendendo inoltre possibili semplici meccanismi di automazione per il recupero e il trasferimento di file specifici.

/home/samba
tutto quel che serve al logon degli utenti

/home/samba/netlogon/
la radice della share [netlogon]

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
.profili/WinXP
cartella nascosta (inizia col punto) in cui il client WinXP salva il profilo personale dell'utente
.profili/Win95
cartella nascosta (inizia col punto) in cui il client Win98 salva il profilo personale dell'utente

Tuning delle politiche via pdbedit (a partire da Samba 3.0.21)

Lunghezza minima delle password

Per fissare a 8 caratteri la lunghezza minima delle password
  • root #>pdbedit -P "min password length" -C 8

Impedire il riutilizzo delle password

Per ricordare le ultime 5 password utilizzate
  • root #>pdbedit -P "password history" -C 5

Scadenza delle password

Per fissare la scadenza a 45 giorni (45 x 2021 x 24 = 3888000 sec)
  • root #>pdbedit -P "minimum password age" -C 3888000
Per far scadere subito le password
  • root #>pdbedit -P "minimum password age" -C 0

Blocco del login dopo n tentativi falliti

Per fissare a tre i tentativi di login
  • root #> pdbedit -P "bad lockout attempt" -C 3

Per esportare le politiche su LDAP quando questo e' usato come backend di Samba

  • root #> pdbedit -y -i tdbsam -e ldapsam

Il file di configurazione /etc/samba/smb.conf

[global]
   workgroup = ISI-DOMAIN
   netbios name = ISI-PDC
   server string = %h MAINSERVER
   dns proxy = No
   bind interfaces only = Yes
   interfaces = lo, eth0
#   invalid users = root
   admin users = root,@admins
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   log level = 1
   security = user
   encrypt passwords = true
   passdb backend = ldapsam:ldap://127.0.0.1/
   obey pam restrictions = no
   deadtime = 15
   browseable = no
   wins support = Yes
   name resolve order = lmhosts host wins bcast
   local master = yes
   domain master = Yes
   preferred master = Yes
   os level = 254
   domain logons = Yes
   unix password sync = no
   enable privileges = yes
   passwd program = /usr/sbin/smbldap-passwd %u
   passwd chat = *New*password* %n\n *Retype*new*password* %n\n
   socket options = TCP_NODELAY
   load printers = yes
   printing=cups
   printcap name=cups
   ldap ssl = no
   ldap passwd sync = yes
   ldap machine suffix = ou=Computers
   ldap idmap suffix = ou=Idmaps
   ldap group suffix = ou=Groups
   ldap user suffix = ou=People
   ldap suffix = dc=isi,dc=lan
   ldap delete dn = Yes
   ldap admin dn = cn=admin,dc=isi,dc=lan
   logon home = \\%L\%U\.\\.profili\%a
   logon drive = H:
   logon path = \\%L\%U\.profili\%a
   add machine script = /usr/sbin/smbldap-useradd -w "%m"
   set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
   delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
   add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
   delete group script = /usr/sbin/smbldap-groupdel "%g"
   add group script = /usr/sbin/smbldap-groupadd -p "%g"
   delete user script = /usr/sbin/smbldap-userdel "%u"
   add user script = /usr/sbin/smbldap-useradd -m "%u"
   panic action = /usr/share/samba/panic-action %d
[homes]
   comment = ISI-homes (NON MODIFICARE QUESTA RIGA)
   browseable = no
   writable = yes
   guest ok = no
#   include = /etc/isi/samba/hmask_%G
   veto files = /public_html/
[printers]
   comment = All Printers
   browseable = no
   path = /tmp
   printable = yes
   public = no
   writable = no
   create mode = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
include = /etc/isi/samba/smb_servizi.conf
include = /etc/isi/samba/smb_maingrps.conf
include = /etc/isi/samba/smb_classi.conf
include = /etc/isi/samba/smb_corsi.conf
include = /etc/isi/samba/smb_aree.conf
[perl]
   path = /usr/share/WinActivePerl
   comment = Per Windows Binaries
   public = yes
   writable = no
   guest ok = yes
   browseable = no
[netlogon]
    comment = ISI-NetLogon (NON MODIFICARE QUESTA RIGA)
    path = /home/samba/netlogon
    guest ok = yes
    browseable = no
    create mask = 0644
    directory mask = 0755
    writable = yes
    root preexec=/usr/sbin/setlogonvar '%U' '%G' '%m'
    root postexec=/usr/sbin/rmlogonvar '%m'
#[profiles]
#  comment = cartelle profili utente
#   path = /home/%g/%u/.profili/%a
#   read only = No
#   create mask = 0660
#   directory mask = 2770
#   browseable = No 
#   guest ok = Yes
#   profile acls = Yes
#   csc policy = disable
   # next line is a great way to secure the profiles 
#   force user = %U
### DEBCONF CONFIGURED by isi-logon
 

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback