Product SiteDocumentation Site

8.9. Altres configuracions: sincronització de temps, registres, accés compartit…

Els molts elements enumerats en aquesta secció són bons de saber per a qualsevol que vulgui dominar tots els aspectes de la configuració del sistema GNU/Linux. No obstant això, són tractats breument i sovint us adreçaran cap a la documentació.

8.9.1. Fus horari

La zona horària, configurada durant la instal·lació inicial, és un element de configuració per al paquet tzdata. Per modificar-la, utilitzeu l'ordre dpkg-reconfigure tzdata, que permet triar de manera interactiva la zona horària que s'utilitzarà. La configuració s'emmagatzema al fitxer /etc/timezone. Addicionalment, /etc/localtime esdevé un enllaç simbòlic cap al fitxer corresponent de /usr/share/zoneinfo; el fitxer que conté les regles que regeixen les dates en què l'horari d'estiu està actiu (DST), per als països que l'utilitzen.
Quan calgui canviar temporalment la zona horària, utilitzeu la variable d'entorn TZ, que té prioritat sobre el valor predeterminat del sistema configurat:
$ date
Thu Sep  2 22:29:48 CEST 2021
$ TZ="Pacific/Honolulu" date
Thu 02 Sep 2021 10:31:01 AM HST

8.9.2. Sincronització del temps

La sincronització temporal, que pot semblar supèrflua en un ordinador, és molt important en una xarxa. Atès que els usuaris no tenen permisos que els permetin modificar la data i l'hora, és important que aquesta informació sigui precisa per a evitar confusions. A més, tenir tots els ordinadors sincronitzats en una xarxa permet una millor referència creuada de la informació dels registres en diferents màquines. Per tant, en cas d'atac, és més fàcil reconstruir la seqüència cronològica d'accions en les diferents màquines implicades en el compromís. Les dades recollides en diverses màquines amb finalitats estadístiques no tindran molt sentit si no estan sincronitzades.

8.9.2.1. Per a estacions de treball

Com que les estacions de treball es reinicien regularment (encara que només sigui per estalviar energia), n'hi ha prou amb sincronitzar-les amb NTP a l'arrencada. Per fer-ho, simplement instal·leu el paquet ntpdate. Podeu canviar si cal el servidor NTP utilitzat modificant el fitxer /etc/default/ntpdate.

8.9.2.2. Per a servidors

Els servidors rarament es reinicien, i és molt important que el seu temps de sistema sigui correcte. Per mantenir permanentment el temps correcte, instal·leu un servidor NTP local, un servei ofert al paquet ntp. En la seva configuració per defecte, el servidor se sincronitzarà amb pool.ntp.org i proporcionarà el temps en resposta a les peticions procedents de la xarxa local. Podeu configurar-ho editant el fitxer /etc/ntp.conf; l'alteració més important és el servidor NTP al qual es refereix. Si la xarxa té molts servidors, pot ser interessant tenir un servidor horari local que sincronitzi amb els servidors públics i que sigui utilitzat com a font d'hora pels altres servidors de la xarxa.

8.9.3. Rotació de fitxers de registre

Els fitxers de registre poden créixer, ràpidament, i és necessari arxivar-los. L'esquema més comú és un arxivat de rotació: el fitxer de registre s'arxiva regularment, i només es mantenen els últims X arxius. logrotate, el programa responsable d'aquestes rotacions, segueix les directives donades al fitxer /etc/logrotate.conf i tots els fitxers al directori /etc/logrotate.d/. L'administrador pot modificar aquests fitxers si desitja adaptar la política de rotació de registres definida per Debian. La pàgina man logrotate(1) descriu totes les opcions disponibles en aquests fitxers de configuració. És possible que vulgueu augmentar el nombre de fitxers retinguts en la rotació del registre, o moure els fitxers de registre a un directori específic dedicat a arxivar-los en lloc de suprimir-los. També els podeu enviar per correu electrònic per arxivar-los en un altre lloc.
El programa logrotate és executat diàriament pel programa de planificació cron (descrit a Secció 9.7, «Planificació de tasques amb cron i atd»).

8.9.4. Compartir els permisos d'administrador

Sovint diversos administradors treballen a la mateixa xarxa. No és molt elegant compartir les contrasenyes de l'usuari «root», obrint-se la porta de l'abús a causa de l'anonimat que crea aquesta compartició. La solució a aquest problema és el programa sudo, que permet a certs usuaris executar certes ordres amb drets especials. En el cas d'ús més comú, sudo permet a un usuari de confiança executar qualsevol ordre com a «root». Per fer-ho, l'usuari simplement executa l'ordre sudo command i s'autentica utilitzant la pròpia contrasenya personal.
Quan s'instal·la, el paquet sudo dóna tots els permisos de «root» als membres del grup Unix sudo. Per delegar altres permisos, l'administrador pot utilitzar l'ordre visudo, que els permet modificar el fitxer de configuració /etc/sudoers (aquí, de nou, s'invocarà l'editor vi, o qualsevol altre editor indicat a la variable d'entorn EDITOR). Alternativament es podrien posar regles en fitxers petits a /etc/sudoers.d/ sempre que aquest directori s'inclogui a /etc/sudoers via @includedir /etc/sudoers.d, que és el predeterminat per a Debian. Afegir una línia amb usuari ALL=(ALL) ALL permet a l'usuari en qüestió executar qualsevol ordre com a «root».
Configuracions més sofisticades permeten l'autorització de només ordres específiques a usuaris específics. Tots els detalls de les diferents possibilitats es donen a la pàgina del manual de sudoers(5).

8.9.5. Llista de punts de muntatge

