vsftpd安装配置虚拟用户

by admin on 2018年11月13日

原文刊于cu:2016-03-11

25秋之凋谢是由一个个重新的生活开始的。

参照文档:

“25年,感觉自己离开故越来越近。”小七吸烟了相同人数饮料,面无表情的指向自我说。

  1. FTP原理:http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd_1.php
  2. FTP配置:http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd_2.php
  3. 虚构用户配置:http://yuanbin.blog.51cto.com/363003/129071

坐在本人对面的小七,一项黑色大T恤罩着一样套不安分的肥肉,眼神涣散,一体面倦容,我居然有些陌生,这还是自个儿三年前认识的不可开交活泼爱笑的小七吗?

一.环境

小七毕业一年了,做程序员的做事呢同等年了。这同一年,日复一日的加班为它们胖了全部20斤,粗壮的肱和下肢都过无下先美好的裙子。

OS

CentOS6.7 x86_64

小七说,现在活才剩余工作。每天和一个时康复,每天多同同部公交车,每天和一个时间到商家,每天做的做事内容都差不多。

网络

Sever:192.168.1.254

Client:192.168.1.100

各级一样上还以还,仿佛自己是单机器人,活在跟死了一致。

二.安及配置

就产生只动画短片叫《降落》,讲诉的是一个老前辈以楼顶浇花,不慎坠楼,坠落的历程遭到穿梭见自己一生一世之镜头——

1. 安装

使用yum安装即可:yum install vsftpd -y

少壮一代,是美好而加上的时。学走路、学跨、学网球、学舞、学钢琴,欢笑和泪水交织。

2. 软件模块

/etc/vsftpd/vsftpd.conf
vsftpd的配置文件,相关参数设定主要在这个文件进行。

/etc/pam.d/vsftpd
vsftpd使用 PAM 模块时的相关配置文件,主要用来作为身份认证之用,还有一些用户身份的抵挡功能, 也是透过这个档案来达成的。

/etc/vsftpd/ftpusers
与/etc/pam.d/vsftpd文件有关,也就是 PAM 模块中所指定的那个无法登入的用户配置文件。这个档案的设定简单,只要将“不想让他登入 FTP 的账号”写入这个文件即可。

/etc/vsftpd/user_list
这个文件是否生效与vsftpd.conf内的两个参数有关,分别是“userlist_enable”与“userlist_deny”,会根据vsftpd.conf配置文件内的userlist_deny={YES/NO}不同而不同(设置为YES时,是阻止user_list中的账号登入;设置为NO时,是允许user_list中的账号登入)。
/etc/vsftpd/ftpusers是PAM模块的安全设定文件,而/etc/vsftpd/user_list是vsftpd自定义的安全设定文件。
这个文件与/etc/vsftpd/ftpusers几乎一样,在默认情况下,可以将不希望可登入vsftpd账号写入这里。

/etc/vsftpd/chroot_list
此文件默认是没有的,需要手工建立,主要作用是将某些账号chroot在其家目录。
文件是否生效与vsftpd.conf的“chroot_list_enable”与“chroot_list_file”两个参数有关。

/usr/sbin/vsftpd
vsftpd的执行文件。

/var/ftp/
vsftpd默认匿名账户登入根目录,与ftp账号的家目录有关。

趁着年华的提高,生活画面里的东西越来越少。

3. 配置文件简介

以下列出主要的局部安排项供参考。

25秋,恋爱结婚,生活毕竟就剩余一个画面,站于讲台上,用同的神采,讲在同一的课,面对同样的教材,重复重复重复,直到好去。

服务器环境较相关的安装

connect_from_port_20=YES (NO)
主动式FTP服务器port,ftp-data的端口。
#主动式ftp指server接到client的ftp请求后,由server的20端口主动连接client告知的数据接收port,建立数据传输通道;
#被动式ftp指server接到client的ftp请求后,随机选取大于1024的port告知client,由client主动发起ftp数据通道连接;
#在有ftp的server与client之间有防火墙或nat时,基本只能使用被动式ftp。

listen_port=21
vsftpd的命令通道port,如果要使用非正规的端口,在此修改;修改端口号指适合以stand alone方式来启动的vsftpd(对于super daemon 无效)。

dirmessage_enable=YES (NO)
当ftp用户进入某个目录时,会显示该目录需要注意的内容,显示的档案默认是 .message ,可以使用下面的设定项目来修改显示内容。

message_file=.message
当dirmessage_enable=YES时,可以设定这个项目来让vsftpd 寻找该文件来显示信息。

