LINUX 下配置FTP工具 vsftp

时间: 2018-05-19 18:12:15       来源:本站原创      作者:残梦

VSFTP配置整体来说非常简单,安装就不用说了。直接可以在安装LINUX系统时选择FTP功能安装。因为一般没什么问题,所以一般也不用升级处理。 默认安装VSFTP的命令
service v


VSFTP配置整体来说非常简单,安装就不用说了。直接可以在安装LINUX系统时选择FTP功能安装。因为一般没什么问题,所以一般也不用升级处理。
默认安装VSFTP的命令
service vsftpd start 启动
service vsftpd stop 关闭
service vsftpd restart 重启

1.生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单数行为用户名,偶数行为口令:   
#vi /etc/vsftpd/account.txt


内容:
www_6acm_com
123456
6acm_com
654321

2.生成口令库文件,并修改其权限:
#db_load -T -t hash -f /etc/vsftpd/account.txt /etc/vsftpd/account.db
#chmod 600 /etc/vsftpd/account.db

3.新建一个虚拟用户的PAM文件。加上如下两行内容:
#vi /etc/pam.d/vsftp.vu
--------------------------------------------------------------------
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib/security/pam_userdb.so db=/etc/vsftpd/account
-------------------------------------------------------------------

4.建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限:
#useradd -d /var/www/ -s /sbin/nologin virtual_user
chmod -R 777 /var/www/ (文件夹权限)
经过该步骤的设置,/ftp就是virtual_user用户的主目录,该用户也是/ftp目录的拥有者。除root用户之外,只有该用户具有对该目录的读、写和执行的权限。

5.编辑/etc/vsftpd/vsftpd.conf文件,使其整个文件内容如下所示(去掉了注释内容):
6.2参考 (实例 vsftpd.conf)
 

pasv_enable=YES
pasv_min_port=40000     //PASV连接模式时可以使用port范围的下界,0表示任意。
pasv_max_port=40006    //PASV连接模式时可以使用port范围的上界,0表示任意。
pasv_promiscuous=YES

anonymous_enable=NO
local_enable=YES
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
one_process_model=NO
chroot_local_user=YES
ftpd_banner=Welcom to my FTP server.
anon_world_readable_only=NO
guest_enable=YES
guest_username=virtual_user
pam_service_name=vsftp.vu
user_config_dir=/etc/vsftpd/vconf

6 /etc/vsftpd/vconf下建立对应用户名文件 (实例 www_6acm_com)
如:/etc/vsftpd/vconf/www_6acm_com
local_root=/var/www/www_6acm_com
anonymous_enable=NO                        是否允许匿名用户登录
anon_world_readable_only=YES/NO      匿名用户可以读文件/不能
write_enable=YES                                  是否允许本地用户上传
local_umask=022                                   默认权限设置
anon_upload_enable=YES                      允许上传
anon_mkdir_write_enable=YES       //匿名用户可以建立目录
anon_other_write_enable=YES   //匿名用户可以重名名、删除等权限
idle_session_timeout=300          //空闲连接超时时间
data_connection_timeout=90        //数据传输超时时间
max_clients=100                          //可接受的最大连接数
max_per_ip=100               //每个IP地址的最大连接数
local_max_rate=5000000         //本地用户的带宽(b/s)

6.重新启动VSFTP:
 
#service vsftpd restart

试试看?是否成功了?

其他:上传不成功

553 Could not create file.
要解决这个问题只要:
1. setsebool -P ftpd_disable_trans 1
2. service vsftpd restart
就可以了。

RedHat的 /etc/sysconfig/selinux
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled

把 SELINUX设定为disable, 下次启动系统后将会停止SElinux。
相关信息