Autor: | Antoni Soto i Riera |
---|---|
Data: | 20 de setembre de 2006 |
Llicència: | Aquest document es distribueix sota la llicència Reconeixement-Compartirigual de Creative Commons. |
Codi font: | El fitxer DebianETSEIB.txt conté el codi font d'aquest document en sintaxi reStructuredText. |
Resum: | Aquest document descriu la configuració experimental d'un ordinador per tal que funcioni a les aules informàtiques de l'ETSEIB. |
Per tal d'assolir aquest objectius s'han pres les decisions següents:
La instal·lació de Debian GNU/Linux s'ha fet mitjançant la xarxa. Només han estat necessaris tres disquets: boot, root i net-drivers. Veieu la Guia d'instal·lació de Debian GNU/Linux.
La instal·lació per xarxa, un cop configurada la targeta de xarxa, intenta obtenir l'adreça IP de la màquina mitjançant DHCP. En el tram de xarxa on s'ha fet l'experiment no hi havia cap servidor de DHCP i va caldre configurar la xarxa amb una adreça IP fixa. Un cop fet això, el procés d'instal·lació continuà sense problemes. Cal destacar que les aules de l'ETSEIB disposen d'un servidor de DHCP i que, per tant, no caldrà assignar-los-hi una adreça IP fixa.
La llista de paquets instal·lats en la màquina experimental s'obté executant la comanda següent:
dpkg --get-selections > dpkg_get-selections.txt
Podeu consultar la llista mirant el fitxer dpkg_get-selections.txt.
Per tal d'aconseguir que una altra màquina instal·li aquests paquets caldrà executar:
dkpg --set-selections < dpkg_get-selections.txt
Un cop acabat el procés d'instal·lació s'ha configurat un servidor de DHCP per tal d'experimentar l'assignació dinàmica d'una adreça IP. La configuració actual de /etc/network/interfaces és la següent:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
Amb aquesta configuració la màquina obté correctament l'adreça IP del servidor de DHCP.
Essencialment s'ha seguit la documentació sobre winbind que podem trobar al projecte samba:
Configurar el servei de resolució de noms [3] de manera que usi també winbind. Així, el fitxer /etc/nsswitch.conf queda com següeix:
# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat winbind group: compat winbind shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
Configurar /etc/samba/smb.conf amb els paràmetres necessaris per winbind:
[global] # general options workgroup = EST-ETSEIB # use uids from 10000 to 20000 for domain users idmap uid = 10000-20000 # use gids from 10000 to 20000 for domain groups idmap gid = 10000-20000 # allow enumeration of winbind users and groups winbind enum users = yes winbind enum groups = yes # give winbind users a real shell (only needed if they have telnet access) template homedir = /home/%U template shell = /bin/bash winbind use default domain = yes
Donar d'alta la màquina com a membre del domini que serveix el PDC. Com que el PDC de l'ETSEIB usa ADS cal seguir les instruccions sobre com esdevenir membre d'un domini gestionat per un PDC amb ADS.
Caldrà afegir al fitxer de configuració de samba /etc/samba/smb.conf informació sobre Kerberos de manera que el fitxer quedarà com segueix:
[global] # general options workgroup = EST-ETSEIB # use uids from 10000 to 20000 for domain users idmap uid = 10000-20000 # use gids from 10000 to 20000 for domain groups idmap gid = 10000-20000 # allow enumeration of winbind users and groups winbind enum users = yes winbind enum groups = yes # give winbind users a real shell (only needed if they have telnet access) template homedir = /home/%U template shell = /bin/bash winbind use default domain = yes # Active directory joining # "ads server" is only necessary if your kdc # can't be located using /etc/krb5.conf -- JamesSpooner # # Note that more recent Samba versions have renamed "ads server" # to "password server", so if /var/log/messages reports # 'Unknown parameter encountered: "ads server"' on restart, # change 'ads' to 'password' -- ChetHosey # # ads server = test1.thinclient.test.org security = ads # encrypt passwords = yes is now default in Samba3 -- Enigma encrypt passwords = yes realm = EST-ETSEIB.LOCAL # this handles the "ads server = " directive as well -- Enigma password server = yang.upc.es
També cal modificar el fitxer de configuració de Kerberos, /etc/krb5.conf, que quedarà com segueix:
[libdefaults] default_realm = EST-ETSEIB.LOCAL [realms] EST-ETSEIB.LOCAL = { kdc = yang.upc.es } [domain_realms] .kerberos.server = EST-ETSEIB.LOCAL
Finalment, per tal de donar d'alta la màquina al domini cal executar les comandes següents:
kinit administrador@EST-ETSEIB.LOCAL net ads join -U administrador
on administrador s'ha de substituir per un compte en el PDC que tingui permisos per donar d'alta màquines al domini.
Cal re-iniciar el dimoni [4] de winbind fent
/etc/init.d/winbind restart
A partir d'aquest moment podem consultar informació sobre els usuaris i els grups del domini que serveix el PDC amb les comandes wbinfo i getent.
Configurar PAM modificant els fitxers del directori /etc/pam.d de manera que el seu contingut sigui:
/etc/pam.d/common-account:
# # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # account sufficient pam_winbind.so account required pam_unix.so
/etc/pam.d/common-auth:
# # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth required pam_mount.so auth sufficient pam_winbind.so use_first_pass auth required pam_unix.so nullok_secure use_first_pass
/etc/pam.d/common-session:
# # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). The default is pam_unix. # session required pam_unix.so session optional pam_mount.so use_first_pass
Aquesta configuració inclou també la de pam_mount que afecta al directori /etc/pam.d. Veieu la secció Configuració de pam_mount.
A més de la configuració dels fitxers del directori /etc/pam.d/ descrita al punt 5 de la secció Configuració de winbind, cal modificar els fitxers següents com s'indica al document /usr/share/doc/libpam-mount/README.Debian.gz:
En el fitxer /etc/login.defs cal substituir la línia 298
CLOSE_SESSIONS no
per la següent:
CLOSE_SESSIONS yes
En el fitxer /etc/security/pam_mount.conf cal substituir la línia 197
# volume * smb viper & /home/& uid=&,gid=&,dmask=0750,workgroup=WINDOWS_DOMAIN - -
per la següent:
volume * smb yang.upc.es &$ /home/& uid=&,gid=&,dmask=0750,workgroup=EST-ETSEIB - -
Configurant un sistema operatiu Debian GNU/Linux, versió 3.1 (sarge), com s'indica en aquest document hem aconseguit que qualsevol usuari d'un domini servit per un PDC pugui entrar en el sistema [2] com si es tractés d'un usuari nadiu UNIX. Això implica que l'autenticació de l'usuari es fa contra el PDC i un cop autenticat es munta en el directori home de l'usuari el recurs corresponent exportat pel PDC. En sortir del sistema [5] el recurs es desmunta automàticament.
Val a dir que s'ha procurat minimitzar els canvis respecte a la configuració per defecte de Debian. Això facilitarà les actualitzacions posteriors del sistema.
Una altra característica interessant d'aquesta configuració és la seva genericitat, en el sentit que no hi cap paràmetre específic de la màquina concreta en la qual s'ha fet la instal·lació experimental. Això té com a conseqüència que la imatge de la instal·lació provisional hauria de ser igualment vàlida per a qualsevol altra màquina.
Estudiar si és possible canviar la contrasenya en el PDC usant passwd. De moment cal fer-ho amb la comanda següent:
smbpasswd -r yang.upc.es
Estudiar per què xdm avorta l'execució amb la configuració de PAM descrita al punt 5 de la secció Configuració de winbind. Ara per ara s'usa wdm com a display manager.
[1] | Window manager. |
[2] | (1, 2) Login. |
[3] | Name Service Switch. |
[4] | Daemon. |
[5] | Logout. |