EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。比如: - 非常高的安全性需求
- 带宽限制
- 良好的可伸缩性
- 创建虚拟用户的可能性
- IPv6支持
- 中等偏上的性能
- 分配虚拟 IP 的可能性
- 高速
, h, T/ M' [2 n2 v8 Q vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。一个例子就是 vsftpd 是在 chroot 模式下工作的,chroot 模式就是为程序(这里就是 vsftpd 了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了 --- 所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的 FTP 服务器将被从系统的其他部分独立开来,从而避免了更大的损失。 由于有了如此多的特性,其中 FTP 服务的安全性应该是最重要的,vsftpd 比其他 FTP 服务器更加优越。 1.安装vsftpd " y& e; S0 y1 P& s$ X
直接从源里面安装,easy % |% H) Y3 J1 b- N7 [
代码:
2 R( l* a" {3 ^. g9 esudo apt-get install vsftpd
+ Q. G! e' e! L* B4 m/ a
5 z! ~9 t1 w& i, t- v! u+ \; d, L9 _; O; N b
安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。
3 i6 h. Q) ~3 o1 L+ d, f; T8 S如果没有生成这个用户的话可以手动来,生成了就不用了:
% X3 V q0 U) [: y2 N& \% c代码:
) c3 d: Y8 V. A+ i) Lsudo useradd -m ftp! B! J( Y; F0 j* Y3 x
sudo passwd ftp
; v" q9 `; x' A7 u" D. W; F r4 d$ x
( j# e! A* A* U# X, s& T, `, p( T5 K+ _) z4 ?: t
有"ftp"帐户后还要更改权限
7 `, E! w0 }. |+ f" T代码:4 {+ `0 C, N9 q d0 a) E, g
sudo chmod 777 /srv/ftp
R& e1 e: K3 z9 l, w
2 X' o: ~4 x' s* ?* A/ }在这个目录下我建立一个文件夹专门保存需要共享的内容% N9 B4 }! V4 P. h, s: X
/ K( w- I; Y* E$ T! \1 w
2.配置文件
3 B; w+ l& [9 ]通过sudo gedit /etc/vsftpd.conf修改。" x# D0 V6 w, \+ b4 G
配置文件如下:9 C. G: X1 P% f
代码:
- ~$ i' \1 s A- b n# cat /etc/vsftpd.conf
. P& ~- |5 ~2 z" N0 w a. ]# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
A7 b. S) u9 [* D; S0 n# 注销语句以 xinetd 方式运行) Z5 G0 o. A0 [9 M6 I8 m
listen=YES! d |! c9 n* K
# 上传总开关(全局控制)
2 V4 {0 U0 J- m5 Fwrite_enable=YES
+ [1 [1 V7 h- g3 O# 接受匿名用户,默认无密码请求4 l0 c) D! ^# \
anonymous_enable=YES
0 Z! e. L4 O1 t/ ]/ `9 a3 t; L# 接受本地用户
& X+ P- e, G3 Q9 N) |local_enable=YES
# f% o+ Z( B/ Q# X8 m# 本地用户上传文件(包括目录)的 umask- n% e# m5 d. i( @
# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖
0 L) [7 U: K' c; jlocal_umask=022+ ?, P* V4 j: B/ @/ f. r, Q7 ^: e
# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载1 [4 Z6 h0 }0 F! M, E3 G
anon_upload_enable=YES
" |1 {# n' a7 I# z9 ?& t' B2 A1 Y1 {# 匿名用户上传文件(包括目录)的 umask
: S9 ]& a8 ^/ ~6 b. B! Q3 }# 注意点同 local_umask
- Y7 T* u% ^/ l2 t/ oanon_umask=022; j- w0 Y/ p/ U; W3 @" k
# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小$ s2 L4 v( f2 E* L& ?" L& x
anon_mkdir_write_enable=YES$ |6 D& b% Y9 o5 F
# 允许匿名用户删除/重命名文件等操作! S- e; p% u& t+ i {, | P
#anon_other_write_enable=YES; X" G' o y( ^% V F
# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容
" b( @8 _' L3 x Y7 \. t' rdirmessage_enable=YES) S/ O0 P; I3 b1 ]3 u6 D) G
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改! G) C& ?) G7 L Y
xferlog_enable=YES
$ O9 D. K& ~5 t) o+ C4 D# 使用 port 模式连接,并启用 20 端口2 F: V, E' t. A3 h6 a% l4 r$ }/ }
connect_from_port_20=YES
' l1 x0 X }' T* v6 L B# o3 l# 改变用户上传文件的所有者
' ]5 V3 e5 l3 {#chown_uploads=YES
+ b' n |& y3 C: C/ \#chown_username=whoever! \ K* U: \8 G% `4 e& H
#xferlog_file=/var/log/vsftpd.log2 \5 Q& U; e; f* w0 G
# 日志使用标准 xferlog 格式
7 }$ e3 I3 f/ X# T, I2 y4 b. t3 q#xferlog_std_format=YES/ e. n, a5 L. W# }+ g
# 用户登陆后 idle 时间,超过设置超则被踢出服务器3 e* Z1 i, ~ ?; E8 H& d
#idle_session_timeout=600
; U8 r, [) }' S( }# login 时的欢迎信息
7 W( O3 s U( h; P; j/ |% jftpd_banner=Welcome to feifei FTP service.
3 O0 B8 h- R/ b( y: L#deny_email_enable=YES2 G) {7 k& Z7 c( \) J2 M* K
#banned_email_file=/etc/vsftpd.banned_emails
) ^& q7 D+ r' f: \# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被
4 ]) Q. q q3 {& c5 ?4 W; @5 S# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。
2 s& J7 D" m0 N$ Fchroot_local_user=YES
5 i1 w r! X3 r" n ]# 设置为 YES 则下面的控制有效
2 N; b$ D) M( Q) o) n#chroot_list_enable=YES3 A# p7 c2 A' t {' B+ _0 T
#chroot_list_file=/etc/vsftpd.chroot_list0 Y7 b6 k9 I; a; U1 X# E( T
#ls_recurse_enable=YES. Z3 \& g) O# J: C6 w# `4 I1 \
secure_chroot_dir=/var/run/vsftpd Q1 ~7 @1 S( a2 W2 c3 ^- Z' Y4 `9 M% C
pam_service_name=vsftpd
% u/ C. ]/ M+ Y0 z s/ {: R; i1 Trsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
% V" d; f" |0 q1 ]- frsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key* f- p5 H/ w7 M! j+ G, t
local_root=/srv/ftp
8 b" c1 i6 v7 I8 l7 I
- I' C/ C T0 e' x7 k- |1 t2 t E" r9 g
对了,更改配置后不要忘了重启ftp服务
4 e+ F4 P$ H( _4 D6 \代码:8 D. n. g- Q& }4 f
sudo /etc/init.d/vsftpd restart. p# K3 k+ w9 r) k. A8 W9 a; K" B0 s
" V6 e" t; h5 e; K! O4 d+ C3 h
- P n* l$ t+ K% Q9 k& F
此外还有开启关闭服务的命令6 ?) j" V. }! U# r
代码:
- o* c9 k9 c8 isudo /etc/init.d/vsftpd start! }4 j; a) {& Z ]0 {1 \
sudo /etc/init.d/vsftpd stop, O( G* ]( `/ b- M1 [$ {+ ^
这样,就可以使用电脑的IP地址登陆这个ftp服务器了。
+ v/ t& x) _) ^$ |2 s" z) P |