linux下搭建FTP服务器

>>PS:本文乃个人学习之用,linux系统为fedora 14.

*************FTP文件说明*********************


本FTP服务器软件包为vsftpd-2.3.4-1.fc14.i686.rpm


FTP客户端软件包为ftp-0.17-51.fc12.i686.rpm


1、vsftpd不再由xinetd控制;


2、FTP使用port 21发起连接,使用port 20进行数据传输;


3、vsftpd配置文件:    /etc/vsftpd/vsftpd.conf         #主配置文件


            /etc/vsftpd/vsftpd/ftpusers     #拒绝该文件中列出的用户登录FTP


            /etc/vsftpd/vsftpd/user_list    #默认同ftpusers相同


4、查看/etc/passwd文件,可以看到FTP默认的共享目录路径为/var/ftp;


5、FTP日志文件:/var/log/xferlog


6、相关软件包:tcp_wrappers、ip_conntrack_ftp、ip_nat_ftp


    (这3个软件包是教材上列出的,我没有测试过其用途,有兴趣的朋友可以研究一下)


7、启动和停止vsftp指令:


#service vsftpd start       //启动vsftpd服务


#service vsftpd stop        //停止vsftpd服务


#service vsftpd restart     //重启vsftpd服务,每次更改FTP相关配置后,一定要用该命令重启vsftpd服务


#chkconfig vsftpd on        //使vsftpd服务开机启动。(可选操作)


8、注意SElinux的安全性质:


一般SElinux是被强行启用的,对许多服务都默认有权限控制,如果在我们对FTP服务器测试时碰到一些莫名奇妙的错误时,可以关闭SElinux,


也可以仅关闭SElinux对FTP服务的保护设置;


#sestatus         //查看当前系统SElinux是否开启


如果开启了,则打开/etc/selinux/config文件,编辑:将SELINUX=enforcing改成SELINUX=disabled,并把SELINUXTYPE=targeted注释掉!



或者#setsebool -P ftpd_disable_trans 1     //仅关闭SELinux对FTP的保护


*************FTP权限需求**********************


a.允许匿名用户登录;


b.允许匿名用户上传和下载资料(拒绝覆盖已有资料);


c.允许本地用户登录;(注意SElinux的影响)


d.FTP共享目录/var/ftp/


e.拒绝匿名用户创建新文件或者文件夹;


f.使登录用户可以下载共享资料


************************************************



1、查询本机是否已经安装ftp-server和ftp-client;


#rpm -qa vsftpd


#rpm -qa ftp



2、如果没有安装,则下载相应软件包,或者yum在线安装;


#yum install vsftpd     //ftp服务器软件包


#yum install ftp        //ftp客户端软件包



3、编辑/etc/vsftpd/vsftpd.conf


anonymous_enable=YES      //允许匿名用户登录



local_enable=YES          //允许本地用户登录



write_enable=YES          //允许登录到FTP的用户执行写操作



local_umask=022


anon_umask=077            //匿名用户上传的文件权限都会进行umask的计算,变成-rw- --- ---



anon_upload_enable=YES    //允许匿名用户上传文件



xferlog_file=/var/log/vsftpd.log     //FTP服务器日志文件默认路径



ftpd_banner=***********Welcome to My FTP Server***********



4、开启vsftpd服务


#service vsftpd start



5、在FTP共享目录下建立文件夹


#mkdir /var/ftp/pub              //用于存放共享文件资料


#mkdir /var/ftp/incoming         //用于存放匿名用户上传的资料



#ls -l /var/ftp/


drwxr-xr-x. 2 root root 4096  5月  8 14:13 incoming


drwxr-xr-x. 2 root root 4096  5月  8 14:15 pub


//新创建的文件夹默认归属于root用户和用户组,需要更正!



#chown ftp.ftp /var/ftp/incoming       //改为所属用户为ftp,用户组为ftp组


#chown ftp.ftp /var/ftp/pub


#ls -l /var/ftp


drwxr-xr-x. 2 ftp ftp 4096  5月  8 14:13 incoming


drwxr-xr-x. 2 ftp ftp 4096  5月  8 14:15 pub



6、登录到FTP服务器


#ftp 127.0.0.1


Connected to 127.0.0.1 (127.0.0.1).


220 ************Welcome to My FTP Server*************.


Name (127.0.0.1:root): ftp                //这里的登录用户名输入ftp或者anonymous或者本地有效账户名


331 Please specify the password.


Password:                                 //匿名登录时,直接回车


230 Login successful.


Remote system type is UNIX.


Using binary mode to transfer files.


ftp>



还有一种方法也可以登录到FTP服务器:打开火狐浏览器,输入ftp://127.0.0.1,即可匿名登录;


或者ftp://[email protected],使用本地账户登录,回车后会弹出输入密码的对话框!



7、允许登录用户下载/var/ftp/pub中的文件资料


使用管理员帐号:


#chmod +r /var/ftp/pub/*          //修改pub目录下文件的读权限



你可能感兴趣的:(linux,职场,ftp,休闲,vsftp配置)