Предполагается, что сервер каталогов openldap уже установлен и настроен.
Устанавливаем nss_ldap
# cd /usr/ports/net/nss_ldapОтредактируем файл конфигурации
# make install
/usr/local/etc/nss_ldap.conf
host small.serverИзменим следующие строки в
base dc=small,dc=server
# Пользователь, которому разрешен просмотр каталога
binddn uid=proxy,dc=small,dc=server
# Пароль пользователя proxy
# Пароль не надо хешировать!
bindpw proxy-password
scope sub
bind_timelimit 3
bind_policy soft
nss_paged_results yes
pagesize 1000
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_password exop
nss_base_passwd ou=People,dc=small,dc=server?one
nss_base_shadow ou=People,dc=small,dc=server?one
nss_base_group ou=Group,dc=small,dc=server?one
/etc/nsswitch.conf
group: files ldapПроверяем работу
passwd: files ldap
nss_ldap
# id user-from-ldapДолжно выйти что-то похожее на
uid=10000(user-from-ldap) gid=10000(Group-from-LDAP) groups=10000(Group-from-LDAP)Устанавливаем
pam_ldap
#cd /usr/ports/security/pam_ldapОтредактируем файл конфигурации
# make install
pam_ldap
: /usr/local/etc/ldap.conf
host small.serverУстановка самого сервера FTP
base dc=small,dc=server
binddn uid=proxy,dc=small,dc=server
# Пароль не надо хешировать!
bindpw proxy-password
scope one
bind_timelimit 3
bind_policy soft
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_password exop
nss_base_passwd ou=People,dc=small,dc=server?one
nss_base_shadow ou=People,dc=small,dc=server?one
nss_base_group ou=Group,dc=small,dc=server?one
# cd /usr/ports/ftp/vsftpdВ появившемся диалоге ставим галочку около опции
make config
RC_NG
и далее# make installНиже приведен файл конфигурации
vsftpd
: /usr/local/etc/vsftpd.conf
#Запрещаем анонимусовСоздаем файл конфигурации PAM:
anonymous_enable=NO
listen=YES
background=YES
# Указываем какую именно конфигурацию PAM использовать
pam_service_name=vsftpd
check_shell=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
# Скрываем какой именно сервер FTP у нас стоит
ftpd_banner=Welcome to FTP service.
# Помещаем пользователей в изолированное окружение
chroot_local_user=YES
pasv_min_port=49152
# Скрываем uid и gid файлов при просмотре директорий.
hide_ids=YES
local_umask=022
anon_umask=022
secure_chroot_dir=/usr/local/share/vsftpd/empty
/usr/local/etc/pam.d/vsftpd
auth required /usr/local/lib/pam_ldap.soДобавим следующую строку в
account required /usr/local/lib/pam_ldap.so
# Если вы хотите разграничить доступ к ftp по группам
# можете дополнительно установить модуль pam_require
# и добавить приведенную ниже строку. Подробности тут
account required /usr/local/lib/pam_require.so no_case @Ftp:Users
# Строка для модуля pam_mkhomedir,
# избавляющего от необходимости ручного
# создания домашней директории для нового пользователя
session required /usr/local/lib/pam_mkhomedir.so mode=0700
/etc/rc.conf
vsftpd_enable="YES"Запускаем сервер FTP и проверяем его работу :)
# /usr/local/etc/rc.d/vsftpd start
Комментариев нет:
Отправить комментарий