1

Добрый день. Есть задача синхронизировать системные пароли и пароли samba.

Текущий конфиг выглядит так:

[root@ldap samba]# cat smb.conf
[global]
    netbios name = WSHARE
    workgroup = WORKGROUP
    encrypt passwords = yes
    unix password sync = yes
#    passwd chat debug = yes
#    pam password change = yes
    passwd program = passwd %u

    passwd chat = *New*password* %n\n\
    *Retype*new*password* %n\n\
    *passwd*all*authentication*tokens*updated*successfully*

    security = user
    log level = 5
    log file = /tmp/smb.log

[data]
    path = /export/smb/data
    comment = Data Drive
    read only = no

но при смене пароля smbpasswd username (пользователь присутствует и там и там) пароль меняется только у самбы. Пытался посмотреть passwd chat debug при log level=100, ничего в лог не пишет.
Кто-нибудь настраивал такое?

PS:

[root@ldap pam.d]# rpm -q samba
samba-3.6.9-151.el6.x86_64

PPS: В идеале, поскольку passwd program обещают убрать, интересно решение и с помощью pam_smbpass.so. Гугление особо на данный момент не помогло.

2

therox⇓ пишет:

Добрый день. Есть задача синхронизировать системные пароли и пароли samba.

http://linuxpoison.blogspot.ru/2008/04/ … users.html

It is good day to die ...
MS Windows 10
Заметки о главном...

3

i2ks пишет:
therox⇓ пишет:

Добрый день. Есть задача синхронизировать системные пароли и пароли samba.

http://linuxpoison.blogspot.ru/2008/04/ … users.html

Благодарю, интересная статья. Простой способ. Но в данном случае он больше напоминает костыль. Хотелось бы организовать сие средствами самой самбы.

4 (28.03.2013 14:44:02 отредактировано i2ks)

therox⇓ пишет:

Хотелось бы организовать сие средствами самой самбы.

Ну а так:
http://oreilly.com/catalog/samba/chapte … 06_04.html
раздел 6.4.3
ну и
http://www.samba.org/samba/docs/man/Sam … n/pam.html
http://jaka.kubje.org/infodump/2007-05- … bian-etch/

It is good day to die ...
MS Windows 10
Заметки о главном...

5 (28.03.2013 14:45:41 отредактировано therox)

i2ks пишет:
therox⇓ пишет:

Хотелось бы организовать сие средствами самой самбы.

Ну а так:
http://oreilly.com/catalog/samba/chapte … 06_04.html
раздел 6.4.3
ну и
http://www.samba.org/samba/docs/man/Sam … n/pam.html
http://jaka.kubje.org/infodump/2007-05- … bian-etch/

Да, читал их. применить к centos 6.3-6.4 у меня не вышло. думал, может кто занимался лично...

PS: Посмотрел скрипт mksmbpasswd.sh. Там, как я понял, тоже ни о какой синхронизации паролей речи не идет. Он просто берет пользователей из /etc/passwd и кидает в базу самбы с невалидными паролями.

6

therox⇓ пишет:

Да, читал их. применить к centos 6.3-6.4 у меня не вышло. думал, может кто занимался лично...

там есть варианты с pam, да и в файле /etc/passwd только пользователи, сами пароли в файле /etc/shadow.

It is good day to die ...
MS Windows 10
Заметки о главном...

7 (28.03.2013 14:55:33 отредактировано therox)

i2ks пишет:
therox⇓ пишет:

Да, читал их. применить к centos 6.3-6.4 у меня не вышло. думал, может кто занимался лично...

там есть варианты с pam, да и в файле /etc/passwd только пользователи, сами пароли в файле /etc/shadow.

Да-да, я про пам в т.ч. говорил. pam_smbpass занимается в т.ч. и shadow. Но не сложилось. ac
Поэтому хотелось бы это для начала осознать в контексте использования внешней программы (passwd)

8

therox⇓ пишет:

Но не сложилось.

а что не сложилось?

It is good day to die ...
MS Windows 10
Заметки о главном...

9

i2ks пишет:
therox⇓ пишет:

Но не сложилось.

а что не сложилось?

