Debian ha deciso di non accettare l’ultima trovata di systemd che violava il Filesystem Hierarchy Standard

Era da qualche tempo che non parlavamo di Systemd, l’amato e odiato sistema di init dell’ormai stragrande maggioranza delle distribuzioni Linux. Torniamo a farlo in virtù dell’uscita dell’ultima release, la v258.1, che tra le novità ha introdotto una variazione che, come ha raccontato Linuxiac, ha richiesto l’intervento del Debian Technical Committee (DTC).

Il DTC è un gruppo che all’interno del progetto Debian agisce come last resort, quando cioè c’è disaccordo in merito a una strada tecnologica da intraprendere. In questo caso l’intervento si è reso necessario poiché l’ultima citata release di Systemd rende il path /var/lock, che all’interno del Filesystem Hierarchy Standard di Linux è destinato a tutti i file di lock delle varie applicazioni di sistema, scrivibile unicamente dall’utente root.

L’intera storia è iniziata lo scorso 15 settembre, dopo che un utente ha pubblicato il bug report dal titolo “advice for using /var/lock (which is a link to /run/lock) (#1110981)” nel quale segnalava l’impossibilità di scrivere nel path relativo ai lock, che faceva riferimento ad un altro precedente bug che segnalava la questione ed era stato chiuso con lo stato “wontfix“, che in italiano significa “attaccati“.

La decisione si è dipanata su diverse settimane, con prese di posizione che inizialmente non hanno portato ad una soluzione condivisa, ed è stato allora che il DTC è intervenuto, producendo il messaggio incluso nella patch che risolve il problema contenente il seguente messaggio:

The TC therefore resolves that systemd shall provide /var/lock with relaxed enough permissions that existing Debian software that uses /var/lock for system-wide locks of serial devices (and similar purposes) works again. The TC exercises its power under constitution #6.1.4 to overrule the systemd maintainers in this regard.
Il TC quindi conclude che systemd fornirà /var/lock con autorizzazioni abbastanza rilassate che il software Debian esistente che utilizza /var/lock per i blocchi a livello di sistema dei dispositivi seriali (e scopi simili) funzioni di nuovo. Il TC esercita il suo potere in base alla costituzione #6.1.4 per annullare i maintainer di systemd in questo senso.

La specifica imposta ai maintainer systemd, la #6.1.4, si riferisce alla costituzione del progetto Debian che recita nella sezione Poteri (6.1) come, testualmente:

La Commissione Tecnica può chiedere a uno Sviluppatore di intraprendere una particolare serie di azioni tecniche anche se lo Sviluppatore non lo desidera; questo richiede una maggioranza di 3:1. Per Esempio, la Commissione può determinare che una lamentela fatta da chi segnala un baco è giustificata e che la soluzione proposta debba essere implementata.

La semplice linea che ripristina i permessi è questa:

d /run/lock    1777 root root -   -

Nota importante per i poco avvezzi: nonostante lì si veda il numero Linux del diavolo – ossia 777 – che comporta lettura e scrittura da parte di proprietario, gruppo e tutti gli altri (da evitare, sempre e comunque), l’1 anteposto nel settaggio fa sì che la directory in questione sia sì scrivibile da chiunque, ma solo i proprietari dei file hanno il permesso di cancellarli, esattamente come succede per la directory /tmp.

La variazione in questione dovrà quindi essere considerata dai maintainer finché tutte le applicazioni affette (sono parecchie) non verranno migrate ad altri sistemi di gestione dei lock, ad esempio flock.

Intanto però systemd si adeguerà, e non è una sensazione spiacevole.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

2 risposte a “Debian ha deciso di non accettare l’ultima trovata di systemd che violava il Filesystem Hierarchy Standard”

  1. Avatar JustATiredMan
    JustATiredMan

    A me systemd non è mai piaciuto e continua a non piacermi, anche se ovviamente mi sono adeguato.
    Ci lamentiamo sempre dell'arroganza del "caro leader", ma lo staff di Poettering non è da meno con il loro "wont fix"… Questi si prendono la liberà di cambiare i permessi ad una directory, che al momento è fondamentale per, praticamente tutto, senza nemmeno domandarsi quali problemi potrebbe causare, perchè loro ritengono che tutto debba passare attraverso systemd.
    Se avevano bisogno di una posizione per salvarsi i loro lock files, potevano benissimo farsene una loro custom, /var/lock/systemd/ e li dentro farsi tutti i lock file che volevano e limitarne la lettura/scrittura ai solo loro usi.

  2. Avatar Nicodemo Timoteo Taddeo
    Nicodemo Timoteo Taddeo

    che segnalava la questione ed era stato chiuso con lo stato “wontfix“, che in italiano significa “attaccati“.

    Questa è troppo forte 🙂

    Venendo al busillis della questione, apprezzo la posizione del DTC anche in previsione di futuri altri "sconvolgimenti" anche più pesanti. È frustrante doversi adeguare perché qualcuno ogni due per tre vuole reinventare la ruota, o forse perché comincio ad avere l'età in cui dovermi adattare è difficoltoso 🙂 Ho in libreria qui accanto diversi libri su Linux acquistati nel primo decennio di questo secolo e oggi sono sostanzialmente inutili o quasi inutili. Cerchi un comando attuale e non lo trovi perché non c'era e va bene questo, ma cerchi un comando che allora c'era e c'è anche ora ma trovi le opzioni cambiate… OK la tecnologia si evolve e tutto cambia ma sarebbe il caso secondo me, di non cambiare solo per il gusto di farlo o perché si vuole mettere la propria "firma" come spesso mi sembra accada.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *