原来一直没用过vsftpd,本想vsftpd这么流行,这么出名,这么成熟,网上找点
配置复制一下不就可以了嘛,不用去啃那一项项配置单吧。网上确实也有很多教程,但彼此之间又有那么点点不同,复制了几个,连启动都启动不了,最后还是要自己可以下,同时把我可用的原版发出来,希望其他人可以复制就用。
参考http://blog.csdn.net/liangxanhai/article/details/8157922
1、安装vsftpd
apt-get install
vsftpd
2、添加用户
useradd vsftpd -d /home/xf_ftp -s /bin/false
3、修改/etc/vsftpd.conf(复制可用),这里要注意:
配置文件每一行后面与前面不要有多余的空格,不然vsftpd启动不了,其他文件也按这种方式最好。
-
listen=YES
-
anonymous_enable=NO
-
dirmessage_enable=YES
-
xferlog_enable=YES
-
xferlog_file=/var/log/vsftpd.log
-
xferlog_std_format=YES
-
chroot_local_user=YES
-
guest_enable=YES
-
guest_username=xf_ftp
-
user_config_dir=/etc/vsftpd/vsftpd_user_conf
-
pam_service_name=vsftpd.u
-
local_enable=YES
-
secure_chroot_dir=/var/run/vsftpd
4、创建虚拟用户
创建文件/etc/vsftpd/login.txt ,内容如下:
user1
1234567
user2
1234567
生成数据库文件,
db5.1_load根据自己电脑上的版本来吧,改一下就可以了。
db5.1_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
5、添加/etc/pam.d/vsftpd.u(虚拟用户认证文件)
这个文件夹下本来有vsftpd文件,这里根据上面的配置重新创建了一个而已(
pam_service_name=vsftpd.u),认证虚拟用户用的。
这里要特别注意:
pam_userdb.so文件不同电脑版本位置可能不一样,可以通过find -name "pam_userdb.so" 查找,/etc/vsftpd/vsftpd_login不要加后缀.db,不然认证会找不到文件。
-
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
-
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
这一步完了应该就可以登陆了,service vsftpd restart,这里会报
原因是
/home/xf_ftp不能有写权限,去除即可。
6、添加虚拟目录
根据vsftpd.conf文件中的
user_config_dir=/etc/vsftpd/vsftpd_user_conf,
创建文件夹/etc/vsftpd/vsftpd_user_conf,在文件夹下创建用户配置文件user1与user2,内容如下
user1:
-
local_root=/mnt/data1/xufu_ftp/user1
-
write_enable=YES
-
anon_world_readable_only=NO
-
anon_upload_enable=YES
-
anon_mkdir_write_enable=YES
-
anon_other_write_enable=YES
user2:
-
local_root=/mnt/data1/xufu_ftp/user2
-
write_enable=YES
-
anon_world_readable_only=NO
-
anon_upload_enable=YES
-
anon_mkdir_write_enable=YES
-
anon_other_write_enable=YES
创建目录/home/xf_ftp/user1与/home/xf_ftp/user2,同样去掉写权限,如果要写权限的文件加,创建/home/xf_ftp/user1/folder,chmod 777 folder,这样folder下就可以读写了。
阅读(938) | 评论(0) | 转发(0) |