(转载)http://licong.blog.51cto.com/542131/145748/

写篇关于vsftp配置的文章,加深自己的记忆,便于自己查阅,同时也希望能给其他需要的朋友一点借鉴.本文如有不对之处,还烦请批评指正,不甚感激.

        系统环境:RHEL4,vsftp软件包系统光盘有或者到网上搜索rpm包安装,以下详细介绍配置过程.
注:下面的配置为仅允许系统帐户登陆,且严格chroot.行首"#"为root提示符,其他"#"为注释标记.
#vi  /etc/vsftpd/vsftpd.conf
----------------------------------------------------------------------------------------
anonymous_enable=NO                 #禁止匿名访问
local_enable=YES                            #允许本地帐户访问
write_enable=YES                           #允许写入(上传)
local_umask=022                           
dirmessage_enable=YES                #允许弹出目录信息
xferlog_enable=YES
connect_from_port_20=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list       #只有写入vsftpd/user_list内的帐户允许访问
use_localtime=YES                          #使用本地时间
pam_service_name=vsftpd            #认证文件名(默认为此值)
listen=YES                                        #开启侦听
tcp_wrappers=YES                         #开启tcp访问控制项
banner_file=/etc/vsftpd/welcome.txt       #弹出欢迎信息的内容(需要自己创建文本文件)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #只有写入vsftpd/chroot_list的帐户不被chroot
                                                            # vsftpd/chroot_list需要手动建立
ascii_download_enable=YES        #允许文本模式下载
ascii_upload_enable=YES            #允许文本模式上传
---------------------------------------------------------------------------------------
可以专门创建用于ftp的帐户:
#mkdir /home/ftp                                                                #创建ftp根目录
#useradd  -d   /home/ftp -s /sbin/nologin ftpuser         #创建用户(注意家目录和非登陆)
#passwd  ftpuser                                                                #设置用户密码
#chown -R ftpuser  /home/ftp                                         
#chmod 755 -R /home/ftp                                                 #改变ftp根目录属主和权限
#echo "ftpuser" >> /etc/vsftpd/user_list                      #把ftpuser加入到允许访问的队伍
以上设置好了,那么用户ftpuser将只能访问/home/ftp下面的东东,可以下载和上传
如果要跳出/home/ftp目录需要把用户同时加入vsftpd/user_list和vsftpd/chroot_list,如:
#useradd tom                 #创建用户,此也可加入-s /sbin/nologin选项限制登陆系统
#passwd tom                  #设置用户密码
#echo "tom" >> /etc/vsftpd/user_list        ~把tom加入到允许访问的队伍
#echo "tom" >> /etc/vsftpd/chroot_list    ~把tom加入到非chroot的队伍
 
小结:通过user-list及chroot-list的设置可以大大增强vsftp的安全性,
-s /sbin/nologin选项也是为安全性考虑的,请视具体情况设置,同时注意默认新加的用户都不在user_list及chroot_list之列,用户不能访问使请检查这两个文件.
 
另:如架于iptables之后,请开放21及20端口(我刚开始只开了21,能登陆ftp但是不能进行ls操作)
iptables -A INPUT -p tcp --dport  21  -j ACCEPT
iptables -A INPUT -p tcp --dport  20  -j ACCEPT
关于iptables的有空再写一篇,这里就不多罗嗦了.
 
以上配置均已在本人实机上验证通过,如有不对或疑问之处请联系本人,谢谢
 
qq:44182679                 e-mail:licong_jay@163.com

(转载)vsftpd简易配置的更多相关文章

  1. vsftpd安装配置

    vsftpd安装配置 vsftpd测试服务器: 192.168.1.191 1.安装: yum provides */vsftpd yum install vsftpd -y 2.匿名用户最基本配置( ...

  2. vsftpd 安装配置

    # vsftp 安装yum install vsftpd -y # 配置用户名密码时需要yum install db* db4* -y# 启动vsftpdservice vsftpd start # ...

  3. LAMP的搭建与简易配置(apache,php已module方式结合)

    测试所用环境:centos7.2 apache php 所在主机IP:9.110.187.120 mariadb 所在主机IP:9.110.187.121 第一部分:环境搭建 yum安装软件包 其中a ...

  4. Centos6.9安装vsftpd并配置多用户的方法

    本文介绍了Centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下: 一.安装vsftpd ? 1 2 3 4 5 6 7 8 #安装vsftpd yum -y install vs ...

  5. NGINX按天生成日志文件的简易配置

    NGINX按天生成日志文件的简易配置 0x01 最近后端童鞋遇到一个小需求,拆分nginx生成的log文件,最好是按天生成,看着她还有很多bug待改的状态,我说这个简单啊,我来吧.曾经搞node后端的 ...

  6. Linux vsftpd 安装配置使用

    1.安装 yum install vsftpd 2.配置 允许root登陆: /etc/vsftpd/user_list文件中把root那一行删除或者注释掉 /etc/vsftpd/ftpusers文 ...

  7. vsftpd安装配置以及常见问题解决

    vsftpd安装配置以及踩坑解决办法,Centos7 nginx已经配置成功了,但是使用http始终没办法访问到图片,那么你来对地方了(在文章末尾是原因) 配置nginx教程:http://blog. ...

  8. ftp服务器搭建(离线安装vsftpd),配置

    1.下载vsftp:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 2.检查是否已经安装了vsftp rpm -qa ...

  9. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里

    vsftpd日志配置及查看 vsftpd ftp服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现.主配置文件中与日志设置有关的选项包括xferlog_enable .xfe ...

随机推荐

  1. PHP解决多进程同时读写一个…

    原文地址:PHP解决多进程同时读写一个文件的问题作者:陌上花开 首先PHP是支持进程的而不支持多线程(这个先搞清楚了),如果是对于文件操作,其实你只需要给文件加锁就能解决,不需要其它操作,PHP的fl ...

  2. in 与 = 的区别

    in 与 = 的区别   结果是相同的.

  3. JavaScript实现多栏目切换效果

    效果: 代码: <!doctype html> <html> <head> <meta http-equiv="Content-Type" ...

  4. Context是什么,怎么用

    一.Context是什么 开始学安卓的时候发现经常有context,但是都不知道为什么,什么时候需要它. 官方文档概述:关于应用程序环境的全局信息的接口.这是一个抽象类,它的实现是由安卓系统提供的.它 ...

  5. jquery和js cookie的使用解析

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的.而cookie是运行在客户端的,所以可以用JS来设置cookie. 在这里分别通过 ...

  6. Mac Zip命令

    mac终端命令 zip -[parameter] [yourName].zip someFileOrDiectory -q 表示不显示压缩进度状态 -r 表示子目录子文件全部压缩为zip //这部比较 ...

  7. iOS程序员的自我修养之道

    新技术的了解渠道 WWDC开发者大会视频 官方文档 General -> Guides -> iOS x.x API Diffs 程序员的学习 iOS技术的学习 官当文档 Sample C ...

  8. Mysql 操作手册

    mysql操作手册 版本:5.6.16mysql linux安装基本步骤:#rpm -e --nodeps mysql-lib-5.1.*#rpm -ivh mysql-server#rpm -ivh ...

  9. PAT_1018 锤子剪刀布

    问题描述 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出 ...

  10. 获得SQLSERVER的表字段等架构信息

    获得SQLSERVER的表字段等架构信息 SELECT 表名 = CASE WHEN A.COLORDER=1 THEN D.NAME ELSE '' END, 表說明 = CASE WHEN A.C ...