LINUX.ORG.RU

Proftpd chroot


0

0

Пытаюсь заставить Proftpd работать в chroot окружении. Вроде бы, все библиотечки ему скопировал, по ldd в chroot он себе все видет.
Но при запуске рисует ошибку:

[root@server etc]# chroot /home/proftpd.chroot/ /usr/bin/ldd /usr/sbin/proftpd
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7f48000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7f31000)
libdes425.so.3 => /usr/lib/libdes425.so.3 (0xb7f2d000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7eb8000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7e90000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7e8d000)
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7e5c000)
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7d5c000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb7d49000)
libldap.so.2 => /usr/lib/libldap.so.2 (0xb7d18000)
liblber.so.2 => /usr/lib/liblber.so.2 (0xb7d0c000)
libpam.so.0 => /lib/libpam.so.0 (0xb7d04000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb7cf3000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7bd3000)
libdl.so.2 => /lib/libdl.so.2 (0xb7bd0000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7bbb000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7f77000)
[root@server etc]# chroot /home/proftpd.chroot/ /usr/sbin/proftpd
- getaddrinfo 'sserver' error: Name or service not known
- warning: unable to determine IP address of 'server'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd.conf'


Разобрался. :-)
Оказалось, забыл положить ему /etc/hosts /etc/nsswith.conf /etc/resolv.conf

Теперь он другому возмущается - процесс висит, соединения устанавливает, но при логине пишет access denied. Файлы /etc/passwd /etc/shadow /etc/group есть.

R00T
() автор топика

> getaddrinfo 'sserver' error: Name or service not known

положи в чрут /etc/services

а вообще посмотри с помощью strace - чего он там не находит

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

/etc/shells насколько помню нужно если RequiredValidShell on стоИт. а вообще у proftpd отличный логгинг - ExtendedLog пробовал включать и смотреть почему "access denied" ?

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

Все, разобрался, спасибо. :-)

Юзеру, под которым коннектился, забыл дать права на домашний каталог. :-)

Теперь все работает. Всем спасибо.

R00T
() автор топика

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

The DefaultRoot directive controls the default root directory assigned to a user upon login. If DefaultRoot is set to a directory other than "/", a chroot operation is performed immediately after a client authenticates. This can be used to effectively isolate the client from a portion of the host system filespace. The specified root directory must begin with a / or can be the magic character '~'; meaning that the client is chroot jailed into their home directory.

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

ты путаешь понятия. chroot для юзера и chroot для сервиса в целом - несколько разные вещи. и второе намного лучше с точки зрения security.

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

да нет, это понятно, но на сколько, с практической точки зрения, необходимо (вроде бы давненько в proftpd серьезных багов не находили) и не слишком ли параноидально?

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

ну это уж каждый сам для себя решает :) я бы в большинстве случаев не стал proftpd полностью в jail сажать, но опять же - это мое imho ;)

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

Угу... А данные между сервисами (например, между FTP и HTTP) передавать через хардлинки ;-). Заодно дополнительный уровень надежности - если взломают апач и сотрут все нафиг, то по FTP те же самые данные будут вполне себе доступны. ;-)

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