Действительно ли возможно изменить файл базы данных пароля (/etc/passwd) в Linux?

Хранилище пакетов OpenSolaris включает администрирование, GUI вызвал Визуальные Панели, которые можно установить путем выполнения pkg install OSOLvpanels и затем это появится под Системой-> Меню администрирования в GNOME как "Сервисы", или можно запустить его с команды vp svcs.

8
03.07.2012, 15:10
4 ответа

Вы правы: /etc/passwd и /etc/shadow консультируются pam_unix.so, которые являются частью PAM. По крайней мере, на современных Linux. Вы могли изменить это путем исправления pam_unix.so. Если странице справочника нужно верить, Вы не можете изменить местоположение системных баз данных.

И Вы действительно не хотите. /etc/passwd только используется для аутентификации, она также используется для (обратного) определения имен и искать вещи как полное имя пользователя, оболочка, и так далее. Название и местоположение так стандартизировано, что перемещение их почти определенно повредило бы вещи за пределами просто PAM. Необходимо было бы исправить намного больше, чем Вы заключили сделку на.

Обновление: При попытке скрыться /etc/{passwd,shadow,group} файлы для безопасности, не волнуйтесь об этом. Безопасность с помощью мрака редко помогает как политика. Оставьте их, где они - и сжимают остальную часть Ваших политик.

Обновление: возможное решение

Если у Вас есть некоторое заказное программное обеспечение, необходимо получить доступ к другому набору баз данных пользователя/группы, Вы могли сделать копию соответствующего PAM и модулей NSS и исправить их для использования пользовательских баз данных. Исходные базы данных Unix остаются, где они - так программное обеспечение, не перепутан, но можно установить PAM и NSS для использования пользовательских модулей везде, где Вы должны, и использующий любую политику имеет смысл Вам.

Сохраните базы данных Unix чрезвычайно нетронутыми, и Вы имеете то, что Вы попросили. Это в значительной степени что radius и ldap Модули PAM/NSS делают: они обеспечивают дополнительное (не замена) источник информации о пользователе/группе и учетных данных.

Идя один шаг вперед: можно вернуться к PAM и NSS и отключить поиски базы данных Unix в целом. Оставьте файлы там для старого программного обеспечения (естественно, их представления баз данных пользователя/группы будут неточны, но по крайней мере они не повредятся).

7
27.01.2020, 20:10
  • 1
    и uid:name, соответствующий, делаются nss подсистемой, которая является также модульной (=easy hackable). Но Вы частично правы с ним - это может повредить некоторые сценарии, которые читают/etc/passwd непосредственно вместо того, чтобы использовать libnss. –  rvs 03.07.2012, 15:22
  • 2
    Модульный принцип приветствуется, но является несущественным: это означает, что у Вас есть больше кода для исправления, и много программного обеспечения (особенно более старый код) могло бы перейти прямо к файлам. Это делает для довольно противного худшего варианта. –  Alexios 03.07.2012, 16:35
  • 3
    Это может также быть обработано более старой тенью, как не все вынуждены использовать pam все же. –  lynxlynxlynx 03.07.2012, 20:42

То, что Вы ищете, pam_pwdfile модуль. На Debian/Ubuntu пакет libpam-pwdfile (не уверенный в Redhat получил дистрибутивы).

README включенный с пакетом объясняет, как использовать его.

6
27.01.2020, 20:10

Я не уверен, возможно ли это из поля, но Это определенно возможно с некоторым взламыванием. Чтобы сделать это, Вы должны будете:

  1. Настройтесь/взломайте nsswitch библиотеку (/lib/libnss_files.so, или libnss_db.so - проверяют Ваш/etc/nsswitch.conf), таким образом, это считало бы некоторый другой файл.
  2. Настройтесь/взломайте pam_unix модуль, таким образом, он считал бы некоторые другие файлы.
2
27.01.2020, 20:10
  • 1
    3. потратьте остальную часть пожизненного контакта той системы со случайной поломкой случайного другого материала, который ожидает /etc/passwd существовать... неверное решение –  Shadur 03.07.2012, 16:36

Используйте NIS или LDAP для аутентификации пользователей. Их пароли не будут сохранены в/etc/{пароль/тень} файл (файлы).

1
27.01.2020, 20:10

Теги

Похожие вопросы