Ну, во-первых, я не очень хорошо пока понимаю технологию аутентификации с помощью pam, ну а во-вторых, даже следуя четким руководствам в какой файл какую строчку где писать, никаких видимых изменений при смене пароля я не увидел.

10

therox пишет:

Добрый день. Есть задача синхронизировать системные пароли и пароли samba.

Не оспаривая поставленной задачи всё же непонятен смысл этой всей затеи. А именно - зачем юзерам файлового сервера, весь интерес которых только доступ к файлам через smb, иметь системный вход на этот сервер? По моему, совершенно правильно надо заблокировать вход таких юзерей на сервер через passwd -l. И проверить, что им в качестве шелла по умолчанию назначен /sbin/nologin|false. Нечего делать самбовым юзерям в системе.

11

Cruiser78 пишет:
therox пишет:

Добрый день. Есть задача синхронизировать системные пароли и пароли samba.

Не оспаривая поставленной задачи всё же непонятен смысл этой всей затеи. А именно - зачем юзерам файлового сервера, весь интерес которых только доступ к файлам через smb, иметь системный вход на этот сервер? По моему, совершенно правильно надо заблокировать вход таких юзерей на сервер через passwd -l. И проверить, что им в качестве шелла по умолчанию назначен /sbin/nologin|false. Нечего делать самбовым юзерям в системе.

Прекрасно понимаю, что в целях безопасности целесообразно держать разными пароли и того и другого, но эта упрощенная трактовка. От самбы нужны будут лишь домашние каталоги пользователей, а системный пароль используется в аутентификации БД. В текущей архитектуре проекта все-равно приходится давать одинаковые пароли.

12 (28.03.2013 23:55:10 отредактировано Cruiser78)

therox пишет:

Прекрасно понимаю, что в целях безопасности целесообразно держать разными пароли и того и другого, но эта упрощенная трактовка. От самбы нужны будут лишь домашние каталоги пользователей, а системный пароль используется в аутентификации БД. В текущей архитектуре проекта все-равно приходится давать одинаковые пароли.

Вообще перестал что-либо понимать. Я писал об ином - для самбы (третьей) нужно только наличие пользователя в системе (то есть - UID, GID соответствующих имени юзера) и ничего больше. То есть пользователи самбы в системе должны быть заблокированы. Нет им хода в систему. Соответственно, говорить об их паролях бессмысленно.
Теперь возникакет некая БД. Насколько я понимаю базы данных - им вообще глубоко положить на всех пользователей системы кроме одного.  От чьего имени эта БД запусаться должна. А пользователи БД заводятся уже внутри БД и к системным пользователям не имеют вообще никакого отношения. Это отдельный мир, для которого системные пользователи вообще не требуются, там свои юзеры.

В принципе же задача (потенциально) решается просто. Если самба использует для изменения паролей своих пользователей программу smbpasswd (вот чего не знаю, того не знаю), то что мешает переименовать стандартный smbpasswd в иное имя, например, в smbpasswd.std, а вместо стандартного smbpasswd подложить свой скрипт, который примет пароли пользователй и передаст их как стандартному smbpasswd, так и иной процедуре, которая установит эти пароли в ином месте? Я бы копал в этом направлении, обернул бы стандартные модули своей оболочкой. Если, конечно, с настройками штатными не выйдет каменный цветок.

13

Cruiser78 пишет:

В принципе же задача (потенциально) решается просто. Если самба использует для изменения паролей своих пользователей программу smbpasswd (вот чего не знаю, того не знаю), то что мешает переименовать стандартный smbpasswd в иное имя, например, в smbpasswd.std, а вместо стандартного smbpasswd подложить свой скрипт, который примет пароли пользователй и передаст их как стандартному smbpasswd, так и иной процедуре, которая установит эти пароли в ином месте? Я бы копал в этом направлении, обернул бы стандартные модули своей оболочкой. Если, конечно, с настройками штатными не выйдет каменный цветок.

Вот и не хочется оберткой пользоваться. Т.е. именно сейчас так и делается, но хочется менее криворуко.

14

менее криворуко будет при использовании ldap

15

alexfinn пишет:

менее криворуко будет при использовании ldap

Добавлю и керберос (радиус) до кучи, как службы, обеспечивающие единую для кучи автоматизированных систем аутентификацию пользователей.