vsftpd:非常安全的ftp服务端程序
- 主程序:/usr/sbin/vsftpd
- 主配置文件:/etc/vsftpd/vsftpd.conf
CentOS 6- /etc/rc.d/init.d/vsftpd
- chkconfig vsftpd on
CentOS 7- /usr/lib/systemd/system/vsftpd.service
- systemctl enable vsftpd.service
配置过程详解- /etc/vsftpd/vsftpd.conf, 可以使用man vsftpd.conf查看指令的定义
匿名用户- anonymous_enable=yes
是否允许匿名用户登入 - anon_upload_enable=yes
是否允许匿名用户上传文件, 同时需要开启write_enable=yes - write_enable=yes
如果匿名用户要上传,必须是write_enable=YES,这是一个全局配置 - anon_mkdir_write_enable=yes
使得匿名用户能够在有目录中有写权限的基础上能够创建目录 - anon_other_write_enable=yes
匿名用户的删除和重命名权限
- anonymous_enable=yes
本地用户- local_enable=yes
开放本地用户登入,并且所有的非匿名用户登入必须开启这个指令才能登入 - local_umake=022
指定本地用户上传权限的掩码 - dirmessage_enable=YES
用户第一次进入目录时,.massage文件里面的信息会显示给用户,可以使用message_file指定文件的路径,而不使用默认的.message,但是lftp程序无法看到消息提示,ftp程序可以
- local_enable=yes
数据传输日志的相关日志- xferlog_enable=YES
- xferlog_std_format
- xferlog_file=/var/log/vsftpd.log 指定访问日志的存放路径
数据传输模式- connect_from_port_20:是否启用被动模式
修改匿名用户上传文件的属主- chown_uploads:是否修改
- chown_username:启用chown_uploads指令时,将文件属主修改为此命令指定的用户,默认为root
- chown_upload_mode:匿名用户上传文件完成后文件的权限默认为600
设定会话的超时时长- idle_session_timeout :空闲会话的超时时长,默认是300秒
- connect_timeout:服务器连接客户端的超时时长
- data_connection_timeout:数据传输的超时时长
命令连接的监听端口- listen_port :默认是21
当匿名用户连接到ftp服务端是否显示banner信息,只有ftp客户端可以,lftp不行- ftpd_banner=Welcome to blah FTP service.
设置连接及传输速率- local_max_rate:本地用户的传输速率,默认是0,表示无限制
- max_clients:最大并发连接数,最多允许多少个客户端连接
- max_per_ip:每个IP允许的最大连接数
- anno_max_rate:本地用户的传输速率,默认是0,表示无限制
禁锢本地用户- chroot_local_user=YES:禁锢所有本地的用户,将用户锁定在其家目录下
注意:要求用户不能够对家目录有写权限,如果具有写权限的话,那么本地用户登入ftp的时候就会连接拒绝了(禁锢所有的本地用户和禁锢白名单不能同时开启)
- chroot_list_enable=yes : 是否开启禁锢的白名单
- chroot_list_file=/etc/vsftpd/chroot_list:如果写在这个文件里面的本地用户都会被禁锢,而没有在这个文件里面的本地用户不会被禁锢
- chroot_local_user=YES:禁锢所有本地的用户,将用户锁定在其家目录下
/etc/vsftpd/ftpusers:指定哪些本地用户无法登入- 是本地用户的黑名单,如果在这个名单里面的用户无法登入
userlist_enable:是否开启本地用户登入认证- 如果userlist_enable=YES,vsftpd将加载一个由userlist_file指定的用户列表文件,此文件中的用户是否能够访问vsftpd服务取决于userlist_deny这个指令,且用户写在/etc/vsftpd/user_list文件中
- 如果userlist_deny=yes,表示此列表为黑名单,表示列表中的用户不能登入
- 如果userlist_deny=no,表示此列表为白名单, 表示只有列表中的本地用户才能登入
- 如果userlist_enable=YES,vsftpd将加载一个由userlist_file指定的用户列表文件,此文件中的用户是否能够访问vsftpd服务取决于userlist_deny这个指令,且用户写在/etc/vsftpd/user_list文件中
vsftpd:非常安全的ftp服务端程序的更多相关文章
- FTP服务端 FTP服务端搭建教程
FTP服务端搭建教程如下:一.需要准备以下工具:1.微型FTP服务端.2.服务器管理工具二.操作步骤:1.下载微型FTP服务端.(站长工具包可下载:http://zzgjb.iis7.com/ )2. ...
- FTP服务端部署
FTP服务端搭建(本地用户登入:使用本地用户和密码登入)1.文件配置:vsftpd.conf: 主配置文件ftpusers: 指定哪些用户不能访问FTP服务器user_list: 指定的用户是否可以访 ...
- ftpget 从Windows FTP服务端获取文件
/********************************************************************************* * ftpget 从Windows ...
- Android版Ftp服务端软件
分享一款开发的Android版Ftp服务端软件,支持Android4.0及以上版本,可以实现局域网无线传输文件到手机,或者把手机上的多媒体文件分享到iPad等设备来扩展这些设备的存储空间,详情请见软件 ...
- websocketj--随时随地在Web浏览器中操作你的服务端程序
0 - 有没有觉得Linux标准终端界面输入输出枯燥无味? 1 - 什么?vmstat命令的输出数据不直观?有没有想过能够可视化该命令的输出? 2 - 尝试过用浏览器操作Windows中的cmd吗? ...
- 03-案例——多任务版TCP服务端程序开发
案例——多任务版TCP服务端程序开发 1. 需求 目前我们开发的TCP服务端程序只能服务于一个客户端,如何开发一个多任务版的TCP服务端程序能够服务于多个客户端呢?完成多任务,可以使用线程 ...
- node.js服务端程序在Linux上持久运行
如果要想在服务端部署node.js程序,让其持久化运行,就不能单单使用npm start命令运行,当然了,这样运行是毫无问题的,但是当关闭xshell窗口或者是关闭进程的时候(其实关闭xshell窗口 ...
- zabbix3.0.4关于java服务端程序内存溢出的处理
关于java服务端程序内存溢出的处理 java服务端程序内存溢出会产生jvm.log文件,此时程序会挂掉,无法正常处理业务,需要重启服务 思路: 当存在jvm.log这个文件的时候则触发clean_j ...
- 第一个socket服务端程序
第一个socket服务端程序 #include <stdio.h> #include <stdlib.h> #include <string.h> #include ...
随机推荐
- python小项目之微信远程控制
前两天接触了一个有趣的python模块--itchat,这个模块可以非常方便的操作微信,今天就来使用这个模块来实现微信远程控制. 环境准备 itchat模块不是python标准模块(内置模块),是一个 ...
- 基于Doxygen_C语言代码文档一键生成的记录与规范(嵌入式适用)
下位机代码格式规范整合记录 注册 doxygen 账号获取doxygen 的 *.exe 执行文件 https://pan.baidu.com/s/1MF5v-Ts80BysmZtXSqONmg 提取 ...
- 笔记(assert 断言)
并发:在同一个时间段交替执行多个任务并行:在同一个时间点同时执行多个任务串行:同时执行的多个任务按顺序执行(换句话说就是一个任务执行完后才能执行下一个任务) #mysql limit用法: selec ...
- MySQL5.7.22版本的安装和调试
1:安装前的准备工作 需要的软件: boost_1_59_0.tar.gz,cmake-3.6.1.tar.gz,mysql-5.7.22.tar.gz 开始安装MySQL 2.1 检查cmake [ ...
- JVM内存模型(转载)
原文地址:http://blog.csdn.net/u012152619/article/details/46968883 JVM定义了若干个程序执行期间使用的数据区域.这个区域里的一些数据在JVM启 ...
- # 20155224 2016-2017-2《Java程序设计》课程总结
20155224 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我所期望的师生关系 预备作业2:我的技能与C语言学习 预备作业3:Linux的初步学习, ...
- #20155327 2016-2017-2 《Java程序设计》第三周学习总结
20155327 2016-2017-2 <Java程序设计>第三周学习总结 教材学习内容总结 一.三种重要的数字表示 无符号:编码基于传统的二进制表示法,表示大于或者等于零的数字. 补码 ...
- Android开发——LinearLayout和RelativeLayout的性能对比
0. 前言 我们都知道新建一个Android项目自动生成的Xml布局文件的根节点默认是RelativeLayout,这不是IDE默认设置,而是由android-sdk\tools\templates\ ...
- 简单的Slony-I设置实例 II
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL集群方案相关索引页 回到顶级页面:PostgreSQL索引页 接前面例子, 简单的Slony-I设置实例 这次我 ...
- dsp6657的helloworld例程测试-第一篇
环境搭建可以参考http://blog.sina.com.cn/s/blog_ed2e19900102xi2j.html 1. 先从mcsdk导入工程,helloworld例程 2. 提示有错误,估计 ...