1.安装

一般在CentOS上都自动安装了vsftd,若没有安装则可以使用以下步骤进行安装
yum -y install vsftpd
touch /var/log/vsftpd.log # 创建vsftp的日志文件
在CentOS中,这样就可以完成了一个简单的匿名FTP的搭建。你可以通过访问ftp://yourip来进行,不过这个FTP没有任何权限。

2.基于匿名的FTP架设

参考其他关于Vsftpd的CentOS FTP服务配置文章。

3.基于虚拟用户的FTP架设

所谓虚拟用户就是没有使用真实的帐户,只是通过某种手段达到映射帐户和设置权限的目的。

1)我们在/etc/vsftpd/vsftpd.conf中做如下CentOS FTP服务配置:
anonymous_enable=NO 设定不允许匿名访问
chroot_list_enable=YES 使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log 设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES
ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。

local_enable=YES 设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
pam_service_name=vsftpd PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
以下这些是关于Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。默认vsftpd.conf中不包含这些设定项目,需要自己手动添加CentOS FTP服务配置。
guest_enable=YES 设定启用虚拟用户功能。
guest_username=ftp 指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf 设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)

2)创建chroot list,将用户ftp加入其中:
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list

3)进行认证:
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
yum install db4 db4-utils
然后,创建用户密码文本/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,全部注释掉原来语句
再增加以下两句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,创建虚拟用户个性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

4.启动vsftp服务器
mkdir /opt/var/ftp/ftpuser1
chmod 777 /opt/var/ftp/ftpuser1
service vsftpd start

常见错误:

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服务文件中保证每一行最后没有任何空格,一般出错就是在多余的空格上。

更改端口号:listen_port=端口号 (需要自己添加)

欢迎信息:ftpd_banner=欢迎信息

====================================================================

权限问题:

当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

一些RadHat版本是默认打开SeLinux的。这个东西有加强安全性的同时很讨厌,比如让配置好的vsftpd无法正常登录。

#setsebool -P ftpd_disable_trans 1

重启FTP服务~

IP限制的方法

vsftpd中的配置需要 tcp_wrappers=YES

/etc/hosts.allow 中加入允许的IP

vsftpd : IP1 IP2 : allow

/etc/hosts.deny 中屏蔽所有IP

vsftpd : ALL : deny

重启服务 service xinetd restart (此服务应该开机启动!)

转载于:https://blog.51cto.com/cyhow/489819

CentOS FTP服务(vsftpd)配置相关推荐

  1. 如何对CentOS FTP服务配置 - 51CTO.COM

    如何对CentOS FTP服务配置 - 51CTO.COM 根据很多人对CentOS FTP服务的不解,我觉得应该对CentOS FTP服务做出一定的解释. 1.安装 一般在CentOS上都自动安装了 ...

  2. CentOS FTP安装及配置

    CentOS  FTP安装及配置 LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftp ...

  3. 【Windows Server 2019】FTP服务的配置与管理——配置FTP站点(上)IP地址限制、身份验证、授权规则和请求筛选

    目录 5. 配置FTP站点 5.1 FTP IP地址和域限制 5.2 FTP身份验证 5.3 FTP授权规则 5.4 FTP请求筛选 参考资料 关联博文 5. 配置FTP站点 5.1 FTP IP地址 ...

  4. 【Windows Server 2019】FTP服务的配置与管理——配置FTP站点(下)SSL设置及被动模式

    目录 5.5.FTP SSL设置 准备工作 (1)创建FTP用户访问组 (2)编辑FTP站点[fjnu-ftp]的权限 (3)创建SSL证书 *配置FTP SSL 验证 (1)不加密访问FTP服务 ( ...

  5. linux centos6.5 ftp网页vsftpd配置

    安装命令 centos下 yum install vsftpd 出现"Complete!"时意味着安装完成.Linux中,系统对于大小写严格区分,比如abc和ABC是完全不相同的字 ...

  6. 查看linux centos ftp服务,Centos7开启FTP服务

    一.查看并安装vsftpd 执行以下命令进行查看: vsftpd -v 如果没有安装的话就执行以下命令进行安装: yum -y install vsftpd 二.配置vsftpd 2.1.取消匿名登陆 ...

  7. Ubuntu14.04 ftp服务安装配置

    一.安装ftp服务 wyj@wyj-virtual-machine:~$ dpkg -l|grep vsftpd            //查看是否安装ftp服务 wyj@wyj-virtual-ma ...

  8. Linux安装FTP服务-----vsftpd

    检查是否已经安装vsftpd服务 rpm -qa | grep vsftpd 没有出现 vsftpd-xxx字样表示没有安装 1.下载vsftpd.rpm格式的安装包 redhat5: http:// ...

  9. linux虚拟用户创建目录权限不足,centos7的FTP服务vsftpd里建立虚拟用户不同目录分配不同权限...

    1.virtual_use_local_privs参数 当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限: 当virtual_use_local_privs= ...

最新文章

  1. 345 所开设人工智能本科专业高校名单大全
  2. cassandra可视化工具_程序员绘图工具——PlantUML
  3. 玩转 Pandas 的 Groupby 操作
  4. 从飞机上看下雨是这样子,太震撼了!
  5. python子类分配
  6. zabbix 3.0 监控windows 部署
  7. 关于Etcd的几个问题
  8. JavaScript清空数组的三种方法
  9. sklearn之Pipeline 估计器
  10. Membership学习(二)membership入门[xgluxv]
  11. java socket 实现 http_Java Socket编程 - 基于Socket实现HTTP下载客户端
  12. MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法
  13. 计算机系统-记录Bochs调试器几个常用命令
  14. 机器学习基础(二十)—— 数学语言与 Python 代码
  15. 桶排序/基数排序(Radix Sort)
  16. 编码:decode()/encode()、quote()/unquote()
  17. 做软件测试三,四年后的感想
  18. el-upload限制文件大小(图片尺寸)
  19. Rust 正则表达式 Regex
  20. EasyExcel 三分钟搞定导入导出

热门文章

  1. js删除数组中指定元素_js中数组操作详解
  2. java中scanner与hashmap_Java中HashMap的使用练习
  3. Golang——HTTP编程请求和响应实现
  4. 鸟哥的linux私房菜简答题答案,《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案...
  5. oracle 用户禁止登录,[转] oracle限制用户在某个时间段内禁止登录数据库
  6. matlab实现浮点转定点,浮点转定点方法总结.doc
  7. c语言循环程序怎么编程,c语言程序(5):循环结构程序设计
  8. java 正则表达式 反向_正则表达式中的数量表示符、反向引用、零宽断言、以及java中的用法...
  9. linux内核udp校验和计算函数,Linux 内核IP和UDP检验和计算
  10. less简介、less安装、编译、less语法之变量、嵌套、类混入、函数混入、运算、less文件导入