LINUX.ORG.RU
ФорумAdmin

Debian Lenny + Samba + LDAP: проблема добавления пользователя


0

0

Имеем:
Debian Lenny 5.0.4
Samba 3.2.5
LDAP (slapd 2.4.11)
настроена авторизация с pam/nss
все прекрасно работает, однако,
есть куча прог администрирования этого,
и, если я правильно понимаю, должны работать в одном духе.
испробованы: командная строка, lam, gosa, ldapphpadmin
и вот найдена прекрасная - webmin.
вопросы:
1. чтобы расшарить папку пользователям группы, группа должна быть в unix-группах?
2. добавление в unix-пользователи(группы) и в каталог LDAP осуществлять раздельно? нет ли инструмента общего?
3. если кто сталкивался с webmin, подскажите почему, когда я ставлю галочку .создавать пользователя samba при добавлении пользователя unix. у меня вылетает, что не может изменить пользователя, т.к. сервер видит что пароль пустой?


1. Нет, в LDAP. Про unix-группы и пользователей (которые в /etc/passwd) знает лишь твой сервер;
2. Это 2 БД и если ты хочешь добавить юзера к себе в домен, ты должен добавить его в LDAP;
3. Пользуй smbldap-tools (примеры в smb.conf посмотри).

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

еще раз уточнения для меня..., пожалуйста

1.
т.е. если я правильно понимаю мне не нужно делать chown и/или chmod
для моих папок в системе, а за это должна отвечать samba с параметрами типа
read list = user1, @groupA
write list = user2, @groupB

2. ясно

3. smbldap-tools
я установил и в smb.conf прописано
add user script = /usr/sbin/smbldap-useradd -m %u
delete user script = /usr/sbin/smbldap-userdel %u
add group script = /usr/sbin/smbldap-groupadd -p %g
delete group script = /usr/sbin/smbldap-groupdel %g
add user to group script = /usr/sbin/smbldap-groupmod -m %u %g
delete user from group script = /usr/sbin/smbldap-groupmod -x %u %g
set primary group script = /usr/sbin/smbldap-usermod -g %g %u
add machine script = /usr/sbin/smbldap-useradd -w %u
однако не совсем понял ответ,
пользователей добавлять самому в командной строке? не используя доп. оболочек?

спасибо.

raa77
() автор топика
Ответ на: еще раз уточнения для меня..., пожалуйста от raa77

>т.е. если я правильно понимаю мне не нужно делать chown и/или chmod
для моих папок в системе, а за это должна отвечать samba с параметрами типа
Нужно. Права в файловой системе никто не отменял. Samba предоставляет возможность контроля доступа лишь со своей стороны. Т.е. есть мы запрещаем доступ к шаре с помощью настроек Samba, то никто доступа к ней и не получит, независимо от прав на директорию в файловой системе.
Если с помощью скриптов из smbldap-tools вы создаёте, например, пользователя с параллельным созданием его домашней директории, то (насколько я помню) скрипт сам назничит соответствующие права в файловой системе на эту директорию.

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

Да. Если хочется, можно написать оболочку. Webmin это всё умеет. Просто сам им не пользуюсь.

/usr/sbin/smbldap-useradd -m vasya

Читай хелп к конкретным командам.

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

>Нужно. Права в файловой системе никто не отменял.

Samba предоставляет возможность контроля доступа

лишь со своей стороны. Т.е. есть мы запрещаем доступ


к шаре с помощью настроек Samba, то никто доступа к


ней и не получит, независимо от прав на директорию


в файловой системе.



замечательно:) вот теперь все встало на «свои места», т.е. вернулись к первоначальному вопросу #1, я хочу дать опред. права группе, должна ли она быть в unix-группах? т.к. без её присутствия chown(chmod) дать я не могу, или я чего не так понимаю!?

Если с помощью скриптов из smbldap-tools вы создаёте,

например, пользователя с параллельным созданием его


домашней директории, то (насколько я помню) скрипт сам


назничит соответствующие права в файловой системе на эту


директорию.



с пользователем всё прекрасно работает, вопрос возник с группами.

raa77
() автор топика
Ответ на: комментарий от raa77

>замечательно:) вот теперь все встало на «свои места», т.е. вернулись к первоначальному вопросу #1, я хочу дать опред. права группе, должна ли она быть в unix-группах? т.к. без её присутствия chown(chmod) дать я не могу, или я чего не так понимаю!?
Можешь. Читай про NSS. Я так понимаю, что под unix-группами (пользователями) ты имеешь в виду записи в /etc/passwd, /etc/group?

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

>Можешь.

покажите, пожалуйста, если не секрет?

Читай про NSS.


прошу прощения, действительно Оч.мало вчитывался.

Я так понимаю, что под unix-группами (пользователями)