El fitxer /etc/fstab proporciona una llista de tots els muntatges possibles que es produeixen automàticament a l'arrencada, o manualment per a dispositius d'emmagatzematge extraïbles. Cada punt de muntatge és descrit per una línia amb diversos camps separats per espais:
  • sistema de fitxers: això indica on es troba el sistema de fitxers que s'ha de muntar, pot ser un dispositiu local (partició de disc dur, CD-ROM) o un sistema de fitxers remot (com ara NFS o fins i tot SSHFS).
    Aquest camp se substitueix freqüentment amb l'identificador (“ID”) únic del sistema de fitxers (que podeu determinar amb blkid dispositiu) prefixat amb UUID=. Això protegeix contra un canvi en el nom del dispositiu en cas d'afegir o treure de discos, o si els discs són detectats en un ordre diferent. Secció 8.8.1, «Identificació dels discos» cobreix aquest punt amb més detall.
  • punt de muntatge: aquesta és la ubicació del sistema de fitxers local on es muntarà el dispositiu, el sistema remot o la partició.
  • tipus: aquest camp defineix el sistema de fitxers utilitzat en el dispositiu muntat. ext4, ext3, vfat, ntfs, btrfs, xfs en són alguns exemples.
    Hi ha disponible una llista completa dels sistemes de fitxers coneguts a la pàgina del manual de mount(8). El valor especial swap és per a les particions d'intercanvi; el valor especial auto li indica a mount que detecti automàticament el sistema de fitxers (fet que és especialment útil per als lectors de disc i les claus USB, ja que cadascun podria tenir un sistema de fitxers diferent);
  • opcions: n'hi ha moltes, depenent del sistema de fitxers, i estan documentades a la pàgina man de mount. Les més comunes són
    • rw o ro que signifiquen, respectivament, que el dispositiu es muntarà amb permisos de lectura/escriptura o de només lectura.
    • noauto desactiva el muntatge automàtic a l'arrencada.
    • nofail permet que l'arrencada continuï fins i tot quan el dispositiu no estigui present. Assegureu-vos de posar aquesta opció per a les unitats externes que podrien estar desconnectades quan arrenqueu, perquè systemd realment garanteix que tots els punts de muntatge que s'han de muntar automàticament es muntin realment abans de permetre que el procés d'arrencada continuï fins al final. Tingueu en compte que podeu combinar això amb x-systemd.device-timeout=5s per dir-li a systemd que no esperi més de 5 segons perquè el dispositiu aparegui (vegeu systemd.mount(5)).
    • user autoritza a tots els usuaris a muntar aquest sistema de fitxers (una operació que d'altra manera estaria restringida a l'usuari «root»).
    • defaults significa el grup d'opcions per defecte: rw, suid, dev, exec, auto, nouser i async, cadascuna de les quals es pot desactivar individualment després de defaults afegint nosuid, nodev etc. i així blocar suid, dev, etc. Afegir l'opció user la reactiva, ja que defaults inclou nouser.
  • dump: aquest camp gairebé sempre està establert a 0 i és una mena de relíquia. Quan és més gran que zero, indica a l'eina dump que la partició conté dades de que s'han de fer còpies de seguretat amb freqüència. L'eina només admet sistemes de fitxers Ext2/3/4 i usarà el valor aquest valor quan s'executi mitjançant dump -W o dump -w per determinar de quines particions s'han de fer còpies de seguretat. Considereu els exemples de /usr/share/doc/dump/examples/ si voleu utilitzar aquesta característica. Però hi ha millors alternatives per fer una còpies de seguretat d'un sistema de fitxers, com fsarchiver.
  • pass: aquest últim camp indica si la integritat del sistema de fitxers s'ha de comprovar a l'arrencada, i en quina ordre s'ha d'executar aquesta comprovació. Si és 0, no es fa cap comprovació. El sistema de fitxers arrel ha de tenir el valor 1, mentre que altres sistemes de fitxers permanents tenen el valor 2.

Exemple 8.5. Exemple de fitxer /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system>                           <mount point>   <type>      <options>         <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=7a250fb8-c16d-4a4e-9808-ec08ae92b6c6 /               ext4        errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=13f367ae-dbaf-40ed-85c0-4072a2ebe426 none            swap        sw                0       0
/dev/sr0                                  /media/cdrom0   udf,iso9660 user,noauto       0       0
/dev/fd0                                  /media/floppy   auto        rw,user,noauto    0       0
arrakis:/shared                           /shared         nfs         defaults          0       0
L'última entrada de l'exemple correspon a un sistema de fitxers de xarxa (NFS): el directori /shared/ del servidor arrakis està muntat a /shared/ a la màquina local.
El format del fitxer /etc/fstab està documentat a la pàgina del manual de fstab(5).

8.9.6. locate i updatedb

L'ordre locate pot trobar la ubicació d'un fitxer quan només se'n coneix una part del nom. Dóna un resultat gairebé instantàniament, ja que consulta una base de dades que emmagatzema la ubicació de tots els fitxers del sistema; aquesta base de dades s'actualitza diàriament amb l'ordre updatedb. Hi ha múltiples implementacions de l'ordre locate i mlocate és el seleccionat per Debian per al seu sistema estàndard. Si voleu considerar una alternativa, podeu provar plocate que ofereix les mateixes opcions de línia de comandes i es pot considerar com un equivalent.
locate és prou intel·ligent com per retornar només els fitxers que són accessibles a l'usuari executant l'ordre tot i que utilitza una base de dades amb informació de tots els fitxers del sistema (ja que la seva implementació d'updatedb funciona amb permisos de «root»). Per seguretat addicional, l'administrador pot utilitzar PRUNEDPATHS a /etc/updatedb.conf per evitar indexar alguns directoris.