qbayfwhjqn 发表于 2016-6-8 09:33:11

FTP服务器搭建

众所周知,FTP服务器用来上传和下载文件,采用FTP协议。

    首先我们来安装FTP
1.$ yum install vsftpd(vsftpd是众多FTP软件中较为安全的一个)。
2.修改配置文件vsftpd.conf,路径为/etc/vsftpd/vsftpd.conf
   如果是ubuntu系统的话,路径为   /etc/vsftpd.conf

以下我针对两种身份进行ftp设定

第一种:针对实体账号设定

1.vi /etc/vsftpd/vsftpd.conf
2.修改配置,最后配置信息如下

anonymous_enable=NO//匿名用户登录
local_enable=YES    //实体用户登录
write_enable=YES    //是否可以上传文件
local_umask=002      //建立目录(755)和文件(644)权限
userlist_enable=YES//自定义阻挡实体用户访问
   userlist_deny=YES    //与userlist_enable一起用,起阻拦用户登录用
userlist_file=/etc/vsftpd/uesr_list//该文件默认不存在,需手动建立,内容可复制/etc/vsftpd/ftpusers文件,效果类似
//与服务器相关设置
use_localtime=YES   //这个尽量选YES,否则系统用格林威治时间
dirmessage_enable=YES   //若目录下有.message会显示该内容
xferlog_enable=YES   //启动日志记录,记录于/var/log/xferlog
connect_from_port_20=YES //从20端口进行连接,支持主动连接
xfelog_std_format=YES    //支持wuftp日志文件格式。
listen=YES               //支持stand alone 方式启动
pam_service_name=vsftpd   //支持pam模块管理
tcp_wrappers=YES//支持tcp wrappers防火墙机制
banner_file=/etc/vsftpd/welcome.txt//用户登录提示,需手动建立

#添加针对某些实体用户来chroot的相关设置
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

如果按以上配置需创建chroot_list文件:
$ vi /etc/vsftpd/chroot_list //建立不被chroot的用户帐号列表,即使没有帐号存在,该文件也要存在


3.重启ftp服务器
$ /etc/init.d/vsftpd restart
$ chkconfig vsftpd on   //设置开机启动

第二种,针对匿名用户登录
1.创建提供匿名用户下载上传文件的目录
$ mkdir /var/ftp/uploads
$ mkdir /var/ftp/downloads
#如果让用户可以上传下载文件
   $ chown ftp /var/ftp/uploads
   $ chown ftp /var/ftp/downloads

2.修改vsftpd.conf
$ vi /etc/vsftpd/vsftpd.conf
   
    #与匿名用户相关信息
    anonymous_enable=YES
   no_anon_password=YES//匿名登录时,是否校验密码
    anon_max_rate=1000000//最大带宽使用为1MB/s
   data_connection_timeout=60 //数据流连接timeout为60秒
    idle_connection_timeout=600 //匿名用户无操作10分钟后断线
    max_clients=50//最大连接数50
   max_per_ip=5//每个ip最多有5个连接
   
   #让匿名用户可以自己上传下载文件
    write_enable=YES
    anon_other_write_enable=YES
   anon_mkdir_write_enable=YES
   anon_upload_enable=YES
   
    #与实体用户相关信息
   local_enable=NO
   #与服务器相关信息
    use_localtime=YES
   dirmessage_enable=YES
   xferlog_enable=YES
   connect_from_port_20=YES
   xferlog_std_format=YES
   listen=YES
   pam_service_name=vsftpd
   tcp_wrappers=YES
   banner_file=/etc/vsftdp/anon_welcome.txt//需手动建立,提示文件
   
3.重启服务器
   $ /etc/init.d/vsftpd restart

如果以上配置,登录时有报错 500 OOPS:cannot change directory:home/test/
修改SELinux防火墙如下
   $ getsebool -a |grep ftp
   $ setsebool -P ftp_home_dir=1
页: [1]
查看完整版本: FTP服务器搭建