我是靠谱客的博主 生动微笑,最近开发中收集的这篇文章主要介绍CentOS 下配置vsftpd,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

vsftpd是一个ftp服务器,安全性很高 vs=very secure

1.安装

yum install  vsftpd

2.配置文件

配置文件一般是/etc/vsftpd/vsftpd.conf

格式是X=Y 等号两边没有空格

直接查看感觉好像挺多的,但其中大多数都是注释

直接查看有效行

cat /etc/vsftpd/vsftpd.conf | grep -v '^#' |grep -v '^$'
也就是12行

anonymous_enable=YES 允许匿名登录
local_enable=YES 本地用户可以登录
write_enable=YES用户有写权限
local_umask=022 上传到服务器的权限掩码
dirmessage_enable=YES显示某目录下.message隐含文件的内容
xferlog_enable=YES服务器开启上传和下载日志(Linux 日志都放在/var/log下),日志由xferlog_std_format指定
xferlog_std_format=YES选择写入日志的文件(YES写入xferlog_file,NO写入vsftpd_log_file)
connect_from_port_20=YES服务器可以使用主动模式(如果防火墙设置了屏蔽服务器主动发出的连接,主动模式将不启作用)
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称
listen=YES FTP服务器将处于独立启动模式
tcp_wrappers=YES FTP服务器将使用TCP_wrappers(一种安全机制,独立于防火墙)作为主机访问控制方式

userlist_enable=YES 为YES时,服务器将检查/etc/vsftpd/user_list设置文件中指定的用户是否可以访问vsftpd服务器(若在配置文件中设置userlist_deny=YES时,将禁止所有登录,userlist_enable将不起作用,userlist_deny=NO时,只允许/etc/vsftpd/user_list中的用户登录,若没有userlist_deny这一项,默认为userlist_deny=YES)

3.用户访问控制

/etc/vsftpd/ftpusers用于保存不允许进行ftp登录的本地用户账号

/etc/vsftpd/user_list可以对vsftpd服务器更灵活的用户访问控制(见上面的userlist_enable的介绍)

4.匿名用户访问

配置文件中设置anonymous_enable=YES

启动服务后访问

ftp localhost

在用户命中输入anonymous

Name (localhost:quincy): anonymous
密码为ftp

便登录了ftp

可用dir查看下当前目录

ftp> dir
227 Entering Passive Mode (127,0,0,1,62,138).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0            4096 Mar 01  2013 pub
若是本地用户登录,用户名和密码就是你的本地用户名和密码

5.使用本地用户账户安全性问题

使用本地账户登录,默认会登录i到账户的宿主目录,但可以通过cd ..来到上级目录,甚至到/目录

因此存在安全性问题

5.1 将本地用户禁锢在宿主目录

 在配置文件中设置chroot_local_user=YES​

  这样 cd ..就无法进入宿主目录的上级目录了

5.2使用虚拟用户

步骤如下(操作都在/etc/vsftpd目录下)

5.2.1建立虚拟用户口令库文件

    ​vim login.txt 奇数行用户名,偶数行密码

   e.g.

   up
   abc
   down
   cba

5.2.2生成vsftpd的认证文件

db_load -T -t hash -f login.txt vsftp_login.db

chmod 600 vsftp_login.db 

生成的认证文件后缀一定要是.db

生成后,第一步的文件就可以删除了

5.2.3建立虚拟用户所需的PAM配置文件

 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.vu

 vim /etc/pam.d/vsftpd.vu
 可以把内容全删掉,只写下面两行
auth required       /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

​account required  /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

注意不要加后缀.db                       

5.2.4建立虚拟用户所要访问的目录并设置相应权限

 useradd -d /home/ftpv virtual
 chmod 700 /home/ftpv/

5.2.5设置vsftpd.conf配置文件

guest_enable=YES 启用虚拟用户功能

guest_username=virtual 虚拟用户身份都为virtual身份
pam_service_name=vsftpd.vu

5.2.6对虚拟用户设置不同的权限

​    ​5.2.6.1设置主配置文件

    ​user_config_dir=/etc/vsftpd/virtual_user_conf添加用户配置文件目录设置

    5.2.6.2为每个虚拟用户添加权限

    在/etc/vsftpd/virtual_user_conf下添加用户配置文件,一个用户对应一个配置文件,

    用户配置文件名称与用户名相同,每个虚拟用户都可以独立设置其权限

    e.g. vim up

 anon_world_readable_only=NO #可以浏览和下载 

 anon_upload_enable=YES         #上传文件
 anon_mkdir_wirte_enable=YES #建立和删除目录
 anon_other_wirte_enable=YES  #建立和改名、删除文件
 local_root=XX #指定用户目录为宿主目录下的XX
#更多权限可以查看 man vsftpd.conf



最后

以上就是生动微笑为你收集整理的CentOS 下配置vsftpd的全部内容,希望文章能够帮你解决CentOS 下配置vsftpd所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部