listen=YES (NO)
如果设置为YES,表示vsftpd是以stand alone的方式来启动;设置为NO时,vsftpd以super daemon方式启动。

pasv_enable=YES (NO)
支持数据流的被动式联机模式(passive mode),请设定为YES。

use_localtime=YES (NO)
是否使用本地时间?vsftpd默认使用GMT时间(格林威治),建议设置YES。

write_enable=YES (NO)
是否允许用户上传数据。

connect_timeout=60
单位是秒,在数据连接的主动式联机模式下,发出的连接信号在 60 秒内得不到client响应,则不等待并强制断线。

accept_timeout=60
当client以被动式PASV进行数据传输时,如果server端启用passive port并等待client超过60秒而无响应,那么就强制断线。这个设置与connect_timeout类似,不过一个是管理主动联机,一个管理被动联机。

data_connection_timeout=300
如果server与client的数据联机已经成功建立(不论主动还是被动联机),但是可能由于线路问题导致300秒内没有顺利的完成数据传送,那client的联机就会被vsftpd 强制断线。

idle_session_timeout=300
如果client在300 秒内都无命令动作,强制断线。

max_clients=0
如果vsftpd 以stand alone方式启动,那么这个设定值可以设置在同一时间,最多有多少 client可以同时连上vsftpd。

max_per_ip=0
与max_clients类似,同一个IP同一时间可允许多少联机。

pasv_min_port=0, pasv_max_port=0
与 passive mode 使用的port有关,如果你想要使用65400到65410这11个port来进行被动式联机模式的连接,可以这样设定pasv_max_port=65410以及 pasv_min_port=65400。 如果是 0 的话,表示随机取用而不限制。

ftpd_banner=一些文字说明
当ftp用户登入时,在 ftp client软件上会显示的说明文字。建议使用下面的banner_file设定值取代这个项目。

banner_file=/path/file
指定某个纯文本文件作为用户登入vsftpd服务器时所显示的欢迎字眼。同时,也可以放置一些让用户知道本服务器的目录结构。

当生活开始重新,你的魂魄就挨着死亡。同时,你会意识时间过得越来越快。

暨实业用户相关的安装

guest_enable=YES(NO)
设为YES时,任何实体账户,都会被假设成为guest (所以默认是NO)。guest在vsftpd 当中,默认取得ftp账户的相关权限,但可以通过 guest_username来修改。
#使用虚拟账户登录FTP时需要设置为YES。

guest_username=ftp
在 guest_enable=YES 时生效,指定guest的身份(虚拟账户统一获得此设置账号的权限)。

local_enable=YES(NO)
此设置值必须要为YES时,在/etc/passwd内的账号才能以实体用户的方式登入vsftpd。

local_max_rate=0
实体用户的传输速度限制,单位为bytes/secon,0为不限制。

chroot_local_user=YES(NO)
默认情况下,是否要将使用者限制在自己的家目录之内(chroot)。如果是YES代表用户默认就会被chroot;如果是NO,则默认不chroot。实际使用需要与下面两个参数互相参考。为了安全性,建议设置为YES。

chroot_list_enable=YES(NO)
是否启用chroot写入列表的功能。与下面的chroot_list_flie有关。此值开启时下面的列表档案才会生效。

chroot_list_file=/etc/vsftpd.chroot_list
如果chroot_list_enable=YES,那么此设置生效。

userlist_enable=YES(NO)
是否借助vsftpd的阻止机制来处理某些不受欢迎的账号,与下面的参数设定有关。

userlist_deny=YES(NO)
当userlist_enable=YES时才会生效。若设定为 YES 时,则当用户账号被列入到user_list文档时,在该文档内的账号将不能登入vsftpd 服务器;设置为NO时,则允许user_list中的账号登入。该档案文件名与下列设定项目有关。

userlist_file=/etc/vsftpd/user_list
若上面userlist_deny=YES时,则设置文档生效,在这文件内的账号都无法登录vsftpd。

儿时,一上好开多多事情,即使课间十分钟都可走至深远的地方买只冰淇淋。现在之怪钟不够刷一不折不扣朋友围,逛一围绕淘宝。

匿名用户登入的连锁安装

anonymous_enable=YES(NO)
是否允许anonymous登入vsftpd。默认是YES,下面所有相关设置都需要设置为 anonymous_enable=YES 之后才生效。

anon_world_readable_only=YES(NO)
仅允许anonymous 具有下载可读档案的权限,默认是YES。

