CenOS搭建FTP服务器

-------------------------------------------------------------------------准备工作---------------------------------------------------------------------------------
1.检查
->chkconfig --list 查看是否安装vsftpd服务

-------------------------------------------------------------------------安装---------------------------------------------------------------------------------
1.安装服务
->yum -y install vsftpd 使用yum命令直接安装
->touch /var/log/vsftpd.log 然后为它创建日志文件

-------------------------------------------------------------------------配置---------------------------------------------------------------------------------
1.启动配置
->chkconfig --list 
#如果看到的是如下显示的结果:
#vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
#那么我们使用如下命令来配置其自启动:
->chkconfig --level 2345 vsftpd on #2345

->/etc/init.d/vsftpd restart #重启ftp服务
2.配置vsftp服务
->vim /etc/vsftpd/vsftpd.conf #编辑

anonymous_enable=NO  #设定不允许匿名访问
local_enable=YES  #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
chroot_list_enable=YES  #使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log  #设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES  #允许使用ASCII模式上传
ascii_download_enable=YES  #设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd  #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
3.虚拟用户支持(需要手动添加)
->vim /etc/vsftpd/vsftpd.conf #编辑

guest_enable=YES  #设定启用虚拟用户功能。
guest_username=ftp  #指定虚拟用户的宿主用户。centos 里面已经有内置的ftp用户了(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)-RHEL/CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的RHEL/CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)

4.创建chroot list,将ftp用户加入其中: 
touch /etc/vsftpd/chroot_list
echo ftp(#指定虚拟用户的宿主用户。见上) >> /etc/vsftpd/chroot_list

5.进行认证: 
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
yum install db4 db4-utils 或者 yum install db4*(*表示安装所有含db4字符的安装包)
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt(①这五个地方的文件名要一样) ,注意奇行是用户名,偶行是密码
ftpuser1
ftppass1
ftpuser2
ftppass2
接着,.生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db(②、③这五个地方的文件名要一样)
 
编辑认证文件/etc/pam.d/vsftpd
注释掉/etc/pam.d/vsftpd中所有的内容 反正已经不要本地用户的认证了

特别注意 以下区别 
32位系统增加以下两句:
auth      required     pam_userdb.so db=/etc/vsftpd/vuser_passwd(④这五个地方的文件名要一样)
account   required     pam_userdb.so db=/etc/vsftpd/vuser_passwd(⑤这五个地方的文件名要一样)

64位系统增加以下两句:
auth   required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd(④这四个地方的文件名要一样)
account required    /lib64/security/pam_userdb.sodb=/etc/vsftpd/vuser_passwd(⑤这四个地方的文件名要一样)

查看系统支持位数: getconf LONG_BIT
最后,创建虚拟用户个性RHEL/CentOS FTP服务文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser1
内容如下:
local_root=/opt/var/ftp1 虚拟用户的根目录(根据实际修改)
write_enable=YES 可写
anon_umask=022 掩码
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
6.为目录附权限并重启动vsftp服务:
mkdir /opt/var/ftp/ftpuser1(创建ftp储存目录)
chmod 777 /opt/var/ftp/ftpuser1
service vsftpd restart
7.常见问题:
1)553 Could not create file
一般都是SELinux的问题,设置SELinux的一个值,重启服务器即可。
setsebool -P ftpd_disable_trans 1 
service vsftpd restart
2)500 OOPS: bad bool value in config file for: write_enable
注意你的CentOS FTP服务文件中保证每一行最后没有任何空格,一般出错就是在多余的空格上。
3)虚拟用户上传后默认权限为:600,用户无法下载文件
在配置文件中添加或修改anon_umask项的值。如anon_umask=022或000
8.使用命令添加ftp用户(与3.3类似)
9.添加ftp用户,命令格式:
#adduser -d /目录路径 -g ftp -s /sbin/nologin 用户名
如使用:#adduser -d /opt/dongge -g ftp -s /sbin/nologin dongge
增加了一个名为dongge的用户,它的目录属于/opt/dongge下面,属于ftp用户组。此用户是不可以登陆我们终端服务器的。
10.添加密码:
#passwd dongge
设置用户名为FTPUSER的用户在目录下可以读写的权限
#chown -R dongge:ftp /opt/dongge/
11.目录挂载:
如果我们想把/opt/dongge目录挂到我们的ftp目录下面,可以使用mount命令
#mount –-bind /opt/dongge /var/ftp/dongge
这样我们就完成了添加用户与挂载目录的配置。
12.支持http下载
编辑/etc/httpd/conf/httpd.conf文件:
#vi /etc/httpd/conf/httpd.conf
添加如下代码:
Alias /fileshare "/var/ftp/ftpuser1"
<Directory "/var/ftp/ftpuser1">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
重启httpd服务,即可使用http://your_ip/fileshare来访问并下载所需要文件:)
13.偷懒vsftp的配置方法
完成步骤1,2,3.1后,直接将如下代码添加到/etc/vsftpd/vsftpd.conf文件中:
write_enable=YES  #可写
anon_umask=022  #掩码
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

