vsftpd搭建FTP,并设置虚拟用户

需求:系统ubuntu14.04,建立虚拟用户,便于管理

安装vsftpd

# 安装 vsftp(FTP软件) db-util(转化数据库)
sudo apt-get -y install vsftpd
sudo apt-get -y install db-util
## 启动 停止服务命令
sudo service vsftpd stop
sudo service vsftpd start
sudo service vsftpd restart
service vsftpd status    #查看状态

1.创建vsftpd服务的宿主用户和虚拟用户

## 1.建立Vsftpd服务的宿主用户,不能登录系统,指定主目录/home/vsftpd
useradd vsftpd -d /home/vsftpd -M -s /sbin/nologin
cat /etc/passwd |grep vsftpd
sudo chown -R vsftpd:vsftpd /home/vsftpd

#2.虚拟用户设置
sudo mkdir /etc/vsftpd/
sudo vim   /etc/vsftpd/virtusers.txt
# 加一些账号密码在里面,一行账号 一行密码(奇数行为账号,偶数行为密码)
test
tes123
# 转化为db 文件/etc/vsftpd/virtusers.db ,记住保存的路径后面会用到
#如果以后向/etc/vsftpd/virtusers.txt添加了虚拟账户后,需要重新执行下面的db_load命令才能生效
sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt  /etc/vsftpd/virtusers.db

3.PAM 验证设置

默认安装后会生成/etc/pam.d/vsftpd,但直接设置这个文件会有问题,我们新建一个文件vsftpd.virtual写配置,并设置/etc/vsftpd/vsftpd.conf写对应的名字 pam_service_name=vsftpd.virtual

sudo vim /etc/pam.d/vsftpd.virtual
#替换为下面两行配置,pam_userdb.so根据自己的系统配置路径,
#db为上一步生成的(不用加后缀.db)文件 /etc/vsftpd/virtusers
auth    required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers

#以上两条是手动添加的,内容是对虚拟用户的安全和帐户权限进行验证。
这里的auth是指对用户的用户名口令进行验证。
这里的accout是指对用户的帐户有哪些权限哪些限制进行验证。
其后的sufficient表示充分条件,也就是说,一旦在这里通过了验证,那么也就不用经过下面剩下的验证步骤了。
相反,如果没有通过的话,也不会被系统立即挡之门外,因为sufficient的失败不决定整个验证的失败,
意味着用户还必须将经历剩下来的验证审核。
再后面的/lib/security/pam_userdb.so表示该条审核将调用pam_userdb.so这个库函数进行。
最后的db=/etc/vsftpd/virtusers则指定了验证库函数将到这个指定的数据库中调用数据进行验证。

4.配置vsftpd(所有主要设置在这里面)

# 备份一份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back
sudo vim /etc/vsftpd/vsftpd.conf

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
guest_enable=YES
pam_service_name=vsftpd.virtual
user_config_dir=/etc/vsftpd/vu
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
#在以上配置文件中,有几点需要重点指出。
local_enable=YES
write_enable=YES
local_umask=022
# 这两项是启用系统用户的写权限。
# 特别是 write_enable=YES项一定要启用,否则vsftpd虚拟用户将无法登录vsftpd。

chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
#这三项是配置vsftpd用户禁止切换上级目录的权限。

guest_enable=YES
pam_service_name=vsftpd.virtual
user_config_dir=/etc/vsftpd/vu
# 这三项是启用vsftpd虚拟用以及虚拟用户账号配置目录。

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
#这三项是启用vsftpd被动模式及相关端口。

5 虚拟用户配置

  • 虚拟用户的设置都在文件夹下,有上一步的 user_config_dir=/etc/vsftpd/vu设置
  • 宿主用户设置为上面创建的用户 vsftpd
## 建立虚拟用户配置文件模版:以后没添加一个虚拟用户都可以复制一份修改
vi /etc/vsftpd/vu/vconf.tmp

#vconf.tmp内容如下:
guest_username=vsftpd  #指定宿主用户
virtual_use_local_privs=NO   #虚拟用户和本地用户有相同的权限。
local_root=/home/vsftpd/test1 #指定虚拟用户的具体主路径
write_enable=YES  #设定允许写操作
local_umask=022  #设定上传文件权限掩码

anonymous_enable=NO #设定不允许匿名用户访问
anon_upload_enable=NO #设定不允许匿名用户上传
anon_mkdir_write_enable=NO #设定不允许匿名用户建立目录
idle_session_timeout=600 #设定空闲连接超时时间
data_connection_timeout=120# 设定单次连续传输最大时间
max_clients=10  #设定并发客户端访问个数
max_per_ip=5  #设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件
local_max_rate=50000  #设定该用户的最大传输速率,单位b/s
anon_umask=133
#



#测试用户复制配置模板,可以进行个性化配置
cp /etc/vsftpd/vu/vconf.tmp /etc/vsftpd/vu/test
vim /etc/vsftpd/vconf/test

其他设置

#logo 文件设置权限
chown vsftpd:vsftpd /var/log/vsftpd.log
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • 图片更清晰,文字在最下面 FTP是TCP/IP的一种应用,使用TCP而不是UDP,所以是可靠的,面向连接的。 FT...
    停下浮躁的心阅读 1,712评论 0 4
  • ftp 文件传输协议 跨平台 上传下载文件 vsftpd 工具:非常安全的文件传输协议;默认的命令端口21号,数据...
    柒夏锦阅读 4,026评论 1 9
  • 1.FTP简介 File Transfer Protocol 早期的三个应用级协议之一 基于C/S结构 双通道...
    尛尛大尹阅读 2,412评论 0 0
  • 下面,就给大家介绍这些CentOS常用命令。 一:使用CentOS常用命令查看cpu more/proc/cpui...
    guiwuzhe阅读 2,493评论 1 25
  • “对的人与对的公车一样难等,但他们的共同点是,始终会来。”一直在年华的站台苦苦眺望,期待着那个命中注定。 流年里,...
    蓝梦流蝶媛阅读 291评论 1 5