anon_other_write_enable=YES(NO)
是否允许anonymous具有除了写入之外的权限,包括删除与改写服务器上的文件及文件名等权限,默认是NO。如果需要设置为YES,那么开放给anonymous写入的目录需要调整权限,让vsftpd的PID 拥有者可以写入才行。

anon_mkdir_write_enable=YES(NO)
是否让anonymous具有建立目录的权限,默认是NO。如果要设置为YES,那么anony_other_write_enable必须设置为YES。

anon_upload_enable=YES(NO)
是否让anonymous具有上传数据的功能,默认是NO。如果要设定为 YES ,则 anon_other_write_enable必须设置为YES。

deny_email_enable=YES(NO)
禁止某些特殊的email address的anonymous登入。如果以anonymous登入服务器时,要求输入的密码是email address,如果不让某些email address登入,可以使用此设置取消其登入权限,需与下面的设置值配合。

banned_email_file=/etc/vsftpd/banned_emails
如果deny_email_enable=YES时,可以使用此设置文件来规定哪些email address不可登入。

no_anon_password=YES(NO)
当设定为YES时,表示anonymous将会略过密码检验步骤,而直接登入。

non_max_rate=0
单位为bytes/s,限制anonymous的传输速度,如果是0则不限制.

anon_umask=077
限制anonymous上传档案的权限。

针对时间的感知正而段子说的,眼睛一样闭一睁眼,一天就过去了,再同闭一睁眼,一年即过去了,一睁眼一闭,一辈子不怕过去了。

有关系统安全方面的局部安

ascii_download_enable=YES(NO)
如果设定为YES,那么client优先(默认)使用ASCII 格式下载文件。

ascii_upload_enable=YES(NO)
使用ASCII 格式上传文件,默认是NO。

one_process_model=YES(NO)
此设定值比较危险,当设置为YES时,表示每个建立的session都会有一个守护进程负责,可以增加vsftpd的性能。不过除非你的系统比较安全,而且硬件配备比较高,否则容易耗尽系统资源,一般建议设置为NO。

tcp_wrappers=YES(NO)
建议设置为YES 。

xferlog_enable=YES(NO)
当设定为YES时,用户上传与下载文件都会被纪录起来,记录文件与下面的设置值相关。

xferlog_file=/var/log/xferlog
如果xferlog_enable=YES,这里的设置就有效。

xferlog_std_format=YES(NO)
是否设置为wu ftp相同的登录文件格式,默认是NO,因为登录档会比较容易读。如果有使用wu ftp登录文件的分析软件,这里需要设定为YES。

dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log
通常/var/log/xferlog只记录上传与下载,此设置可以开启用户登录日志。

nopriv_user=nobody
vsftpd默认以nobody作为此服务执行者的权限,因为nobody的权限很低,因此即使被入侵,入侵者也仅能取得nobody的权限。

pam_service_name=vsftpd
pam模块,一般放置为/etc/pam.d/vsftpd文件。

对这个题材,法国哲学家Paul
Janet在1897年提出了人类对日流逝的心理感受速度之驳斥。在他的驳斥被,一如既往年的光阴在人之记得中所占用的比例是勿相同的。

4. 必备之平安放行配置

论,当您同样夏的时,一年尽管是您生之全套。当你50东的时段,一年单纯是公生的2%。

SELinux

默认情况下,vsftpd不同意账户登入取得家目录数据(登入使用dir,但切莫克博得其他数),主要是出于SELinux引起的。如下:

[root@localhost ~]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off

#将“allow_ftpd_full_access”与“ftp_home_dir”设置为“on”即可;
#此两项设置需要一点时间,勿着急。
[root@localhost ~]# setsebool -P allow_ftpd_full_access 1
[root@localhost ~]# setsebool -P ftp_home_dir 1

[root@localhost ~]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on

如此这般,你的性命越长,一年时光所占有的百分比就愈加聊。

iptables

FTP使用有限独端口,另发擅自启用的数额流端口,及被动联机的服务器端口等,大概要如下规则:

#加入iptables的“ip_nat_ftp”与“ip_conntrack_ftp”两个模块;
#大概在底6行,以下两者顺序不可调换。
[root@localhost ~]# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp"

#开放port 21给访问者使用;
#开放随机启动的数据流端口给访问者连接使用;
#允许client大于1024的随机端口主动发起数据通道连接,server端使用端口65401~65410响应。
[root@localhost ~]# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 65401:65410 --sport 1024:65534 -j ACCEPT

#重启iptables
service iptables restart

