Я выполняю некоторые обновления системы, и мой менеджер пакетов показывает изменения между исходным / etc / shadow и моим.
Я хотел бы поместить некоторые комментарии в файл для следующего раза, когда это произойдет. Как мне сделать так, чтобы комментарии в файле / etc / shadow не ломались?
Я думаю, что по умолчанию "#", скорее всего, сделает это, но если я ошибусь, перезагрузка не будет такой приятной.
Ответы:
В системах Linux, использующих GNU libc, строки, начинающиеся с
#
, игнорируются/etc/shadow
. Синтаксический анализ выполняется__fgetspent_r()
, и его исходный код явно обрабатывает (и документирует) это поведение.Таким образом , на подавляющем большинстве систем Linux вы можете комментировать строки в
/etc/shadow
с ,#
не вызывая проблем.К сожалению, комментарии
/etc/shadow
обновляются при обновлении, например, пользователемpasswd
; поэтому хранение комментариев на самом деле небезопасно (с точки зрения комментариев).Это означает , что вам нужно найти где -то еще , чтобы сохранить свои комментарии: два хороших предложения являются dr01 «ы идея использования
/etc/shadow.README
, или еще лучше Жиля » идея использования фиксации сообщений с etckeeper .источник
passwd
. Я попытался использовать поддельную запись пользователя или действительную и добавить символы в окончательную запись, но все безрезультатно.Каждая строка
/etc/shadow
считается пользовательской записью. Как написал Стивен Китт, который просматривал исходный код синтаксического анализатора, вы можете поместить строки, начинающиеся#
как комментарии, или даже пустые строки, и они будут игнорироваться.Тем не менее, я никогда не видел
/etc/shadow
файл с комментариями к нему. Похоже, что это не обычная практика, и для этого есть очень веская причина: редактирование вручную не рекомендуется . По этой причине я бы лучше предложил вам создать/etc/shadow.README
файл, чтобы хранить ваши комментарии. Запомнитеchmod 000
этот файл, чтобы пользователи, не являющиеся суперпользователями, не могли его отследить.источник
000
? Принадлежит,root:root
а тоug=r,o=
не хватит?/etc/shadow
(по крайней мере в Red Hat, я не смотрел другие дистрибутивы) и гарантируют, что только root имеет доступ к файлу. 440, как вы предлагаете, сделать файл доступным для чтения обычному пользователю, если он / она по ошибке присоединится к корневой группе. На правильно управляемой машине и для всех практических целей они стоят того же. Я думаю, что 000 лучше передает значение «критический файл безопасности - держите руки подальше», но это только мое мнение./etc/shadow
.Конечно, у вас есть изменения в вашем
/etc/shadow
. Вы не хотите, чтобы информация об учетной записи/etc/shadow
на вашем сервере - хэшированные пароли, срок действия учетной записи и т. Д. - была побайтовой копией восходящего потока/etc/shadow
.И я надеюсь, что вы не перезаписываете свою текущую информацию
/etc/shadow
тем, что получаете из своего источника данных верхнего уровня.источник