В базе данных заведены пользователи (логин, пароль и куча всяких других параметров, в т.ч. разрешение/запрещение доступа к файлопомойке). Необходимо, чтобы одним пользователям давать доступ к файлопомойке, а другим нет. Можно конечно рубить файерволом, но айпишник и сменить можно.
Надо делать через внешнюю авторизацию (клиенты в систему не заведены - они есть только в БД) Т.е. пользователь лезет на файлопомойку, его просят ввести логин и пароль. Далее эти данные передаются внешнему скрипту, который лезет в базу и проверяет пускать или нет. Если пускать - скрипт возвращает код возврата 0, если нет - 1.
Вопрос - можно ли сделать такое стандартными средствами (без переписывания модуля PAM)?
Скорее нет, чем да.
Дело в том, что самбе, что ftp нужно знать userid пользователя, чтобы запускать процесс от имени этого пользователя, расставлять пермишены на файлы, создаваемые этим пользователем. т.е. одним скриптом тут не обойтись, самбе и фтп серверу база пользователей нужна, где как минимум есть username:uid.
Можно конечно перерыть исходники и скомпилять че угодно, но это как минимум время...
>Скорее нет, чем да.
>Дело в том, что самбе, что ftp нужно знать userid пользователя, чтобы
>запускать процесс от имени этого пользователя, расставлять пермишены на файлы, создаваемые
>этим пользователем. т.е. одним скриптом тут не обойтись, самбе и фтп
>серверу база пользователей нужна, где как минимум есть username:uid.Ну можно, например, создать одного пользователя (допустим samba_user). Будет у него uid. А вот пускать под этим пользователем только того, кто пройдет аутентификацию по БД.
>Можно конечно перерыть исходники и скомпилять че угодно, но это как минимум
>время...Дык отож. Поэтому и спрашивал про стандартные средства. Придется видно свой модуль PAM писать.
http://ru.samba.org/samba/docs/man/Samba-HOWTO-Collection.ht...
>В базе данных заведены пользователи (логин, пароль и куча всяких других параметров,
>в т.ч. разрешение/запрещение доступа к файлопомойке). Необходимо, чтобы одним пользователям давать
>доступ к файлопомойке, а другим нет. Можно конечно рубить файерволом, но
>айпишник и сменить можно.
>Надо делать через внешнюю авторизацию (клиенты в систему не заведены - они
>есть только в БД) Т.е. пользователь лезет на файлопомойку, его просят
>ввести логин и пароль. Далее эти данные передаются внешнему скрипту, который
>лезет в базу и проверяет пускать или нет. Если пускать -
>скрипт возвращает код возврата 0, если нет - 1.
>Вопрос - можно ли сделать такое стандартными средствами (без переписывания модуля PAM)?
>Выглядит так, что проще завести их в систему (написать скрипт для синхронизации БД и уч. записей системы). Если это кажется несекьюрным, организовать что-нибудь навроде jail.
>>В базе данных заведены пользователи (логин, пароль и куча всяких других параметров,
>>в т.ч. разрешение/запрещение доступа к файлопомойке). Необходимо, чтобы одним пользователям давать
>>доступ к файлопомойке, а другим нет. Можно конечно рубить файерволом, но
>>айпишник и сменить можно.
>>Надо делать через внешнюю авторизацию (клиенты в систему не заведены - они
>>есть только в БД) Т.е. пользователь лезет на файлопомойку, его просят
>>ввести логин и пароль. Далее эти данные передаются внешнему скрипту, который
>>лезет в базу и проверяет пускать или нет. Если пускать -
>>скрипт возвращает код возврата 0, если нет - 1.
>>Вопрос - можно ли сделать такое стандартными средствами (без переписывания модуля PAM)?
>>
>
>Выглядит так, что проще завести их в систему (написать скрипт для синхронизации
>БД и уч. записей системы). Если это кажется несекьюрным, организовать что-нибудь
>навроде jail.Какие собственно проблемы ?
PAM + Смотреть man smb.conf на предмет force user и username map.
>В базе данных заведены пользователи (логин, пароль и куча всяких других параметров,
>в т.ч. разрешение/запрещение доступа к файлопомойке). Необходимо, чтобы одним пользователям давать
>доступ к файлопомойке, а другим нет. Можно конечно рубить файерволом, но
>айпишник и сменить можно.
>Надо делать через внешнюю авторизацию (клиенты в систему не заведены - они
>есть только в БД) Т.е. пользователь лезет на файлопомойку, его просят
>ввести логин и пароль. Далее эти данные передаются внешнему скрипту, который
>лезет в базу и проверяет пускать или нет. Если пускать -
>скрипт возвращает код возврата 0, если нет - 1.
>Вопрос - можно ли сделать такое стандартными средствами (без переписывания модуля PAM)?
>а зачем модули PAM переписывать? - их сейча всяких-разных как грязи - только выбирать успевай!