- 0 Discussione
-
Samba pdc
Questa voce è solo un abbozzo (stub). Se puoi, contribuisci adesso a migliorarla secondo le convenzioni di Wikipedia.
Per l'elenco completo degli stub, vedi la relativa categoria. Se appropriato, utilizza uno degli altri template stub più specifici
Indice |
Installazione sistema Debian
Modifica
- Procurarsi la ISO di un sistema Debian Linux 5.0 netinstall http://debian.fastbull.org/debian-cd/5.0.2/i386/iso-cd/debian-502-i386-netinst.iso
- Installare il sistema base senza nessuna estensione , volendo si puo' accettare il setup di partizionamento del disco con LVM ( trattato a parte in questo articolo)
Installazione di Samba , LDAP e smbldap-tools
Modifica
Installare i seguenti pacchetti , dopo aver aggiornato il sistema con
apt-get update apt-get upgrade
apt-get install samba slapd ldap-utils libnss-ldap libpam-ldap openssh-server
Abbiamo cura di dotare il nostro host di un indirizzo IP statico e di far partire il server ssh
nano -w /etc/network/interfaces auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255 network 192.168.0.0 gateway 192.168.0.1
A questo punto possiamo continuare il nostro setup interamente dalla shell remota con putty
Configurazione LDAP
Modifica
Ldap è di una semplicità disarmante da configurare sotto Debian . L'unica cosa che dobbiamo fare è dare il comando
dpkg-reconfigure slapd
Un volta impartito il comando verremo guidati tramite un wizard attraverso i vari settaggi . Inserire nodomain come dominio principale e la password desiderata per questo dominio
Il passo successivo della configurazione di LDAP e l'inclusione dello schema SAMBA di LDAP .
Per fare questo dobbiamo copiare il file presente in /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz nella directory /etc/ldap/schema/
cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/ gunzip samba.schema.gz
Cambiamo ora i parametri del file di configurazione /etc/slapd.conf
nano -w slapd.conf include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/samba.schema
Per ora abbiamo finito con LDAP , metteremo mano successivamente ad alcuni file di configurazione .
Facciamo ripartire il demone slapd e fermiamo eventuali processi smb e nmb con
/etc/init.d/slapd restart & /etc/init.d/samba stop
Configurazione Samba
Modifica
Copiamo il file originale smb.conf in smb.conf.save e riscriviamo completamente il file di configurazione
cd /etc/samba mv smb.conf smb.conf.save nano -w smb.conf
[global]
workgroup = MYDOMAIN
netbios name = MYDOMAIN
server string = %h PDC (%v)
interfaces = eth0, lo
bind interfaces only = Yes
passdb backend = ldapsam:ldap://127.0.0.1
enable privileges = yes
log level = 0
log file = /var/log/samba/%m
max log size = 50
smb ports = 139 445
hide dot files = yes
name resolve order = wins host dns bcast
time server = Yes
guest account = guest
show add printer wizard = No
add user script = /bin/netuseradd -a -m '%u'
delete user script = /bin/netuserdel '%u'
add group script = /bin/netgroupadd -a -p '%g'
delete group script = /bin/netgroupdel '%g'
add user to group script = /bin/netgroupmod -m '%u' '%g'
delete user from group script = /bin/netgroupmod -x '%u' '%g'
# Disabilitare quando a fare il join al dominio è un Windows NT
set primary group script = /bin/netusermod -g '%g' '%u'
add machine script = /bin/netuseradd -w '%u'
#unix password sync = yes
passwd chat debug = false
passwd program = /usr/bin/netpasswd %u
passwd chat = *new password*%n\n *new password*%n\n *changed*
# Profili Roaming
#logon path = \\%L\profiles\%U
logon path =
logon home =
logon script = netlogon.bat
domain logons = Yes
domain master = yes
preferred master = Yes
os level = 65
wins support = Yes
# LDAP
ldap suffix = dc=nodomain
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap admin dn = cn=admin,dc=nodomain
idmap backend = ldap:ldap://127.0.0.1
idmap uid = 10000-20000
idmap gid = 10000-20000
ldap passwd sync = Yes
#ldap ssl = start tls
ldap ssl = no
map acl inherit = Yes
#printing = cups
lock directory = /var/lock/samba
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
security = user
template shell = /bin/false
[public]
comment = "L: - Cartella Pubblica Utenti"
path = /home/samba/public
writeable = yes
browseable = Yes
hide unreadable = Yes
directory mask = 0775
create mask = 0775
force create mode = 0775
force directory mode = 6775
security mask = 0777
force security mode = 0
directory security mask = 0777
force directory security mode = 0
#inherit acls = yes
#inherit permissions = yes
vfs objects = recycle
recycle:repository = .cestino/%U
recycle:keeptree = yes
recycle:touch = yes
recycle:versions= yes
recycle:exclude = *.tmp *.bak ~$*
recycle:exclude_dir = /tmp /temp /cache
recycle:noversions = *.doc *.xls *.ppt
[homes]
comment = "K: - Cartella privata di %U, %u"
writeable = yes
create mask = 0700
directory mask = 0775
browseable = No
force user = %U
vfs objects = recycle
recycle:repository = .cestino
recycle:keeptree = yes
recycle:touch = yes
recycle:versions= yes
recycle:exclude = *.tmp *.bak ~$*
recycle:exclude_dir = /tmp /temp /cache
recycle:noversions = *.doc *.xls *.ppte_dir = /tmp /temp /cache
recycle:noversions = *.doc *.xls *.ppt
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = Yes
locking = No
browseable = no
available = yes
[profiles]
comment = Profile Share
path = /home/samba/profiles
writeable = yes
profile acls = Yes
browsable = No
Vediamo riga per riga cosa significano le entries appena scritte :
sezione [global]
Modifica
workgroup = il nome del tuo gruppo di lavoro e nel nostro caso del dominio
netbios name = il nome dell'host in cui abbiamo installato samba PDC
server string = una stringa che aggiunge nome host %h e versione di samba %v
interfaces = interfacce in acolto
bind interfaces only = in ascolto solo nelle interfacce selezionate
passdb backend = dove attingere al database degli utenti (LDAP!)
enable privileges = supporto ai privilegi di Windows , per avere utenti e admins
log level = verbosità dei log
log file = posizione dei file di log
max log size = fino a quanto puo' crescere il log ( in kilobytes )
smb ports = porte in ascolto 139 smb 445 nmb
hide dot files = nascondere i file . di unix
name resolve order = ordine di risoluzione dei nomi della rete
time server = supporto alla sincronizzazione dell'ora degli host windows
guest account = utente per l'account guest
show add printer wizard = supporto per il wizzard di aggiunta di stampante di rete
add user script = aggiungi utente da windows
delete user script = cancella utente da windows
add group script = aggiungi gruppo da windows
delete group script = cancella gruppo da windows
add user to group script = aggiungi utente a gruppo da Win
delete user from group script = canc utente da grp da win
set primary group script = settare gruppo principale da win
add machine script = aggiungi workstation da win
unix password sync = sincronia di utenti smb e utenti unix (non va con pwd a tempo)
passwd chat debug = verbosità di debug durante l'handshake di pawwd
passwd program = programma per il settaggio passwd
passwd chat = sequenza di chat per pwd
logon path = riempire se vogliamo i roaming profiles
logon home = riempire se vogliamo i roaming profiles
logon script = script di logon
domain logons = attivare il supporto al logon di dominio
domain master = il nostro server è master domain
preferred master = è il master preferito
os level = forza l'elezione e domain master nella rete smb
wins support = è server wins
ldap suffix = domain della directory ldap
ldap user suffix = suffisso utenti directory ldap
ldap machine suffix = suffisso macchine directory ldap
ldap group suffix = suffisso gruppi directory ldap
ldap idmap suffix = suffisso mappatura uid e gid unix con SID samba dir ldap
ldap admin dn = amministratore directory ldap
idmap backend = dove recuperare i valori idmap ( su LDAP ovvio !)
idmap uid = range di valori idmap uid
idmap gid = range di valori idmap gid
ldap passwd sync = permette cambio passwd via logon di win quando sta scadendo
ldap ssl = ldap è protetta da crittografia ?
map acl inherit = permette l'estensione ai permessi posix acl
printing = backend di stampa
lock directory = file di lock delle directory
winbind use default domain = parametri di winbind , utili se vogliamo unire samba ad un windows server domain controller
winbind enum users = vedi sopra
winbind enum groups = vedi sopra
security = spiegato molto bene qui si potrebbe usare security = domain in un ambiente puro di windows domain , per i nostri scopi va bene anche user
template shell = in ambito winbind fornisce una shell agli utenti samba
Modifica
[public]
comment = un commento da appendere alla directory condivisa
path = il path unix della directory condivisa
writeable = scrivibile ?
browseable = sfogliabile ?
hide unreadable = nascondere i files/directory a chi non ha privilegi ?
directory mask = i permessi di default della directory , qui impostiamo larghi a 0777
create mask = anche qui stiamo larghi con i permessi di creazione dei nuovi file impostando a 0775
force create mode = forziamo la ceazione di nuovi file da parte di hosts windows connessi alla share samba in 0775
force directory mode = forziamo la creazione di nuove directory da parte di hosts windwos connessi allo share samba in 6775
security mask =regola la possibilità di cambiare i permessi ai files qui siamo al valore di default 0777
force security mode = anche qui lasciamo il default a 0 . E' essenzialmente un parametro per il controllo della modifica dei permessi sui file ( o almeno così mi pare di aver capito ) "force security mode" parameter may be treated as a set of bits that, when modifying security on a file, the user has always set to be 'on'.
directory security mask = quali bit della maschera puo' cambiare l'utente windows dal pannello dei permessi dei files di windows. Qui permettiamo tutto con 0777
force directory security mode = analogo a force security mode , ma relativo alle directories 0
inherit acls = parametro ridondante per l'attivazione dei permessi estesi regolati dalle acl posix
inherit permissions = come sopra
vfs objects = supporto a oggetti di virtual file system (cestino su Unix)
recycle:repository = parametri relativi alla creazione di un cestino di rete per i files cancellati
recycle:keeptree = come sopra
recycle:touch = come sopra
recycle:versions= come sopra
recycle:exclude = files da escludere dal cestino
recycle:exclude_dir = directories da escludere dal cestino
recycle:noversions = non includere le versioning dei file di MS office
[homes]
comment = commento da appendere alla directory condivisa
writeable = scrivibile ?
create mask = permessi di default alla creazione di un file qui mettiamo 700 ( la home è solo nostra)
directory mask = permessi di directory qui scegliamo 775
browseable = sfogliabile ?
force user = forziamo solo l'user %U che si logga
vfs objects = etc etc vedi sopra sul cestino
[netlogon] share speciale dove risiede il file netlogon.bat per mappare le unità di rete appena si entra nel dominio
comment = descrizione
path = il path unix della directory di netlogon
guest ok = permetiamo anche utenti guest con Yes
'locking = non blocchiamo la directory ad un solo accesso
browseable = sfogliabile ?
available = disponibile ?
[profiles] share speciale per lo store dei profili degli utenti del dominio
comment = Un commento per la directory
path = il path unix della directory dei profili
writeable = scrivibile
profile acls = supporto alle acl posix ?
browsable = sfogliabile?
scorciatoie per la vita facile del sysadmin
Modifica
Abbiamo settato correttamente il nostro file samba e siamo a buon punto sul fronte delle condivizione di rete.
Dobbiamo inoltre creare delle scorciatoie per i nostri scriptini di smbldap-tools . Mica vorremo consumare i nostri polpastrelli su quelle tastieracce.
cd /bin ln -sf /usr/sbin/smbldap-groupadd netgroupadd ln -sf /usr/sbin/smbldap-groupdel netgroupdel ln -sf /usr/sbin/smbldap-groupmod netgroupmod ln -sf /usr/sbin/smbldap-useradd netuseradd ln -sf /usr/sbin/smbldap-userdel netuserdel ln -sf /usr/sbin/smbldap-usermod netusermod
La nostra vita ora è più facile.
configurazione di smbldap-tools
Modifica
Passiamo ora a configurare smbldap-tools.
Questo simpatico set di perl script ci faciliterà nel compito dell'inserimento di gruppi e utenti nelle directory di ldap.
Dianzi abbiamo creato dei link simbolici in /bin per facilitare la digitazione dei comandi ora andiamo ad editare i files di configurazione per il corretto funzionamento.
Otteniamo per prima cosa il SID della nostra macchina con :
net getlocalsid
Annotiamo il risultato di questo comando che dovrebbe essere qualcosa del genere :
S-1-5-21-481267281-1072721385-2635622241
Mettiamo mano al file di configurazione /etc/smbldap-tools/smbldap.conf
cd /etc/smbldap-tools
nano -w smbldap.conf
######################
# General Configuration
#
######################
SID="inserire il valore risultante da net getlocalsid"
sambaDomain="MYDOMAIN"
######################
#
# LDAP Configuration
#
######################
slaveLDAP="127.0.0.1"
slavePort="389"
masterLDAP="127.0.0.1"
masterPort="389"
ldapTLS="0"
verify="require"
cafile="/etc/smbldap-tools/ca.pem"
clientcert="/etc/smbldap-tools/smbldap-tools.pem"
clientkey="/etc/smbldap-tools/smbldap-tools.key"
suffix="dc=nodomain"
usersdn="ou=Users,${suffix}"
computersdn="ou=Computers,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
scope="sub"
hash_encrypt="CRYPT"
crypt_salt_format="%s"
######################
#
# Unix Accounts Configuration
#
######################
userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="System User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
defaultMaxPasswordAge="0"
######################
#
# SAMBA Configuration
#
######################
userSmbHome="\\MYDOMAIN\%U"
userProfile="\\MYDOMAIN\profiles\%U"
#userHomeDrive="H:"
userScript="netlogon.bat"
##########################################
#
# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)
#
##########################################
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"
# comment out the following line to get rid of the default banner
# no_banner="1"