V

vsftpd 安装及配置

xyj2156 Linux 2018-05-31

vsftpd 安装及配置

vsftpd 安装

我使用的是 yum 安装的,因为比较简单

配置文件及想要的结果

1. 支持虚拟用户
2. 虚拟用户映射在 webServer 的用户上 暂定 apache
3. 虚拟用户有单独配置文件
4. 可以在被动模式访问

配置文件内容:

1. 准备虚拟用户账号密码文件
2. 生成可以验证的 db格式
3. 指定账号密码验证到刚生成的文件
生成账号密码文件

cd /web/conf/vsftp/

vim user_list.txt

内容:
apache
apache123
生成db 格式

注意:如果没有db_load命令,执行yum -y install db4*

db_load –T –t hash –f user_list.txt user.db

配置PAM认证

vim /etc/pam.d/vsftpd.db

注意:这里我用的是 vsftpd.db ,和下面的配置文件对应。文件内容中user 没有.db,会失败。

auth                 required     pam\_userdb.so   db=/web/conf/vsftp/user
account              required     pam\_userdb.so   db=/web/conf/vsftp/user

配置文件


# 关闭匿名用户
anonymous_enable=NO

# 本地用户可写
local_enable=YES

# 可写
write_enable=YES

# 用户权限
local_umask=022
anon_umask=022

# 虚拟用户可以创建文件夹
anon_mkdir_write_enable=YES

# 进入某目录时 给出消息
dirmessage_enable=YES

# 开启上传下载日志
xferlog_enable=YES

# 日志文件
xferlog_file=/var/log/xfer.log

# 主动模式端口
connect_from_port_20=YES

# 开启 ASCII
ascii_upload_enable=YES
ascii_download_enable=YES

# 欢迎消息
ftpd_banner=Welcome to Jief's FTP service.

# 限制在家目录
chroot_local_user=YES

chroot_list_enable=YES
# 可以离开家目录的 用户名列表
chroot_list_file=/web/conf/vsftp/chroot_list

# 若是启用此功能,则允许登入者使用ls –R(可以查看当前目录下子目录中的文件)这个指令。默认值为NO。
#ls_recurse_enable=YES

# 监听 ipv4 IP
listen=YES
# 上下二选一
# 监听 ipv6 IP
listen_ipv6=NO

# 权限验证
pam_service_name=vsftpd.db

# 开启虚拟用户
guest_enable=YES

# 主目录可写的,我这里遇到的坑就没有这个选项,打开限制到主目录下,直接报错。
allow_writeable_chroot=YES

# 虚拟用户的宿主用户
guest_username=apache

# 是否启用/etc/vsftpd/user_list文件。
userlist_enable=NO

# 设置vsftpd是否与tcp wrapper相结合来进行主机的访问控制。默认值为YES。
# 如果启用,则vsftpd服务器会检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。
#这两个文件可以起到简易的防火墙功能。
tcp_wrappers=YES

# 每个用户单独的配置文件 在这个目录下 文件名和用户名必须一致
user_config_dir=/web/conf/vsftp/userconf/

# 虚拟用户和宿主用户权限一样
virtual_use_local_privs=YES

# 被动模式 端口
pasv_enable=YES
pasv_addr_resolve=yes
pasv_address=0.0.0.0
pasv_min_port=30101
pasv_max_port=30105

  • xftp 默认被动模式,我没有配置导致 一直列出目录失败。
  • 把虚拟用户限制家目录时,一直提示登陆失败,没有权限,添加 allow_writeable_chroot=YES 解决。
PREV
一些新奇想法的实现
NEXT
【以太坊(Truffle框架)开发准备】②开发环境之 依赖解决

评论(0)

评论已关闭