Jak umieścić komentarze w moim pliku / etc / shadow?


10

Przeglądam niektóre aktualizacje systemu, a mój menedżer pakietów pokazuje zmiany między nadrzędnym / etc / shadow a moim.

Chciałbym dodać kilka uwag do pliku na następny raz. Jak mam wstawiać komentarze w pliku / etc / shadow bez rujnowania rzeczy.

Myślę, że domyślnie „#” by to zrobił, ale jeśli popełniam błąd, ponowne uruchomienie nie będzie tak przyjemne.


Użyj etckeeper i zapisz swoje komentarze w wiadomościach zatwierdzenia.
— Gilles „SO- przestań być zły”

Odpowiedzi:


14

W systemach Linux korzystających z GNU libc wiersze rozpoczynające się od #są ignorowane /etc/shadow. Analiza jest wykonywana przez __fgetspent_r(), a jej kod źródłowy wyraźnie obsługuje (i dokumentuje) to zachowanie.

Więc na większości systemów Linux można komentować linie /etc/shadowz #bez powodowania problemów.

Niestety komentarze są usuwane, gdy /etc/shadowsą aktualizowane, np. Przez passwd; więc przechowywanie komentarzy nie jest w rzeczywistości bezpieczne (z punktu widzenia komentarzy).

Oznacza to, że trzeba znaleźć gdzieś indziej, aby zapisać swój komentarz: dwie propozycje są dobre dr01 „s pomysł wykorzystania /etc/shadow.README, albo jeszcze lepiej Gilles ” pomysł wykorzystania popełnić wiadomości z etckeeper .


Wygląda na to, że prawie każdy nieprawidłowy wpis się zgubił passwd. Próbowałem użyć fałszywego wpisu użytkownika lub poprawnego i dodać znaki do końcowego wpisu, ale wszystko to bezskutecznie.
— Otheus

7

Każda linia /etc/shadowjest uważana za rekord użytkownika. Jak napisał Stephen Kitt, który przejrzał kod źródłowy parsera, możesz wstawiać wiersze zaczynające się od #jako komentarze w pliku, a nawet puste wiersze i zostaną one zignorowane.

Jednak nigdy nie widziałem /etc/shadowpliku z komentarzami. Wydaje się, że nie jest to powszechna praktyka, i to z bardzo dobrego powodu: zdecydowanie nie zaleca się jej ręcznej edycji . Z tego powodu wolałbym raczej utworzyć /etc/shadow.READMEplik, aby przechowywać komentarze. Pamiętaj o chmod 000pliku, aby uniknąć szpiegowania go przez użytkowników innych niż root.


Więc dlaczego 000? Należą do ciebie, root:roota potem ug=r,o=nie wystarczy?
— 0xC0000022L

000 to uprawnienia /etc/shadow(przynajmniej w Red Hat, nie szukałem w innych dystrybucjach) i upewnij się, że tylko root ma dostęp do pliku. 440, jak sugerujesz, spraw, aby plik był czytelny dla zwykłego użytkownika, gdyby dołączył on / ona przez pomyłkę do grupy głównej. Na prawidłowo administrowanej maszynie i do wszystkich praktycznych celów są one warte tego samego. Myślę, że 000 lepiej oddaje znaczenie „pliku o kluczowym znaczeniu dla bezpieczeństwa - trzymaj ręce z daleka”, ale to tylko moja opinia.
— dr_

@ dr01: nie jestem pewien, jak normalny użytkownik dołączyłby do grupy głównej bez superużytkownika. A jeśli superużytkownik popełni taki błąd, wszystkie zakłady są wyłączone. Istnieje na przykład spora szansa, że ​​dana osoba jest już wtedy sudoer i może uzyskać dostęp do pliku niezależnie. Uważam to za bezpieczeństwo niejasne, ale YMMV.
— 0xC0000022L

Dokładnie to miałem na myśli, gdy „zwykły użytkownik dołącza przez pomyłkę do grupy głównej”. Moim przypadkiem jest to, że superużytkownik może (choć szanse są niewielkie) przez pomyłkę umieścić go w grupie głównej. Chociaż uprawnienie 000 pozwoli tylko rootowi na dostęp do pliku. Rozumiem, że to prawdopodobnie przypadek na krawędzi, ale uważam, że jest to o wiele czystsze, ponieważ plik komentarza ma te same uprawnienia co /etc/shadow.
— dr_

3

Oczywiście masz zmiany w swoim /etc/shadow. Nie chcesz, aby informacje o koncie /etc/shadowna swoim serwerze - hashowane hasła, wygaśnięcia konta itp. - były kopią bajt po bajcie przesłaną dalej /etc/shadow.

I mam nadzieję, że nie nadpisujesz swojego prądu tym, /etc/shadowco otrzymujesz ze źródła danych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.