Come posso inserire commenti nel mio file / etc / shadow?


10

Sto eseguendo alcuni aggiornamenti del sistema e il mio gestore pacchetti sta mostrando cambiamenti tra l'upstream / etc / shadow e il mio.

Vorrei inserire alcuni commenti nel file per la prossima volta che ciò accade. Come potrei realizzare inserendo commenti nel file / etc / shadow senza rompere le cose.

Penso che "#" predefinito lo farebbe probabilmente, ma se sbaglio questo riavvio non sarà così piacevole.


Usa etckeeper e registra i tuoi commenti nei messaggi di commit.
Gilles 'SO- smetti di essere malvagio' il

Risposte:


14

Sui sistemi Linux che usano GNU libc, le linee che iniziano con #vengono ignorate in /etc/shadow. L'analisi viene eseguita da __fgetspent_r()e il suo codice sorgente gestisce esplicitamente (e documenta) questo comportamento.

Quindi, sulla maggior parte dei sistemi Linux è possibile commentare linee in /etc/shadowcon #senza causare problemi.

Purtroppo i commenti vengono eliminati quando /etc/shadowviene aggiornato, ad esempio da passwd; quindi la memorizzazione dei commenti non è in realtà sicura (dal punto di vista dei commenti).

Ciò significa che devi trovare altrove per memorizzare i tuoi commenti: due buoni suggerimenti sono l' idea di dr01 di usare , o meglio ancora l' idea di Gilles di usare i messaggi di commit con etckeeper ./etc/shadow.README


Quasi ogni voce non valida sembra perdersi passwd. Ho provato a utilizzare una voce utente fasulla o valida e aggiungendo caratteri alla voce finale, ma tutto inutilmente.
Otheus,

7

Ogni riga di /etc/shadowè considerata come un record utente. Come scritto da Stephen Kitt che ha esaminato il codice sorgente del parser, puoi inserire le righe che iniziano #come commenti nel file o anche righe vuote e verranno ignorate.

Tuttavia, non ho mai visto un /etc/shadowfile con commenti su di esso. Sembra che non sia una pratica comune e per un'ottima ragione: modificarlo a mano è fortemente scoraggiato . Per questo motivo, preferirei invece creare un /etc/shadow.READMEfile per archiviare i tuoi commenti. Ricorda chmod 000il file per evitare che utenti non root si curiosino su di esso.


Allora perchè 000? Di proprietà di root:roote quindi ug=r,o=non abbastanza?
0xC0000022L

000 sono i permessi di /etc/shadow(almeno su Red Hat, non ho cercato in altre distro) e assicurano che solo il root abbia accesso al file. 440, come suggerisci, rendi il file leggibile da un utente normale nel caso in cui lui / lei si unisse per errore al gruppo radice. Su una macchina correttamente amministrata, e per tutti gli scopi pratici, valgono la stessa cosa. Penso che il 000 trasmetta meglio il significato di "file critico per la sicurezza - tenere le mani lontane", ma questa è solo la mia opinione.
dr_

@ dr01: non sono sicuro di come un utente normale si unirebbe al gruppo radice senza che un superutente lo facesse. E se un superutente commette tale errore, tutte le scommesse sono disattivate. Ad esempio, ci sono buone probabilità che quella persona sia già un sudoer e che possa accedere al file indipendentemente. Lo considero sicurezza per oscurità, ma YMMV.
0xC0000022L

Questo è esattamente ciò che intendevo con "i normali utenti si uniscono per errore al gruppo radice". Il mio caso è che un superutente potrebbe (sebbene le probabilità siano scarse) metterlo per errore nel gruppo radice. Mentre un permesso 000 consentirà solo al root di accedere al file. Riconosco che probabilmente è un caso limite, ma lo considero molto più pulito anche dal momento che il file dei commenti ha le stesse autorizzazioni di /etc/shadow.
dr_

3

Ovviamente hai delle modifiche al tuo /etc/shadow. Non vuoi che le informazioni dell'account /etc/shadowsul tuo server - password con hash, scadenze dell'account, ecc. - siano una copia byte per byte dell'upstream /etc/shadow.

E spero che tu non stia sovrascrivendo il tuo attuale /etc/shadowcon qualunque cosa tu stia ottenendo dalla tua fonte di dati a monte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.