EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。比如: - 非常高的安全性需求
- 带宽限制
- 良好的可伸缩性
- 创建虚拟用户的可能性
- IPv6支持
- 中等偏上的性能
- 分配虚拟 IP 的可能性
- 高速6 Q+ ], \7 T y( T4 {% R
vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。一个例子就是 vsftpd 是在 chroot 模式下工作的,chroot 模式就是为程序(这里就是 vsftpd 了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了 --- 所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的 FTP 服务器将被从系统的其他部分独立开来,从而避免了更大的损失。 由于有了如此多的特性,其中 FTP 服务的安全性应该是最重要的,vsftpd 比其他 FTP 服务器更加优越。 1.安装vsftpd
( I6 x! x! d' C( p: w _) L6 r直接从源里面安装,easy
+ l: ?. H7 ~. k! f 代码:
4 ^/ Y* h1 q/ ~sudo apt-get install vsftpd2 ~- X# Z( |6 o# {) L% V$ d" M
0 G. X; U, ]) O5 Z% ]# [
- a5 n2 v0 c% W% J V/ t9 @安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。
4 Q/ a8 u# ?% H" i$ f# }如果没有生成这个用户的话可以手动来,生成了就不用了:9 h- v( E# c) |8 r1 j
代码:9 ?6 J+ w9 l/ {
sudo useradd -m ftp/ w$ }! q8 x' S- X/ i9 c5 ?
sudo passwd ftp! Y6 [) F" I$ _
8 b J8 M2 M: v- M( p5 j
$ n- G6 x: h) P
有"ftp"帐户后还要更改权限
# _* V; H$ U6 L1 s代码:
( e5 E, b& s! M/ ysudo chmod 777 /srv/ftp) v, k" q5 Y1 n. s, K
. D' y" T6 v6 g- B; u+ w9 A7 O1 b* Y
在这个目录下我建立一个文件夹专门保存需要共享的内容
. _9 o! J- d1 j6 ]: W. I! z( ] h& R4 x6 r
2.配置文件. ]! B4 ]/ G3 r0 ?
通过sudo gedit /etc/vsftpd.conf修改。
1 _( c, u7 M) ]) Z) h1 C4 S配置文件如下:
1 F0 f. v! }( ?8 r% e5 \代码:
% O k/ E( k( |2 o) q2 w7 Q# cat /etc/vsftpd.conf
9 Q* ?1 H G/ x, n/ Z# c* Z# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。& H7 a' K }/ ^4 m, S, b
# 注销语句以 xinetd 方式运行; |7 K( m/ R; `$ n: \6 [
listen=YES5 o1 b3 b7 D- B. ^6 N V
# 上传总开关(全局控制)1 i, C; {" o+ U) a/ r2 p' F* z
write_enable=YES0 q$ P/ \5 u: m' K! U& i6 S) j( a
# 接受匿名用户,默认无密码请求
2 i( O! H% {) aanonymous_enable=YES
i" U. f- H- M8 J7 M# 接受本地用户
% ?3 c% p$ j: O @local_enable=YES
) z7 o& _/ ?+ Q! u9 n9 i" B# 本地用户上传文件(包括目录)的 umask' {' y8 n+ o" C( @8 s' N
# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖8 \$ D$ {1 Q- d
local_umask=022
6 N. ?2 M$ \, L% \8 z# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载/ Z A/ k' O7 M, S) r! P' L
anon_upload_enable=YES! U/ s/ g; g- g2 [0 P6 M- _
# 匿名用户上传文件(包括目录)的 umask
; q# K: `9 } c! N4 _0 \# 注意点同 local_umask
+ z& C6 {. X2 D/ Ranon_umask=022% z9 U! D" ?/ T3 D( Z% P2 O
# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小/ w: D! ^1 K# v, Y& [: s1 ] n; Z
anon_mkdir_write_enable=YES
* l8 s3 B. X+ z/ Y7 C v# 允许匿名用户删除/重命名文件等操作, L' |3 P1 Z' H& V: \! N
#anon_other_write_enable=YES* K# L% E5 I# o6 Y9 v, H( T/ I2 O
# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容( g7 v, R2 g: `
dirmessage_enable=YES9 r- _" d& c4 ^- p
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
+ W ~8 P3 Y2 ~) J2 P: Qxferlog_enable=YES
# }, M) I& K% ~1 n+ T# 使用 port 模式连接,并启用 20 端口/ s/ I8 [) l2 y/ j' a6 ?& m
connect_from_port_20=YES
! O3 b+ c4 l, y# }) }; {' N# n2 g# 改变用户上传文件的所有者* F& F3 i4 U! a% W |5 h( H
#chown_uploads=YES- s. e |0 ^" _& l, q- B
#chown_username=whoever% z: Y) c1 X9 ~1 K9 b# ~
#xferlog_file=/var/log/vsftpd.log
% Q" F3 ?* N1 P, O2 C( t0 k+ y7 i# 日志使用标准 xferlog 格式
6 t2 [) k! k k' \8 `2 K+ q#xferlog_std_format=YES
: `/ X6 z! w4 `2 o+ d9 K2 m6 y# 用户登陆后 idle 时间,超过设置超则被踢出服务器4 z( W/ V2 V2 j& Z% a9 S
#idle_session_timeout=600 H8 u) l. Y( n* {/ v% {9 |
# login 时的欢迎信息
& @& [) b, m( {1 J# A5 W' h) u( Y- ]ftpd_banner=Welcome to feifei FTP service.
; {- p' s/ v1 J8 q3 d& K" v* O#deny_email_enable=YES
" ^5 M" |" F. _% @4 m6 D. ^ ^#banned_email_file=/etc/vsftpd.banned_emails
* ~$ ^& C# R, E# A7 y* l# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被
; Z# K k9 E+ d Y# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。4 u. u2 v: {8 ?
chroot_local_user=YES
9 f |$ y8 _" _2 o; q1 ]# 设置为 YES 则下面的控制有效& i6 x3 B! ?8 X% _5 {
#chroot_list_enable=YES
' |/ J8 _9 U- E D( W) d#chroot_list_file=/etc/vsftpd.chroot_list
( R! V3 {' z' r4 p#ls_recurse_enable=YES' y o, u% T: D
secure_chroot_dir=/var/run/vsftpd, n' _& k* A" k/ d* n b: q$ B) X# o
pam_service_name=vsftpd) s6 P6 a8 v9 [+ R8 U
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem- c# q- w5 c2 ^; i) H
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key! J5 g8 v+ y6 i, n
local_root=/srv/ftp1 B9 t" T* _: T
7 X1 {5 W$ Q; M- z
6 I7 N" K' \; M% W1 v对了,更改配置后不要忘了重启ftp服务
8 n, a: R+ D/ a8 ]( i' p. u代码:8 r9 `6 v* G+ w! x* m. g5 [6 d( W
sudo /etc/init.d/vsftpd restart6 Y* T+ O8 H5 k3 a' m
: q+ s; j! W: {3 s8 [+ z( b% T7 S* y: _" M. Q# p4 ]' T. q @
此外还有开启关闭服务的命令2 I' W1 p! ~6 S( J7 D8 g' ?; S
代码:8 B! z/ D$ A" j% n) @( ?0 ~9 c) h
sudo /etc/init.d/vsftpd start% a: w: E& }2 D( \/ ^' z
sudo /etc/init.d/vsftpd stop
1 a! ~& A) v$ D' H9 I8 [这样,就可以使用电脑的IP地址登陆这个ftp服务器了。
7 U+ G7 @2 g9 a" M N3 T( K$ R |