首页 > 代码库 > 开发电子商城5(linux下安装tvsftpd)
开发电子商城5(linux下安装tvsftpd)
1:先检查linux下是否安装了vsftpd
2:安装了的话就删除原来的
yum remove vsftpd
3::再到yum库中安装
yum -y install vsftpd
4:在根目录下创建一个文件夹。这是文件上传保存的路径
mkdir /ftpfile
或者
cd /
mkdir ftpfile
5:为上传添加一个用户 ,以i后上传都用这个用户
useradd ftpuser -d /ftpfile/ -s /sbin/nologin
这里意思是添加一个叫做 ftpuser的用户,这个用户一登陆就进入 /ftpfile文件夹,这个用户不允许shell等登录方法,但是可以登录ftp服务器
关于更多的useradd 命令可以参见
http://man.linuxde.net/useradd
和
http://blog.csdn.net/danson_yang/article/details/65629948
6:把新建的ftpfile文件夹 分配给 ftpuser
chown -R ftpuser.ftpuser /ftpfile/
更多的关于 chown 命令 参见 http://man.linuxde.net/chown
7:给ftpuser 设置密码
passwd ftpuser
我设置为:(123456)
8:去ftpfile 下创建一份文件 以后测试用
vim /ftpfile/index.html
随便往文件中写点什么 然后保存退出
9:去ftpfile的配置文件下修改一些配置
9.1 先找到配置文件在什么地方
whereis vsftpd
9.2 修改配置文件
cd /etc/vsftpd
vim vsftpd.conf
9.3 首先找banner节点
/banner
可以把 #ftpd_banner=Welcome to blah FTP service.
的这一行注释取消 再改成 Welcome to 【自己的站点的名字】FTP service. 这里的意思 进入ftp服务器 的欢迎语句
9.4 在banner 节点下继续添加如下2个配置
1)local_root=/ftpfile(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录)
2)anon_root=/ftpfile(使用匿名登入时,所登入的目录)
9.5 继续寻找 chroot_list 节点
打开 #chroot_list_enable=YES------》chroot_list_enable=YES
打开 chroot_list_file=/etc/vsftpd/chroot_list
9.6 再回到banner 节点下去添加配置
use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
9.7 暂时退出插入模式(ctrl+o) 寻找anonymous 节点
把 anonymous_enable=YES 改成 anonymous_enable=NO(不允许匿名用户登录)
9.8 修改 或者 创建 /etc/vsftpd/chroot_list 文件
这个文件记录的是可以远程使用ftpserver的用户的集合
把新建的ftpuser 写入其中
9.9 :为了让刚才的配置生效 重新启动vsftpd
service vsftpd restart
9.10 确保 local_enable=YES(允许本地用户登录)
9.11 确保 write_enable=YES(本地用户可以在自己家目录中进行读写操作)
9.12 确保local_umask=022(本地用户新增档案时的umask值)
9.13 确保 dirmessage_enable=YES(如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启)
9.14 确保 xferlog_enable=YES(是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。)
9.15 确保 connect_from_port_20=YES(指定FTP使用20端口进行数据传输,默认值为YES)
9.16 确保 xferlog_std_format=YES(如果启用,则日志文件将会写成xferlog的标准格式)
9,17 确保 chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
9.18 确保 chroot_local_user=NO(用于指定用户列表文件中的用户是否允许切换到上级目录) 获得 被注释
9.19 确保 listen=YES 和 pam_service_name=vsftpd
9.20:确保 tcp_wrappers=YES
9.21 在 pam_service_name=vsftpd之下添加如下配置
pasv_min_port=61001(被动模式使用端口范围最小值)
pasv_max_port=62000(被动模式使用端口范围最大值)
pasv_enable=YES(pasv_enable=YES/NO(YES)
若设置为YES,则使用PASV工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
一、PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了****端口,你过来连接我”。于是服务器从20端口向客户端的****端口发送连接请求,建立一条数据链路来传送数据。
二、PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了****端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。
10:编辑防火墙 把vsftp的端口号 解放
#vsftpd
-A INPUT -p tcp --dport 61001:62000 -j ACCEPT
-A OUTPUT -p tcp --sport 61001:62000 -j ACCEPT
-A INPUT -p tcp --dport 20 -j ACCEPT
-A OUTPUT -p tcp --dport 20 -j ACCEPT
-A INPUT -p tcp --dport 21 -j ACCEPT
-A OUTPUT -p tcp --dport 21 -j ACCEPT
11:让防火墙起作用 和 重启vsftpd
service iptables restart
service vsftpd restart
12:修改 /etc/selinux/conf
把 SELINUX=enforcing 改成 SELINUX=disable
这好像是为了确保远程用户 可以在服务器中创建文件夹
马上起作用: setenforce 0
13 再重新启动 vsftpd
14 test
参照:http://www.gzidc.org/hostq/n685.html
开发电子商城5(linux下安装tvsftpd)