Не могу сопрячь vsftpd и pam_mkhomedir.so. Перерыл весь Инет, то так и не решил проблему автоматического создания домашней директории для пользователей vsftpd. Подскажите кто чем может!
Виртуальный пользователь user1 успешно авторизуется если создана папка /home/vsftpd/user1/. Если папка /user1 отсутствует, то, по идее, pam_mkhomedir.so должен ее создвать. Однако этого не происходит и при коннекте ftp-клиента получаем следующее:Connect to: (07.06.2011 14:59:13)
hostname=proxy.lesnoj.lan
username=user1
startdir=
proxy.lesnoj.lan=192.168.1.1
220 (vsFTPd 2.0.5)
USER user1
331 Please specify the password.
PASS ***********
500 OOPS: cannot change directory:/home/vsftpd/user1
Retry: Wait 2 sec
proxy.lesnoj.lan=192.168.1.1
220 (vsFTPd 2.0.5)
USER user1
331 Please specify the password.
PASS ***********
500 OOPS: cannot change directory:/home/vsftpd/user1
QUIT
Retry: Wait 5 sec
Прервано пользователем.
Привожу информацию которая может подсказать где я ошибся.
[root@proxy etc]# cat /etc/redhat-release
CentOS release 5.6 (Final)
[root@proxy LESNOJ]# uname -a
Linux proxy.lesnoj.lan 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:56 EDT 2011 i686 i686 i386 GNU/Linux
[root@proxy LESNOJ]# rpm -qa vsftpd
vsftpd-2.0.5-16.el5_6.1
[root@proxy vsftpd]# cat /etc/vsftpd/vsftpd.conf
listen=YES
pasv_enable=NO
port_enable=YES
connect_from_port_20=YES
write_enable=YES
local_enable=YES
pam_service_name=vsftpd
session_support=YES
setproctitle_enable=YES
use_localtime=YES
write_enable=YES
chroot_local_user=YES
virtual_use_local_privs=YES
hide_ids=YES
# here the vsftpd will allow the 'vsftpd' user to login into '/home/vsftpd/$USER directory
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
[root@proxy vsftpd]#
[root@proxy vsftpd]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth required pam_mysql.so user=vsftpd passwd=vsftpdsql host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=3
account required pam_mysql.so user=vsftpd passwd=vsftpdsql host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=3
session optional pam_mkhomedir.so
session required pam_mysql.so user=vsftpd passwd=vsftpdsql host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=3
[root@proxy vsftpd]#
[root@proxy vsftpd]# cat /etc/passwd |grep vsftpd
vsftpd:x:10194:10194::/home/vsftpd:/bin/bash
[root@proxy vsftpd]#
[root@proxy vsftpd]# ll /lib/security/ |grep pam_m
-rwxr-xr-x 1 root root 10240 Ноя 2 2010 pam_mail.so
-rwxr-xr-x 1 root root 15880 Ноя 2 2010 pam_mkhomedir.so
-rwxr-xr-x 1 root root 3892 Ноя 2 2010 pam_motd.so
-rwxr-xr-x 1 root root 36920 Фев 28 2008 pam_mysql.so