ты имеешь в виду записи в /etc/passwd, /etc/group?



да, именно.

спасибо.

raa77
() автор топика
Ответ на: комментарий от raa77

Пакет: acl
Описание: утилиты управления списками доступа
В пакете содержатся утилиты getfacl и setfacl, позволяющие управлять списками доступа.

а это не будет тормозить обращение к файлам и папкам!?

raa77
() автор топика
Ответ на: комментарий от raa77

acl тут ни при чём. UID & GID - это атрибуты файлов/папок, которые изначально представлены в виде цифр. Преобразованием, например, UID->username занимается NSS.

прошу прощения, действительно Оч.мало вчитывался.

Так почитайте. Если конкретнее, пользуй libnss-ldap. Если плюз к этому (назначение прав на шары) нужна ещё авторизация этих самых пользователей на сервере (не на Samba-сервере), то читай libpam-ldap.

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

>acl тут ни при чём. UID & GID - это атрибуты файлов/папок,

которые изначально представлены в виде цифр.

Преобразованием, например, UID->username занимается NSS.



прошу прощения, действительно Оч.мало вчитывался.

Так почитайте. Если конкретнее, пользуй libnss-ldap.

Если плюз к этому (назначение прав на шары) нужна ещё


авторизация этих самых пользователей на сервере


(не на Samba-сервере), то читай libpam-ldap.



красивые слова. я ж прошу ткните пальцем, в чем трабл?
вы все - читай-читай, а сами таки оч. невнимательны, я описал ранее.
ВСЕ настроено и работает именно с libnss-ldap и libpam-ldap.
по пользователям нет проблем, я не понимаю как с группами быть.
конкретно можете ответить? пример?
и еще, плиз, где ж прочитать по-русски?

raa77
() автор топика
Ответ на: комментарий от raa77

Всё зависит от дистрибутива. Нужно смотреть конфиг libnss-ldap и nss.
Конфиг NSS, наверное, у всех валяется в /etc/nsswitch.conf. Для резолвинга GID нужна примерно такая строчка:
group: files ldap

Расположение конфига libnss-ldap у всех разное: Ubuntu - /etc/ldap.conf, Debian - /etc/libnss-ldap.conf. Других под рукой нету.
В нём должна присутствовать директива, указывающая меторасположение записей о группах в LDAP. Например:
nss_base_group ou=Groups,dc=example,dc=org?one

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

>Всё зависит от дистрибутива
как я писал ранее это Debian Lenny 5.0.4

nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap

в файле libnss-ldap.conf
ссылка на ldap://...
описание админа
...
строки типа

Например:

nss_base_group ou=Groups,dc=example,dc=org?one


закоментированы.
хорошо, поправить не проблема.
и все же КАК мне дать права на папку для группы ldap, если её нет в /etc/group
спасибо.

raa77
() автор топика
Ответ на: комментарий от raa77

и все же КАК мне дать права на папку для группы ldap, если её нет в /etc/group


настроить nss_ldap и nsswitch, появятся группы в системе, будете раздавать им права.

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

круто:)

>getenv passwd

getenv group

Должен увидеть записи об аккаунтах и группах.


getent passwd
getent group
показывает пользователей и группы из ldap.

однако теперь отвалилось добавление машин (WinXP) в домен.
ввожу root и пароль, пишет `Не найдено имя пользователя`

auth.log
smbd[4531]: pam_unix(samba:session): session opened for user root by (uid=0)
smbd[4531]: pam_unix(samba:session): session closed for user root
smbd[4532]: pam_unix(samba:session): session opened for user root by (uid=0)
smbd[4532]: pam_unix(samba:session): session closed for user root

log.comp1
passdb/pdb_interface.c:pdb_default_create_user(336)
_samr_create_user: Running the command `/usr/sbin/smbldap-useradd -w «comp1$»' gave 9

машина в ldap добавляется.
в чем может быть засада? что сломал по пути?
спасибо.

raa77
() автор топика
Ответ на: круто:) от raa77

Тэекс. Было такое же у меня, но там была проблема в случае BDC.
Сначала, в LDAP добавляются записи утилитами из smbldap-tools, потом samba должна добавить к этому dn samba-специфичные атрибуты, но, по-видимому, она не находит этот самый dn.
Подтверди, одинаков ли состав атрибутов у dn вновь добавляемой машины в LDAP с уже существующими?

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

>Подтверди, одинаков ли состав атрибутов у dn

вновь добавляемой машины в LDAP с уже существующими?


имеющихся нет.
в процессе настройки nss/pam пришлось переставлять всё, т.к. никем не мог войти в систему :)

raa77
() автор топика
Ответ на: комментарий от raa77

победил. проблемы были в шифровании.
pam_ldap.conf добавил pam_password md5
ldap.conf <- pam_password exop

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