就意味给一个五载的报童啊圣诞节等24龙,相当给受一个54春的人口拭目以待一年。

5. 虚构账户配置

因此,25春秋前之美好与长,是以不断接触新鲜事物有重复多记叠加的。而25年份后,机械式的重,走向死亡之速度为越来越快。

填补加虚拟用户和口令文件

#新建虚拟用户文件
[root@localhost ~]# vim /etc/vsftpd/vftpuser.txt

test1          #用户名
123456        #密码
test2
123456

25春的物化是于发现自己熬不起夜开始之。

扭转虚拟用户口令认证文件

将vftpuser.txt虚拟用户口令文件转换成为体系可识别的口令认证文件。

#查看系统有没有安装生成口令认证文件所需的软件db4-utils,如果没有安装采用rpm或者yum方式安装。
[root@localhost ~]# rpm -qa | grep db4-utils

#使用db_load命令生成虚拟用户口令认证文件。
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

高中的时光,常常熬夜看开及凌晨两三点,第二上五六点即使兴起背书,依然精神饱满,动力十足。

编纂vsftpd的PAM认证文件

#将文件中其他行都注释掉,添加下面这两行:
[root@CentOS5 /]#vi /etc/pam.d/vsftpd

#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/vftpuser
account    required     pam_userdb.so db=/etc/vsftpd/vftpuser
#路径为生成的db路径,去掉后缀

#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth

高等学校的早晚,每至后期测验,往往通宵临时抱佛脚,第二上轻松考个八九怪,考了继续跟同学去喂,嗨到半夜偷偷溜回宿舍,睡同一清醒还精神。

建地方映射用户并安装宿主目录权限

#所有的虚拟用户需要映射一个系统用户,此系统用户不需要密码,不可登入系统
[root@localhost ~]# useradd -d /home/vftpsite -s /sbin/nologin vftpuser

#注意虚拟用户家目录的权限问题,否则可能导致后面登入但无法读写
[root@localhost ~]# chown -R vftpuser:vftpuser /home/vftpsite

大二常常,一个总人口坐了十四单小时的列车去上海,一晚莫歇,到了上海大使都不及放,就开始打,一路吃同活动,丝毫未看麻烦。

配备vsftpd.conf(虚拟用户配置起有关)

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM认证文件

大四预备毕业论文时,每天晚上没有当零点前睡觉了醒来,第二龙早早爬起挤公交去实习,就那么坚持了一两单月。

重启vsftpd服务

[root@localhost ~]# service vsftpd restart

现年5月份,跟朋友去谷吧(音乐酒吧)玩到凌晨简单点,第二龙达到趟昏昏沉沉,这种状态不断了一个星期才晃过来。

测试虚拟用户登录

C:\>ftp 192.168.1.254
连接到 192.168.1.254。
220 (vsFTPd 2.2.2)
用户(192.168.1.254:(none)): test1
331 Please specify the password.
密码:
230 Login successful.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Mar 02 21:04 test
226 Directory send OK.
ftp: 收到 62 字节,用时 0.00秒 62.00千字节/秒。
ftp>

去年刚刚起勾画公号的下,为了确保更新频率,熬夜写稿是家常便饭。现在又为经受不歇了,宁愿少更新一些,也只要管充足的睡觉。

6. 虚构用户高级设置

先为看电影,会打晚十点十一点底场次,现在跳九点的场次不再考虑。

virtual_use_local_privs参数

#虚拟用户与本地用户有相同的权限
virtual_use_local_privs=YES

#虚拟用户与匿名用户有相同的权限,默认是NO。
virtual_use_local_privs=NO

对象喊我晚上出来打,唯一关心的凡几乎接触完,如果尽晚,宁愿不下。

各虚拟用户独立的部署文件(未说明)

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

#在配置文件中指定一个存放各虚拟用户独立配置文件的目录路径,添加:
user_config_dir=/etc/vsftpd/vftpuser_conf

#编辑test1的配置文件:
[root@localhost ~]# vim /etc/vsftpd/vftpuser_conf/test1

#可针对读/写/下载/上传等独立配置权限,如:
write_enable=YES #开放写权限
anon_world_readable_only=NO #开放下载权限
anon_upload_enable=YES #开放上传权限
anon_mkdir_write_enable=YES #开放创建目录权限
anon_other_write_enable=YES #开放删除与重命名权限

夜间去游玩滑板,十碰半哪怕尽快用起滑板回家。同行之板友,很多才20春左右,他们常常玩到十二接触,甚至彻夜刷街,而己尚未敢去约。

