LINUX.ORG.RU
решено ФорумAdmin

Авторизация в samba без LDAP и /etc/passwd


0

1

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

Сейчас все пользователи хранятся в /etc/passwd. Я считаю это ненужным, т. к. из этого десятка ~0,75 умеют хоть как-то работать в линуксе. Я хочу вынести все эти учетные записи в отдельный файл, а все принадлежащие (демону) samba файлы отдать специальному пользователю samba, как это обычно делается в postfix или dovecot. С отдачей прав я разобрался.

smbpasswd и pdbedit отказываются добавлять пользователя, если его нет в /etc/passwd. Заводить LDAP ради десяти (а фактически вообще пяти) пользователей считаю избыточным.

Я слышал про авторизацию через PAM, однако редактирование /etc/pam.d/samba и включение в него pam_pwdfile.so не привело ни к какому-либо результату.

Как найти решение в этой ситуации?


Заводить LDAP ради десяти (а фактически вообще пяти) пользователей считаю избыточным.

Зря. То, что пользователи samba являются системными, даёт определённые преимущества. Как минимум это сильно упрощает разграничение доступа к файлопомойке (см. POSIX ACL). А хранение в LDAP позволяет избежать дублирование учёток/паролей в разных местах, да ещё и даёт возможность использовать единую базу логинов с паролями практически гду угодно (ftp, веб-приложения, почта...).

Я слышал про авторизацию через PAM, однако редактирование /etc/pam.d/samba и включение в него pam_pwdfile.so не привело ни к какому-либо результату.

В linux (и не только) авторизация и поиск учётных записей в базах - это разные вещи. PAM - это только авторизация. А «ищутся» имена через NSS (Name Service Switch). Может быть как-то можно прикрутить поиск в отдельном файле и к NSS, но я не в курсе.

Как найти решение в этой ситуации?

Я бы поставил LDAP...

Deleted
()

smbpasswd и pdbedit отказываются добавлять пользователя

И правильно делают. Архитектура samba такова, что это необходимо.

Если не хотите заводить ldap, mysql или другую базу для хранения пользователей - то оставьте все как есть. Ибо у вас нет никакой проблемы, просто записи в passwd «не понравились».

zgen ★★★★★
()
Ответ на: комментарий от Deleted

А «ищутся» имена через NSS (Name Service Switch). Может быть как-то можно прикрутить поиск в отдельном файле и к NSS, но я не в курсе.

Спасибо за совет! libnss-db делает в точности, что нужно.

Я бы поставил LDAP...

Вы суровый челябинский админ, а я нет. :-)

Если не хотите заводить ldap, mysql или другую базу для хранения пользователей - то оставьте все как есть. Ибо у вас нет никакой проблемы, просто записи в passwd «не понравились».

Пожалуй, вы правы. Из трех зол: «лишние» записи в /etc/passwd, LDAP или libnss-db со своими скриптами useradd/usermod/userdel я выберу первое.

Всем спасибо за советы!

ilias
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.