未加星标

文件服务及vsftpd的配置

字体大小 | |
[数据库(mysql) 所属分类 数据库(mysql) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

文件服务:

ftp:应用层,C/S,文件共享;file transfer protocol;

nfs,cifs:文件系统接口,网络文件系统;

nfs:network file system

cifs:common internet file system

samba

网络存储:

NAS:Network Attached Storage,文件服务器,nfs或cifs,文件级别;

SAN:Storage Area Network,块级别共享服务,分区 >格式化 >创建文件系统;IPSAN, FCSAN;

ftp:

file transfer protocol,21/tcp

Client > ftp >Server

Client:Connect

Server:Listen

连接:

命令连接:命令传输,连接一直存在;

数据连接:数据传输,按需创建;

数据连接的建立模式:

主动模式:服务器通过20/tcp主动连接客户端的命令连接端口向后最近一个空闲端口;PORT;

被动模式:客户端发出数据请求后,服务端会响应一个打开的临时使用的随机端口,客户端对此端口进行请求;PASV;

数据传输模式:

文本格式:ASCII

二进制格式:BINARY

协议安全:

明文:数据、认证时传输账号和密码均是明文 ;

安全增强:

ftp over ssl/tls:ftps

ftp over ssh:sftp

虚拟用户账号;

c/s:

Server:

windows:Serv-U, IIS, …

开源解决方案:

wuftpd:Washington University ftp daemon

vsftpd:Very Secure ftp daemon

proftpd, pureftpd, …

Client:

GUI:flashfxp, cute, filezilla, gftp, …

CLI:ftp, lftp, …

vsftpd:

程序环境:

主程序:/usr/sbin/vsftpd

Unit File:/usr/lib/systemd/system/vsftpd.service

配置文件:/etc/vsftpd/vsftpd.conf

文档路径映射:

fedora, /home/fedora/pub/a.txt > ftp://HOST:PORT/pub/a.txt

用户的家目录映射:访问vsftpd服务必须以某个系统用户的身份进行;此用户的家目录即为文档映射的根目录;

匿名用户:anonymous,映射为一个系统用户,此用户为ftp;

配置:vsftpd.conf

directive VALUE,…

directive:指令之前不能存在任何字符,包括空白;

匿名用户:

anonymous_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

本地用户:

local_enable=YES

write_enable=YES

认证服务:

pam_service_name=vsftpd

/etc/pam.d/vsftpd

pam: pluggable authencate module

切换目录时的提示信息:

dirmessage_enable=YES

.messages

修改上传文件的属主:

chown_uploads=YES

chown_username=USERNAME

禁锢用户于自己的家目录:

会引入别的风险,因此,要求用户对自己的家目录不能有写权限;

(1) 禁锢所有用户

chroot_local_user=YES

(2) 禁锢部分用户

(a) 白名单:名单中的用户不被禁锢;

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

(b) 黑名单:名单中的用户被禁锢

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

user_list控制用户访问vsftpd:

(1) 白名单

userlist_enable=YES

userlist_deny=NO

(2) 黑名单,默认

userlist_enable=YES

userlist_deny=YES

虚拟用户账号:

vsftpd依赖pam完成认证,pam存储支持的认证方式,vsftpd都可调用;

账号密码存储于何处?

文件、mysql、ldap、redis、…

pam_mysql模块

CentOS 6:epel

CentOS 7:编译安装

编译:

(1) 编译环境;

(2) 依赖关系:mariadb-devel, pam-devel

# ./configure with-pam=/usr with-mysql=/usr with-pam-mods-dir=/usr/lib64/security/

# make install

MySQL设置:

mysql> CREATE DATABASE vsftpd;

mysql> GRANT ALL ON vsftpd.* TO 'vsftpd'@'127.0.0.1' IDENTIFIED BY 'mageedu';

mysql> CREATE TABLE vsftpd.users (uid SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE KEY,name VARCHAR(100) NOT NULL PRIMARY KEY,password CHAR(48) NOT NULL);

mysql> INSERT INTO users (name,password) VALUES ('tom',PASSWORD('mageedu')),('jerry',PASSWORD('mageedu')),('lucy',PASSWORD('mageedu'));

准备要映射成为的系统账号:

# mkdir -pv /ftproot/{pub,upload}

# useradd -d /ftproot vuser

# setfacl -m u:vuser:rwx /ftproot/upload

准备基于mysql认证的pam配置文件:/etc/pam.d/vsftpd.mysql

auth required pam_mysql.so host=127.0.0.1 user=vsftpd passwd=mageedu db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

account required pam_mysql.so host=127.0.0.1 user=vsftpd passwd=mageedu db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

配置vsftpd启用虚拟用户,并使用指定的pam service:vsftpd.conf

pam_service_name=vsftpd.mysql

guest_enable=YES

guest_username=vuser

配置每虚拟用户拥有不同的权限:vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_conf

# mkdir /etc/vsftpd/vusers_conf

# touch USERNAME

权限配置指令:

anon_upload_enable

anon_mkdir_write_enable

anon_other_write_enable

在CentOS 7的环境下进行vsftpd服务的配置

1.准备编译环境
文件服务及vsftpd的配置
2.准备依赖环境
yum install pam-devel mariadb-devel
3.编译安装pam_mysql
文件服务及vsftpd的配置
4.在数据库中创建对应的相关信息
创建一个数据库,专门存放vsftp服务的相关数据,并对一个用户授权使其拥有管理这个数据库的权限,而不使用root账户进行管理,保证数据库的安全性
文件服务及vsftpd的配置
文件服务及vsftpd的配置
在对应的数据库中创建一个用户表,将可以访问的用户成员信息及密码,添加到该表中
文件服务及vsftpd的配置
文件服务及vsftpd的配置
创建ftp访问目录,并创建虚拟用户,并对目录设置acl权限
文件服务及vsftpd的配置
文件服务及vsftpd的配置

创建基于mysql认证的pam配置文件

touch /etc/pam.d/vsftpd.mysql


文件服务及vsftpd的配置

修改/etc/vsftpd/vsftpd.conf文件中的配置参数


文件服务及vsftpd的配置
对每个拥有权限访问vsftpd服务的用户进行权限控制
touch USERNAME 创建以用户名作为文件名的文件

进行相应的权限设置


文件服务及vsftpd的配置
测试账户的有效性
文件服务及vsftpd的配置

本文数据库(mysql)相关术语:navicat for mysql mysql workbench mysql数据库 mysql 存储过程 mysql安装图解 mysql教程 mysql 管理工具

主题: SQL服务器MySQL数据Windows开源RY数据库UTAU
分页:12
转载请注明
本文标题:文件服务及vsftpd的配置
本站链接:http://www.codesec.net/view/483843.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mysql) | 评论(0) | 阅读(31)