Як розмістити коментарі до мого файлу / etc / shadow?


10

Я переглядаю деякі оновлення системи, і мій менеджер пакунків показує зміни між висхідним потоком / etc / shadow і моїм.

Я хотів би помістити деякі коментарі до файлу наступного разу, коли це станеться. Як я можу додати коментарі до файлу / etc / shadow, не порушуючи нічого.

Я думаю, що за замовчуванням "#", швидше за все, це зробить, але якщо я помиляюся, перезавантаження не буде таким приємним.


Використовуйте etckeeper і записуйте свої коментарі у повідомленнях про вчинення.
Жиль "ТАК - перестань бути злим"

Відповіді:


14

У системах Linux, що використовують GNU libc, рядки, що починаються з #, ігноруються /etc/shadow. Синтаксичний аналіз проводиться шляхом __fgetspent_r(), і його вихідний код явно обробляє (і документи) такою поведінкою.

Таким чином , на переважній більшості систем Linux ви можете коментувати рядки в /etc/shadowс , #не викликаючи проблем.

На жаль , коментарі видаляються при /etc/shadowоновленні, наприклад , шляхом passwd; тому зберігання коментарів насправді не є безпечним (з точки зору коментарів).

Це означає , що вам потрібно знайти де -то ще , щоб зберегти свої коментарі: два хороших пропозиції є dr01 «и ідея використання /etc/shadow.README, або ще краще Жиля » ідея використання фіксації повідомлень з etckeeper .


Майже про будь-який недійсний запис, схоже, загубиться passwd. Я спробував використати помилковий запис користувача або допустимий елемент та додати символи до остаточного запису, але все безрезультатно.
Отей

7

Кожен рядок файлу /etc/shadowвважається записом користувача. Як написав Стівен Кітт, який переглянув вихідний код аналізатора, ви можете розміщувати рядки, починаючи з #коментарів у файлі, або навіть порожні рядки, і вони будуть ігноровані.

Однак я жодного разу не бачив /etc/shadowфайлу з коментарями до нього. Здається, це не є звичайною практикою, і з дуже вагомої причини: редагування вручну сильно не рекомендується . З цієї причини я б запропонував вам створити /etc/shadow.READMEфайл, а не зберігати свої коментарі. Пам’ятайте chmod 000про файл, щоб уникнути того, щоб користувачі, що не користуються ним, переслідували його.


То чому 000? Власнив root:rootі тоді ug=r,o=недостатньо?
0xC0000022L

000 - це дозволи /etc/shadow(принаймні, Red Hat, я не шукав інших дистрибутивів) і гарантую, що лише файл root має доступ до файлу. 440, як ви пропонуєте, зробіть файл читаним звичайним користувачем, якщо він / вона помилково приєднається до кореневої групи. На правильно керованій машині та для всіх практичних цілей вони коштують однакового. Я думаю, що 000 краще передає значення "важливий файл безпеки - тримайте руки", але це лише моя думка.
dr_

@ dr01: не впевнений, як звичайний користувач приєднається до кореневої групи, не роблячи цього суперпользователя. І якщо суперусер робить таку помилку, усі ставки знімаються. Наприклад, є хороший шанс, що людина вже є судором і може отримати доступ до файлу незалежно. Я вважаю це безпекою незрозумілістю, але YMMV.
0xC0000022L

Саме це я і мав на увазі, коли "звичайний користувач помилково приєднується до кореневої групи". Мій випадок полягає в тому, що суперрусер міг (хоча шанси невеликі) помилково включити його в кореневу групу. У той час як дозвіл на 000 дозволить отримати доступ до файлу лише root. Я усвідомлюю, що це, мабуть, кращий випадок, але я вважаю цей спосіб набагато більш чистим, оскільки файл коментарів має такі ж дозволи, як і /etc/shadow.
dr_

3

Звичайно, у вас є зміни /etc/shadow. Ви не хочете, щоб інформація про обліковий запис /etc/shadowна вашому сервері - хешовані паролі, термін дії облікового запису тощо - була копією байту для поточного потоку /etc/shadow.

І я сподіваюся, що ви не перезаписуєте свій струм /etc/shadowтим, що отримуєте з свого джерела даних вище.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.