EDA365电子论坛网

标题: Ubuntu系统下安装vsftpd [打印本页]

作者: uperrua    时间: 2020-3-31 09:46
标题: Ubuntu系统下安装vsftpd
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。比如:
vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
一个例子就是 vsftpd 是在 chroot 模式下工作的,chroot 模式就是为程序(这里就是 vsftpd 了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了 --- 所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的 FTP 服务器将被从系统的其他部分独立开来,从而避免了更大的损失。
由于有了如此多的特性,其中 FTP 服务的安全性应该是最重要的,vsftpd 比其他 FTP 服务器更加优越。
1.安装vsftpd
- _0 @# t- w: |) ]; q7 W  g" N直接从源里面安装,easy
$ Z3 `6 E, j" f8 i' D+ @
代码:4 F9 }! E: ?' S9 A7 V
sudo apt-get install vsftpd
5 u. d& f! L. N3 X3 j3 e, j" {0 B) @$ ~  N5 E

/ n$ u3 L& p0 u/ g& E- D: ^$ }6 B安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。2 D' G) k  C5 e$ T5 |  X, P
如果没有生成这个用户的话可以手动来,生成了就不用了:
" Q9 y/ M* y- @0 |! f, [+ y! M% I代码:
) u. }3 @3 I7 x+ _8 dsudo useradd -m ftp
5 L) X# T. \0 U# V; @# U0 v& msudo passwd ftp
0 }+ K! g+ r; n2 |! ~$ l3 V9 E3 f# Q1 X  {

' s# ~3 b0 M3 y7 k有"ftp"帐户后还要更改权限6 k+ W# Q  Y. W5 \4 i
代码:1 V0 q. {1 l$ ?0 ?
sudo chmod 777 /srv/ftp  @+ P0 K4 b' n; r7 f' p

3 A" Z6 v2 Z: l3 t& Q& Q7 m! B在这个目录下我建立一个文件夹专门保存需要共享的内容
  S8 w& y  v) i- O
4 Y. r/ W& V- d2.配置文件4 S! [! P1 E$ G/ _, t
通过sudo gedit /etc/vsftpd.conf修改。
5 s* D: V# {8 [7 g+ W( H" |4 o, m配置文件如下:7 d& V9 U! ?, x6 Q) i1 Y
代码:
( |5 v. y9 ~7 M( ?# cat /etc/vsftpd.conf
# n0 d- N0 p/ C- U# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
/ u$ U0 m  E, V; x; X0 @9 w# 注销语句以 xinetd 方式运行
, }& e; ^$ k" q/ h+ mlisten=YES
3 o* |; m  K% C6 o! Z- M2 @' q" C# 上传总开关(全局控制)
5 a5 L1 u% x- x* Q9 w. q& k9 @write_enable=YES
( B, F' m: e1 S# k$ s9 V7 O2 J# 接受匿名用户,默认无密码请求
/ l, s- a9 ]$ M/ Qanonymous_enable=YES
$ d0 @" s5 T0 a/ |# 接受本地用户
8 t! m  B* s- C; flocal_enable=YES
7 ]7 u0 \& y! R) P# 本地用户上传文件(包括目录)的 umask
3 ?6 f: a  ?2 S; t# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖' t/ [' m/ h; l9 A- ~
local_umask=0229 o1 K, w5 f- r# W) m. J
# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载, @; J  F- u4 h2 p  g
anon_upload_enable=YES+ Z2 N7 E: t4 L, T- j# C
# 匿名用户上传文件(包括目录)的 umask! n) `3 ?/ k" M+ Z0 J
# 注意点同 local_umask
+ V" k5 o) ?6 E* d/ @% ]8 F# Qanon_umask=022
9 i$ I+ P1 @5 p2 @7 a1 E6 ]& O# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小6 r; C$ n' Q% r, h
anon_mkdir_write_enable=YES
8 l" }6 p1 x$ J1 Y8 R8 W# 允许匿名用户删除/重命名文件等操作: }2 k8 j9 V2 q8 n$ X. R
#anon_other_write_enable=YES7 s' a- s5 e. z7 L
# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容, x: K" {! L! T+ y/ U( ~4 I/ b
dirmessage_enable=YES
" T' H3 ?: m: ]( f# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改2 Y4 {0 p  a& n% i% Y  W* F$ r8 Q
xferlog_enable=YES
! o& e) Z5 i. V( c- J" _. r" H# 使用 port 模式连接,并启用 20 端口
& l2 f, m" M' G  E; i! @connect_from_port_20=YES: o* h% p5 v+ F4 ~+ O+ K1 a3 K  A
# 改变用户上传文件的所有者# X% E/ m4 E0 K! Y. ~+ ^
#chown_uploads=YES& A, d/ N  {, ~1 I7 j' L, V; A
#chown_username=whoever5 r5 [, N1 {9 I% \6 u; v- h; z
#xferlog_file=/var/log/vsftpd.log
# k# D7 Z" G; b" I  [( y# 日志使用标准 xferlog 格式
9 H2 T  c2 X0 X: x& r  ^#xferlog_std_format=YES" m2 ^7 U+ f( m2 x) Y& p& Q: f
# 用户登陆后 idle 时间,超过设置超则被踢出服务器
4 b- V  \% p! \4 P; C#idle_session_timeout=6006 u5 _( M( j* T) q; j& t- t! f
# login 时的欢迎信息9 A" Y5 Z' c& H$ B1 w# J
ftpd_banner=Welcome to feifei FTP service./ v3 {# N* h; U$ M; y5 H5 \
#deny_email_enable=YES
, n; y  C5 a: S' l#banned_email_file=/etc/vsftpd.banned_emails* C! T$ G% [! G( p7 t% P8 z+ c
# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被) {. ]& ?2 ?% t7 x3 o' r
# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。, Y0 A, W2 h- b' r1 v1 u% [
chroot_local_user=YES
5 r3 H) l% _8 A# 设置为 YES 则下面的控制有效
0 r6 z% B% s& ?" t9 m#chroot_list_enable=YES& ^6 z: B' L6 X+ T' f" _% ~4 P" _
#chroot_list_file=/etc/vsftpd.chroot_list3 [9 S6 k! @& I- [% {' u
#ls_recurse_enable=YES# D# y- [, Z5 H: [
secure_chroot_dir=/var/run/vsftpd
  d5 W; M4 k, w( Z, Y+ e/ i# Lpam_service_name=vsftpd. L2 r: }; h$ K# t
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem; E- U1 _! k* I' h
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key  H& l- x# G4 _. N4 j
local_root=/srv/ftp, c5 r) y) T' ]+ Y0 E
$ C; w5 s; b* P1 M

3 e8 S3 X. z' a: F7 i/ X& D对了,更改配置后不要忘了重启ftp服务  
8 X8 g, {# Z: t& g代码:
% t1 {" ]* c" H3 {5 dsudo /etc/init.d/vsftpd restart
* z7 _* F0 L2 U; Z8 b" h! a2 N
& Q4 e, s6 P9 S* `1 s0 s% E
此外还有开启关闭服务的命令
/ o1 e/ Z6 w/ }9 ~( j代码:
4 [- \) W& o' j' b. C8 n1 bsudo /etc/init.d/vsftpd start, ]& Z! q2 c" k  D/ ^" ^
sudo /etc/init.d/vsftpd stop1 \, j1 U9 H# @% X5 L7 y4 p. f3 T
这样,就可以使用电脑的IP地址登陆这个ftp服务器了。

# Y( o) G( J& S# C& E; K
作者: ExxNEN    时间: 2020-3-31 17:49
Ubuntu系统下安装vsftpd




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2