8052
Comment:
|
8372
nota sugli share ad accesso riservato che danno errore nel logon script.
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Quella qui descritta e` una configurazione di base per una installazione di Samba come PDC, buona per essere poi affinata nei casi particolari. Dovrebbe essere valida cosi` com'e` per la maggioranza dei server installati ex-novo come PDC. | Quella qui descritta e` una configurazione di base per una installazione di Samba come PDC, buona per essere poi affinata nei casi particolari. Dovrebbe essere valida cosi` com'e` per la maggioranza dei server installati ex-novo come PDC. |
Line 3: | Line 3: |
* La versione di Samba a cui si riferisce e` la 3.0.24 | * La versione di Samba a cui si riferisce e` la 3.0.24 |
Line 13: | Line 13: |
In questa configurazione i roaming profiles sono disattivati per default dal comando {{{logon path=}}}, il che mi sembra la cosa piu` sensata a meno che tutta la struttura dei client non sia stata accuratamente pianificata per usarli. | In questa configurazione i roaming profiles sono disattivati per default dal comando {{{logon path=}}}, il che mi sembra la cosa piu` sensata a meno che tutta la struttura dei client non sia stata accuratamente pianificata per usarli. |
Line 153: | Line 153: |
chgrp <gruppo> directory | chgrp <gruppo> directory |
Line 164: | Line 164: |
Queste impostazioni vanno fatte prima di iniziare a riempire la directory di files e directory, in modo che il bit SGID si propaghi alle subdirectory quando si vanno a creare le stesse. | Queste impostazioni vanno fatte prima di iniziare a riempire la directory di files e directory, in modo che il bit SGID si propaghi alle subdirectory quando si vanno a creare le stesse. '''NOTA IMPORTANTE:''' Per evitare che il logon script fallisca quando mappa un disco al quale l'utente non ha diritto di accesso, è sufficiente fare un {{{chmod o+x}}} della directory principale dello share. Così facendo lo share può essere mappato senza problemi ma il contenuto resta inaccessibile come deve essere. |
Quella qui descritta e` una configurazione di base per una installazione di Samba come PDC, buona per essere poi affinata nei casi particolari. Dovrebbe essere valida cosi` com'e` per la maggioranza dei server installati ex-novo come PDC.
- La versione di Samba a cui si riferisce e` la 3.0.24
- Prevede l'uso di CUPS come sistema di stampa.
- Non prevede l'uso di ACL Posix o di extended attributes sul file system
Sezione globale di smb.conf
In questa configurazione c'e` un baco logico grave che riguarda la funzione add user to group in quanto cosi` come e` imposta adesso essa aggiunge si` l'utente al gruppo, ma lo rimuove da tutti gli altri gruppi escluso quello primario. Ovviamente il funzionamento NON dovrebbe essere questo. Sempre sulla gestione dei gruppi, manca la funzione remove user from group, che intendo mettere a posto quando avro` messo a posto la funzione add user to group.
Questa configurazione e` fatta per CUPS con i driver di stampa caricati sul server e con la gestione nativa del protocollo di stampa di WIN 2000/XP. La gestione delle stampanti e` una delle cose piu` complesse, quindi e` meglio leggere ulteriore documentazione per capire cosa e` meglio a seconda della situazione. In questa config il path per i driver di stampa e` default, pero` nell'installazione standard solo root puo` aggiungere drivers. Vedi ../ConfPrinters.
In questa configurazione i roaming profiles sono disattivati per default dal comando logon path=, il che mi sembra la cosa piu` sensata a meno che tutta la struttura dei client non sia stata accuratamente pianificata per usarli.
[global] panic action = /usr/share/samba/panic-action %d #username map = /etc/samba/usermap #Binding interfacce, opzioni di rete e subnet servite interfaces = eth0,lo bind interfaces only = Yes # smb ports = 139 445 socket options = IPTOS_LOWDELAY TCP_NODELAY #hosts allow = 10.0.0. 192.168.0. name resolve order = wins bcast hosts dns proxy = No #Comandi relativi al dominio e al browsing workgroup = KURGAN server string = %h server (Samba %v) encrypt passwords = true passdb backend = tdbsam domain logons = Yes os level = 64 preferred master = Yes domain master = Yes wins support = Yes time server = Yes logon script = logon.bat # logon path = \\casa\profiles\%U logon path = #logon drive = Z: enable privileges = yes # Script per interoperare con utenti e gruppi Linux # Gestione cambio password Linux assieme a Samba passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . # mettere a YES questi due se si vuole che le password di shell cambino con quelle di Samba. unix password sync=no pam password change=no # Gestione utenti, machine accounts e gruppi da NT user Manager add machine script = /usr/sbin/useradd -g 65534 -d /dev/null -s /bin/false '%u' add user script = /usr/sbin/useradd -m '%u' delete user script = /usr/sbin/userdel -r '%u' add group script = /usr/sbin/groupadd '%g' delete group script = /usr/sbin/groupdel '%g' add user to group script = /usr/sbin/usermod -G '%g' '%u' # Logging syslog = 0 max log size = 1000 utmp = yes # Printing con CUPS (root e gli utenti con il privilegio SePrintOperatorPrivilege possono gestire le stampanti) printing = cups printcap name = cups cups options = "raw" lpq cache time = 3 use client driver = No disable spoolss = No show add printer wizard = yes
Sezione shares necessari di smb.conf
Qui sono elencati gli shares minimi necessari a fare funzionare la configurazione sopra indicata. Si tratta degli share del logon service (che contiene i logon script e anche, se ci sono, le policy), delle stampanti, dei drivers di stampa, delle home directory, e del "deposito" dei roaming profiles, anche se nella config precedente sono disattivati e quindi non e` necessario configurarli nemmeno qui.
Le homes sono configurate per essere leggibili soltanto dall'utente e non dal gruppo, quindi per la massima riservatezza.
Lo share dei roaming profiles e` configurato basandosi su un paio di test fatti tempo fa ma sicuramente non e` perfetto. Se fosse necessario usare i profili e` meglio rivedere tutto e fare ulteriori test.
La directory che contiene i drivers di stampa magari va chownata al gruppo users e resa scrivibile dallo stesso, se si vuole che gli utenti che non sono root riescano a gestire un po` meglio l'aggiunta di stampanti al server.
[netlogon] comment = Logon Service path = /ud0/netlogon guest ok = Yes browseable = No locking = No [profiles] comment = Roaming Profiles (NT/2000/XP) path = /ud0/profiles read only = No guest ok = no create mask = 0711 directory mask = 0700 map system = Yes map hidden = Yes #[profiles] # comment = Profile Share # path = /var/lib/samba/profiles # read only = No # profile acls = Yes [print$] comment = Printer drivers path = /var/lib/samba/printers read only = Yes guest ok = yes write list = @ntadmins,root browseable = no map hidden = no map system = no map archive = no force create mode = 0664 force directory mode = 0775 [printers] comment = Shared Printers printable = yes path = /tmp browseable = no guest ok = yes public = yes read only = yes writable = no [homes] comment = Home Directories valid users = %S read only = No browseable = No create mask = 0711 directory mask = 0700 map system = Yes map hidden = Yes dos filemode = Yes
Esempio di share per un gruppo
Questo e` un esempio di uno share condiviso in RW all'interno di un gruppo e non accessibile al di fuori. In questo esempio si presume che non si usino le ACL Posix. La directory che viene condivisa deve essere owned dal gruppo ed avere il bit SGID settato. I comandi sono:
chgrp <gruppo> directory chmod ug+rwx directory chmod g+s directory
Oppure, per farla semplice:
chgrp <gruppo> directory chmod 2770 directory
Queste impostazioni vanno fatte prima di iniziare a riempire la directory di files e directory, in modo che il bit SGID si propaghi alle subdirectory quando si vanno a creare le stesse. NOTA IMPORTANTE: Per evitare che il logon script fallisca quando mappa un disco al quale l'utente non ha diritto di accesso, è sufficiente fare un chmod o+x della directory principale dello share. Così facendo lo share può essere mappato senza problemi ma il contenuto resta inaccessibile come deve essere.
[documenti] comment = Disco documenti condivisi path = /ud0/documenti read only = No create mask = 0771 directory mask = 0771 force directory mode = 0770 force create mode = 0060 map system = Yes map hidden = Yes map archive = Yes dos filemode = Yes dos filetimes = Yes
Qui uso vari trucchi per i diritti di scrittura/lettura/esecuzione, che si applicano solo se non si usano le ACL posix. Nel caso di ACL posix, vedere le pagine relative.
- "create mask 0771" perche` user e gruppo possano creare files con qualsiasi permesso per se` stessi, piu` "x" per others che e` usato da map hidden.
- "directory mask 0771" come sopra, probabilmente potrei fare 0770.
- "force directory mode 0770" perche` voglio obbligare le directory ad essere gestite (rwx) sia dagli utenti che dal gruppo, altrimenti un utente con una umask stronza scrive directory non leggibili/modifcabili/traversabili dal gruppo, ed e` male, visto che lo share e`per un gruppo.
- "force create mode 0060" serve per garantire che il gruppo avra` sempre accesso RW ai files, tutavia permette al "map hidden,system,archive" di funzionare in virtu` dei bit X dei files lasciati liberi e non forzati, inoltre forzare "w" al gruppo in congiunzione con "dos filemode=yes" consente di rendere un file "logicamente" read only da Windows, pur mantenendo la possibilita` di scriverci sopra a livello di Linux (W per il gruppo, quindi W anche per qualsiasi utente del gruppo) il che permette di togliere l'attributo "Read Only" dopo averlo messo. (vedi il man relativo a "dos filemode=yes").