阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下vsftpd虚拟用户账号追加

119次阅读
没有评论

共计 2616 个字符,预计需要花费 7 分钟才能阅读完成。

本人 Linux 菜鸟一枚,最近项目中有用到对 ftp 的操作,无奈身边一穷二白,什么都需要从头开始,各种百度和查询资料,千辛万苦,排除万难。终于搭建好服务,顺利访问。

现总结一二,以备不时之需。

前言:
首先我们登录 FTP 有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录 FTP 时使用默认的用户名,一般是 ftp 或 anonymous。

本地用户登录:使用系统用户登录,在 /etc/passwd 中。
虚拟用户登录:这是 FTP 专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP 虚拟用户是 FTP 服务器的专有用户,使用虚拟用户登录 FTP,只能访问 FTP 服务器提供的资源,大大增强了系统的安全。

首先服务器搭建:
1. 检查 vsftpd 驱动是否正确安装
rpm -qa | grep vsftpd
2. 确认安装 PAM 服务相关部件
pam-devel*******.rpm
rpm -qa | grep pam*
rpm -ivh pam-devel *******.rpm
本地用户登录
公司 linux 下自带 vsftpd 启动即可

service vsftpd start

虚拟用户登录
1. 添加虚拟用户口令文件

[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
bobyuan #用户名
123456 #密码
markwang #用户名
123456 #密码

2. 生成虚拟用户口令认证文件
将刚添加的 vftpuser.txt 虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件 db4-utils。
[root@CentOS5 /]#rpm –qa |grep db4-utils
[root@CentOS5 /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm
下面使用 db_load 命令生成虚拟用户口令认证文件。
[root@CentOS5 /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

3. 编辑 vsftpd 的 PAM 认证文件
在 /etc/pam.d 目录下,
[root@CentOS5 /]#vi /etc/pam.d/vsftpd
将里面其他的都注释掉,添加下面这两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

4. 建立本地映射用户并设置宿主目录权限
所有的 FTP 虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
[root@CentOS5 /]#useradd –d /home/vftpsite –s /sbin/nologin vftpuser
[root@CentOS5 /]#chmod 700 /home/vftpsite

5. 配置 vsftpd.conf(设置虚拟用户配置项)
[root@CentOS5 /]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP 虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM 认证文件
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
 
6. 给虚拟用户配置权限文件
/home/vftpsite/bobyuan:虚拟用户登录目录

别忘了设置权限(文件是 root 用户创建虚拟用户没有写入权限)chown -R vftpuser.vftpuser/home/vftpsite/bobyuan
/etc/vsftpd/vconf 下给每个用户创建个权限文件,这个文件要和虚拟用户名称相同
例子:
文件名:bobyuan
local_root=/home/vftpsite/bobyuan
local_umask=022
idle_session_timeout=600
data_connection_timeout=120
max_client=10
max_per_ip=5
local_max_rate=50000
pam_service_name=vsftpd

 

7. 重启 vsftpd 服务
[root@CentOS5 /]#service vsftpd restart
 
8. 测试虚拟用户登录 FTP
C:\User\Administrator>ftp 192.168.120.240
连接到 192.168.120.240。
220 Welcome to BOB FTP server
用户 (192.168.120.240(none)):markwang
331 Please specify the password.
密码:
230 Login successful.

推荐阅读

玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm

vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm

Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm

Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm

Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm

vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计2616字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中