LINUX.ORG.RU

limits в pam.d


0

0

Проблема следующая: Такие службы как samba или ftp выполняют задачи от имени тех, кто их запускает. Необходимо сделать так, чтобы эти задачи запускались с учетом установленных лимитов этих пользователей.

И в /etc/pam.d/vsftpd и в /etc/pam.d/samba есть строка: session required pam_limits.so (полный путь к pam_limits.so писал - не помогает)

В /etc/pam.d/login тоже есть эта строка и там все лимиты работают.

Может кто-то знает как решить проблему?

anonymous
Ответ на: комментарий от ivlad

Спасибо. Этот не решает проблемы. И vsftpd и samba поддерживают pam.d. В их файлах прописано использование pam_limits.so

Однако, лимиты не применяются

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

Если vsftpd и samba поддерживают PAM для аутентификации и управления сессиями (а на счет последнего я не уверен) пользователя, то это значит, что соответствующие ограничения будут установлены после того, как отработает PAM.

Короче, лимиты пользователя ftp и не должны применяться к основному демону.

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

Это понятно. Я согласен. Например и vsftpd и samba запускаются под рутом, но только для того, чтоб открыть порт до 1024.

В top виден демон vsftpd от рута. Когда открывается сессия ftp, появляется еще один процесс vsftpd от имени авторизованного пользователя, а вот на него лимиты НЕ действуют.

например, я установил nice для пользователя user 20, а у него в top виден 0, хотя в /etc/pam.d/vsftpd (в самой настройке сервера естественно указан его файл pam.d)

anonymous
()

> Такие службы как samba или ftp выполняют задачи от имени тех,
> кто их запускает.

А где ты увидел чтобы самба пускала процессы с идентификатором
приконекченного пользователя???

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

в top все видно. По умолчанию, smb запускается от имени реального пользователя nobody. Например, запись в upload у меня идет от реального пользователя upload. Лимиты и для nobody и для upload не применяются

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

> Например, запись в upload у меня идет от реального пользователя upload.

Это ни о чем не говорит. Еще раз. Если samba и делает setuid, это еще не значит, что она применяет pam для чтения информации об ограничениях. Даже если она пользуется PAM для аутентификации. Я думаю, это легко видно из исходников (надо искать что-то вроде pam_open_session вблизи образования дочернего процесса).

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

/etc/pam.d/samba есть. В нем указано pam_limits.so

есть также параметр obey pam restrictions в smb.conf

Должен отметить, что и vsftpd и samba в пакетных версиях линукса (например ASPLinux) поддерживают лимиты (проверял ЛИЧНО). У меня Gentoo и естественно эти два пакета собирал с поддержкой pam.

Просто может не там копаю.... Может кто-нибудь попробует реализовать такую задачу?

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

> Должен отметить, что и vsftpd и samba в пакетных версиях линукса (например ASPLinux) поддерживают лимиты (проверял ЛИЧНО).

Точно? Ну, что ж, тогда ты неправильно собрал. Возьми спеку для rpm и посмотри, как там собрано.

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

я говорил про сборку:-)))

Однако это не слака.... там все НАМНОГО трудней... Здесь проще, надо просто понять, в какой стороне копать... У меня больше идей нет

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

> У меня больше идей нет

Ну, я выше написал, надо посмотреть, отрабатывает ли pam_open_session, или нет.

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

Я скорее всего тупой, но я не знаю как этого сделать... Может подскажешь?

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