您的位置:首页 > 编程语言 > PHP开发

文件共享服务之vsftpd

2017-10-15 14:34 393 查看
本节索引:
Centos 6 中把vsftpd配置为非独立服务

实现基于SSL的FTPS

基于虚拟用户的vsftpd

一、Centos 6 中把vsftpd配置为非独立服务
1. 配置FTP服务以非独立服务方运行
/etc/vsftpd/vsftpd.conf中设置:listen=NO
2. yum安装xinetd
3. 编辑配置文件
cd /etc/xinetd.d
cp rsync vsftpd  #随便找个模板
vim vsftpd       #以下为标准配置信息,如下将配置文件适当修改
service ftp
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_failure += USERID
disable = no
}
4. 启动或重启服务
service vsftpd stop
service start xinetd
ss -tnlp 可看到21端口打开由xinetd监听


二、实现基于SSL的FTPS
1. 查看是否支持SSL
ldd `which vsftpd` |grep ssl #查看是否有libssl.so模块
2. 创建自签名证书

cd /etc/pki/tls/certs/
make vsftpd.pem #生成公钥及私钥
openssl x509 -in vsftpd.pem -noout –text #查看证书信息
3. 配置vsftpd服务支持SSL:
/etc/vsftpd/vsftpd.conf
ssl_enable=YES         #启用SSL
allow_anon_ssl=NO      #匿名不支持SSL
force_local_logins_ssl=YES   #本地用户登录加密
force_local_data_ssl=YES     #本地用户数据传输加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
注意:复制过程中不能有空格不然会报错!!
配置完后需重启服务。
4. 用filezilla等工具测试




三、基于虚拟用户的vsftpd
1、 建立虚拟FTP用户的帐号数据库文件
⑴ 建立虚拟用户的账户名、密码列表,奇数行为帐号名,偶数行为上一行中帐号的密码。
vim /etc/vsftpd/vusers.list
wang
123
mage
456
⑵ 将列表转化为Berkeley DB格式的数据文件

db_load 转换工具来自db4-utils-4.3.29-9.fc6.i386.rpm 软件包
cd /etc/vsftpd/
db_load -T -t hash -f vusers.list vusers.db
chmod 600 vusers.*
2、创建FTP根目录及虚拟用户映射的系统用户
mkdir /var/ftproot
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ftproot
3、建立支持虚拟用户的PAM认证文件

vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vusers #注意没有db后缀
account required pam_userdb.so db=/etc/vsftpd/vusers
4、在vsftpd.conf文件中添加支持配置
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
5、设置SELinux
禁用SELinux 或者
setsebool -P ftpd_full_access 1
6、为个别虚拟用户建立独立的配置文件

mdkir /etc/vsftpd/vusers.d/  #创建用户配置文件存放的路径
vim /etc/vsftpd/vsftpd.conf
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vusers.d/
cd /etc/vsftpd/vusers.d/
touch mage
vim wang
anon_upload_enable=YES
anon_mkdir_write_enable=YES
7、重载服务并测试
service vsftpd reload

分别用wang、mage用户登录FTP服务器进行下载、上传测试:

mage用户可以登录,并可以浏览、下载文件,但无法上传.
wang用户可以登录,并可以浏览、下载文件,也可以上传.
匿名用户或其他系统用户将不能登录.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ftp ssl vsftpd