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

The timezone, configured during initial installation, is a configuration item for the tzdata package. To modify it, use the dpkg-reconfigure tzdata command, which allows you to choose the timezone to be used in an interactive manner. Its configuration is stored in the /etc/timezone file. Additionally, /etc/localtime becomes a symbolic link to the corresponding file in the /usr/share/zoneinfo; the file that contains the rules governing the dates where daylight saving time (DST) is active, for countries that use it.
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.
When installed, the sudo package gives full root rights to members of the sudo Unix group. To delegate other rights, the administrator can use the visudo command, which allows them to modify the /etc/sudoers configuration file (here again, this will invoke the vi editor, or any other editor indicated in the EDITOR environment variable). Alternatively they might put rules in small files in /etc/sudoers.d/ as long as this directory is included by /etc/sudoers via @includedir /etc/sudoers.d, which is the default for Debian. Adding a line with username ALL=(ALL) ALL allows the user in question to execute any command as root.
More sophisticated configurations allow authorization of only specific commands to specific users. All the details of the various possibilities are given in the sudoers(5) manual page.

8.9.5. Llista de punts de muntatge

The /etc/fstab file gives a list of all possible mounts that happen either automatically on boot or manually for removable storage devices. Each mount point is described by a line with several space-separated fields:
  • file system: this indicates where the filesystem to be mounted can be found, it can be a local device (hard drive partition, CD-ROM) or a remote filesystem (such as NFS or even SSHFS).
    This field is frequently replaced with the unique ID of the filesystem (which you can determine with blkid device) prefixed with UUID=. This guards against a change in the name of the device in the event of addition or removal of disks, or if disks are detected in a different order. Secció 8.8.1, «Identificació dels discos» covers this topic in more detail.
  • 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.
    A complete list of known filesystems is available in the mount(8) manual page. The swap special value is for swap partitions; the auto special value tells the mount program to automatically detect the filesystem (which is especially useful for disk readers and USB keys, since each one might have a different filesystem);
  • 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: this field is almost always set to 0 and kind of a relic. When it is greater then zero, it tells the dump tool that the partition contains data that is to be backed up frequently. The tool supports Ext2/3/4 filesystems only and will use the value here when run via dump -W or dump -w to determine which partitions need to be backed up. Consider the examples in /usr/share/doc/dump/examples/ if you want to use this feature. But there are better alternatives to backup a filesystem, like 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
The last entry in the example corresponds to a network filesystem (NFS): the /shared/ directory on the arrakis server is mounted at /shared/ on the local machine.
The format of the /etc/fstab file is documented in the fstab(5) manual page.

8.9.6. locate i updatedb

The locate command can find the location of a file when you only know part of the name. It sends a result almost instantaneously, since it consults a database that stores the location of all the files on the system; this database is updated daily by the updatedb command. There are multiple implementations of the locate command and Debian picked mlocate for its standard system. If you want to consider an alternative, you can try plocate which provides the same command line options and can be considered a drop-in replacement.
locate is smart enough to only return files which are accessible to the user running the command even though it uses a database that knows about all files on the system (since its updatedb implementation runs with root rights). For extra safety, the administrator can use PRUNEDPATHS in /etc/updatedb.conf to exclude some directories from being indexed.