自我逐渐发现,自己精力不如昔矣,超过十二触及睡觉,第二上起来肯定头晕目眩,影响一整天之工作效率。

自身逐渐发现及,我再也不是那个连续熬夜一个月,各种胡吃海塞,第二上还能够载血复活的温馨了。那个年轻而充满活力的身体状态,和标致的大学时光一样,结尾加了ed。

人对外界的鼓舞变得更为敏感,身体悄然拒绝在已经是顺其自然的肆无忌惮。

只好努力的健身,让身体细胞的衰落死亡来得慢一些重复缓缓有。

25寒暑之死是自从不再对爱情抱有幻想开始的。

有一致次下雨天盼零星单穿正校服的粗情侣牵手一路运动一路淋雨,雨水狠狠打湿了他们之头发及衣物,他们倒是丝毫不在意,依然有说发笑。

我第一影响是,不怕感冒也?要是以前的自己,一定羡慕极了这种能一起淋雨的情意。

今天跟淋雨感冒比起来,爱情是多么虚无缥缈的东西。

现在使会给自己同那对小情侣一样拉正对方的手在风雨里不疾不徐,那个人得生多美好呀,我现在曾经不复相信自己来如此的运了。

年轻的当儿,喜欢一个总人口,别说打雨了,为他上刀山,下火海,甚至也外去好犹甘愿。

本人依稀记得自己已经爱一个丁的典范,为他折腾反侧,为外战战兢兢,为外写过多情话,为他战战兢兢。

假设现得我再也不会那么傻了,青春才发生同等差,为一个丁傻啊惟有来平等次。

常有人跟自己抱怨它男朋友不跟它穿情侣装,有人问我欢喜一个丁如无使告他,也有人半夜给我作消息说还易于前女友怎么处置……

我懂爱情带来的美满和苦涩,可多下,我都想说:自身委羡慕你们还有好的人,还得为ta欢喜为ta忧。

如果己已不行老无心动的感觉到了,我怀念,大概是为自己心里的小鹿早就撞死了。

五春秋时,可以单独吗捕捉一仅蝴蝶,而走至均等公里外的田野。

十年度时,可以只吗一个冰淇凌,而跑遍大街小巷的店堂。

十七春经常,可以吧喜的人,一个人数失去陌生的城。

二十五春秋经常,却可孤身一口,拒绝任何一个想接近的人头。现在逾疲惫了,懒得去好,也无意给爱。

时光让咱们换得愈成熟,懂得这止损,懂得权衡利弊。

少壮时,无知自然无畏,长大后,懂的大多了,反而畏首畏尾。

实则,我不怕淋雨,也尽管感冒,只是自己不再对爱情抱有幻想了。

25年份,死去的不停这些,还有复多。

话到嘴边又忘记的效率尤其高了。

不再胡吃海喝了,一凡是惯计算热量,二凡胃里再为塞不产如此多食了。

眼角开始来细纹,再贵的眼霜也得厉害购买了。

识的总人口越来越多,朋友越来越少。

撞想做的事务,会首先考虑金钱、精力当具体元素。

不时怀旧,看到旧照片会思路良多。

更好流泪,再为看不得别人哭了。

惰性越来越强,思考能力更弱。

更进一步害怕走有好之舒适区,开始追安逸和安静了。

本着成千上万政工开始冷淡甚至麻木,从不想怎么样辩到非思争取。

不再轻易羡慕别人活,懂得在根本还无是轻松的。

本25年并没有想象中之美好与从容,慌张与不明是常态。

原先富兰克林说的“有些人25春即充分了,只是到了75夏才盖上土里”不是同句空话。

本人逐渐开始了解王小波在《黄金一代》写的:

那么同样上自己二十一年度,在自己一生之金子期。我生很多奢望。我怀念爱,想吃,还惦记再度同转变为天上半明半暗的出口。

新生己才知,生活就是单暂缓受锤的进程,人同样上天总下去,奢望也一天天消失,最后移得如挨了锤的牛哲学原理一样。

不过我了二十一岁生日时不曾预见到这或多或少。我认为好会永远特别猛下去,什么也锤不了自身。

那么同样年我17春秋,我以日记被描写到:

本人只要改成一个坏厉害的食指,成为一个于抱有人且羡慕的人数。

自家要去过多众地方,看众群山水。

本身一旦容易一个十分好的口,愿意为外去汤蹈火的丁。

我并非平凡生活,我若轰轰烈烈的过一生。

自家本那个想念那时的稚嫩和愚昧。

END

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图