Какую команду запустить после внесения изменений в файл / etc / passwd

12

Я сделал некоторые изменения в файле / etc / passwd, теперь я хотел посмотреть, имеет ли место эффект изменений или нет. Какую команду мне следует выполнить для этого.

Например, после внесения изменений в файл / etc / ssh / ssh_config я запускаю команду /etc/init.d/sshd.

ОЗУ
источник

Ответы:

19

Чтобы проверить passwdи соответствующий shadowфайл, используйте pwck. Чтобы проверить groupи соответствующий gshadowфайл, используйте grpck'. Смотрите man-страницы для деталей действий, которые они выполняют.

Ручное редактирование /etc/passwdлучше всего делать (если вообще) с файлом vipwи vipw -sдля него shadow. Для /etc/groupи /etc/gshadowиспользования vigrи vigr -s, соответственно. Использование этих инструментов обеспечивает не только блокировку для предотвращения множественных одновременных обновлений пользователей, но и предлагает проверку достоверности.

В целом, изменения в пароле и групповых файлах лучше всего выполнять с использованием стандарта user(add|mod|del)и group(add|mod|del)инструментов.

JRFerguson
источник
7

Нет такой команды, чтобы применить изменения из файла / etc / passwd.

Если пользователь, данные которого вы изменили, вошел в систему, он должен просто повторно войти в систему, чтобы применить изменения. Если нет, они будут сразу доступны после входа в систему.

Это связано с тем, что во время входа в систему данные считываются из файла passwd и сохраняются в памяти до выхода из системы.

порыв
источник
2
«… Нет такой команды…» в Linux . Многие другие * ix имеют такие команды. passedФайл либо скомпилированы вниз к двоичной форме , что быстрее в процессе, или сохраняется только для совместимости и данные должны быть переведены в нативном виде пароля БД в ОС.
Уоррен Янг
2

Я имел успех с update-passwdкомандой после того, как я вручную отредактировал файл / etc / passwd в системах на основе Debian (например, Ubuntu). Я знаю, что это НЕ предполагаемое использование этой команды, но она работает и для этой цели. См. Его справочную страницу для более подробной информации: http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html

В системах на основе Red Hat / CentOS я не нашел эквивалентной команды, в этих системах мне пришлось перезагрузить систему, чтобы изменения вступили в силу.

Как уже упоминалось, лучше не редактировать файл / etc / passwd вручную. Вместо этого я использую команды useradd / userdel / usermod, когда это возможно. Единственная действительная причина для редактирования файлов IMO / etc / passwd и / etc / group - это когда мне нужно скопировать множество учетных записей из другой системы. После добавления, например, 100 учетных записей, я обычно делаю полную перезагрузку системы. Кроме того, когда вы вручную редактируете файлы / etc / passwd и / или / etc / groups, вы не должны забывать также редактировать соответствующие теневые файлы.

Zoltan
источник
1

Я не думаю, что есть такая команда, так как в первую очередь она не нужна. Также не рекомендуется редактировать этот файл напрямую, вместо этого используйте соответствующие команды, такие как useradd и passwd.

Если вы не уверены, просто перезагрузите компьютер после редактирования этого файла, и все изменения вступят в силу.

Hinklo
источник
0

Вы не должны изменять /etc/passwdвручную; использовать usermodвместо

Например:

Если вы хотите изменить домашний каталог пользователя, используйте эту команду:

usermod --home /path/to/home/dir username
Сунь Куо
источник
1
Иногда необходимо отредактировать файл вручную, но затем vipwследует использовать.
Кусалананда
Понял @Kusalananda
Сунь Го