重启vsftpd服务即可

CenOS搭建FTP服务器的更多相关文章

  1. 在Ubuntu Server 14.04中搭建FTP服务器(VMWare)

    自己搭建ftp服务器,方便主机与虚拟机中的Ubuntu传输文件. 选用的ftp软件为vsftpd. 1.命令行: sudo apt-get install vsftpd 2.安装完配置: vsftpd ...

  2. 超简单——自己搭建ftp服务器

    自己搭建ftp服务器 之所以没选择serv-u,一是因为收费,虽说网上有破解版,但是使用过程中发现破解版很不稳定,经常异常死掉,随后改选用免费的filezilla. 1软件获取 从百度搜索 FileZ ...

  3. Linux 搭建FTP服务器

    介绍 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置. 知识点 在linux中使用的FTP是vsftp FTP可以有三种登入方式分别是: 匿名登录方式:不需要用户 ...

  4. RedHat6.2搭建FTP服务器

    我的环境: A:Red Hat Enterprise 6.2 IP:192.168.16.12 此机作测试端 B:Red Hat Enterprise 6.2 IP:192.168.16.13 此机做 ...

  5. 使用FileZilla等软件搭建ftp服务器

    FTP的全称是File Transfer Protocol(文件传输协议).顾名思义,就是专门用来传输文件的协议. FTP服务器,则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务.简单地 ...

  6. 使用apache ftpserver搭建ftp服务器

    作为一个javaer,遇到任何问题,先查一下java中的解决方案.地球上的许多事情,在java中都能找到完美的解决方案.之前搭建ftp服务器使用的是vsftpd,现在可以把它卸掉了,它以服务的形式运行 ...

  7. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

    最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  8. Windows server 2008 r2搭建FTP服务器

    最近需要搭建FTP服务器,顺着书上的教程走一遍流程. 1. 安装FTP服务 图一 图二 图三 可以看到上面提示并未启动windows自动更新,这个需要注意一下. 2. 新建FTP站点 准备FTP文件夹 ...

  9. windows 下使用 Filezilla server 搭建 ftp 服务器

    windows 下使用 Filezilla server 搭建 ftp 服务器 1. Filezilla server 免费,开源, ftp 服务端 2. 下载安装, windows  https:/ ...

随机推荐

  1. java super 隐式参数

    第41集 所有构造器里,第一句话就是super()           (隐式的,系统自动执行) 鸟构造器调用动物构造器,动物构造器调用object构造器. (系统默认的) tostring() 方法 ...

  2. CPU Benchmarks

    http://www.cpubenchmark.net/high_end_cpus.html 非常清楚~~~

  3. java复制文件的4种方式

    尽管Java提供了一个可以处理文件的IO操作类.但是没有一个复制文件的方法.复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候.然而有几种方法可以进行Java文件复制操作,下面列举出4中最 ...

  4. maven 的 oracle的Missing artifact com.oracle:******:jar:11.2.0.2.0

    解决方法: 下载ojdbc6对应版本号的包.把下载的包放到: 然后dos命令: -Dpackaging=jar -Dfile=ojdbc6.jar 主:必须确保已经配置了你maven,如何配置mave ...

  5. Android开发之PackageManager类

    PackageManger,可以获取到手机上所有的App,并可以获取到每个App中清单文件的所有内容. 设置应用程序版本号在应用程序的manifest文件中定义应用程序版本信息.2个必须同时定义的属性 ...

  6. QQ输入法个人设置

    常用 按键 外观 词库 账户 高级

  7. 理解Java ClassLoader机制

    当JVM(Java虚拟机)启动时,会形成由三个类加载器组成的初始类加载器层次结构: bootstrap classloader                |       extension cla ...

  8. 转自 void- man 差分约束系统详解

    一直不知道差分约束是什么类型题目,最近在写最短路问题就顺带看了下,原来就是给出一些形如x-y<=b不等式的约束,问你是否满足有解的问题 好神奇的是这类问题竟然可以转换成图论里的最短路径问题,下面 ...

  9. nginx 去掉服务器版本和名称和nginx_status 状态说明

    可能有时候我们看某些站点想知道别人在使用什么版本的web服务器之类的信息时,却发现并未显示版本号,甚至连WEB服务器都有变化,可以通过以下方法来隐藏Nginx.PHP的版本号信息,来提升一定的安全性: ...

  10. HTMLParser 使用详解

    htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或   提取html.它能超高速解析html,而且不会出错.现在htmlparser最新版本为2 ...