vsftpd处事器同时撑持匿名用户、当地用户和虚拟用户三类用户账号,使用虚拟用户账号可以供给集中打点的FTP根目录,同时将用于FTP登录的用户名、密码与系统用户账号区别开,进一步增强了FTP处事器的平安性。4 w! ~( e* z) r9 _' N! S1 ?
成立虚拟用户的用户名/密码数据库* D$ G% U, p9 b7 P( s: G5 T0 q
vsftpd处事的虚拟用户数据库是使用Berkeley DB名目的数据文件。成立该数据库文件需要用到db_load呼吁工具,下面我们就从Linux光盘中安装db4-utils软件包获得该工具。. Z0 L2 S% ^; Y7 |8 M3 u8 ?
# mount /dev/cdrom /mnt
6 B' H1 d& b/ [5 s4 G- P2 n& c mount: block device /dev/cdrom is write-protected, mounting read-only, g' H' K9 t) A! n9 Q: A# z( J
# cd /mnt/Server/
6 c) ^3 _$ c. ? # rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm
7 W1 ?1 ]7 b5 d' X, z; h warning: db4-utils-4.3.29-9.fc6.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186; s8 K% x X7 @4 p
Preparing... ###########################################
, o" k/ ^4 m$ [4 M' X 1:db4-utils ########################################### * M; T3 l Z3 m9 s
成立文本名目的用户名/密码列表文件,奇数行为用户名,偶数行为上一行的用户密码。
% [7 b7 X9 i" g% ~+ O N 如下所示:
1 Z# C7 p9 x6 {7 I, L9 ?, N/ i # vi /etc/vsftpd/vusers.list4 p* V) X5 M5 m, x+ {7 `5 S0 f- ^8 O
zhangsan3 I/ b) [! {; Y% d5 t. w+ `
1231 V2 r% f7 M) C
lisi
+ C- Y K+ {- d, X 4562 k. D0 U: }4 v! B" u5 b- h1 @) v3 b
然后用db_load工具将列表文件转化为DB数据库文件。5 n3 K. Y) O; `/ |" R
呼吁如下:+ W" C4 P' ]5 k7 Y6 q8 g
# cd /etc/vsftpd/
, S- {/ Y3 ^4 |# b # db_load -T -t hash -f vusers.list vusers.db
0 D4 |' i4 }' d; n, |. Y0 Y& \7 A # file vusers.db1 i" u/ m0 J+ X; k+ a
vusers.db: Berkeley DB (Hash, version 8, native byte-order)
4 ^- _2 M) R. Z$ H' y W& Z # chmod 600 /etc/vsftpd/vusers.* \降低文件权限以提高平安性
8 Q, W$ b* V" |' k! t2 [ 成立FTP访谒的根目录及虚拟用户对应的系统账号
; `$ b! y. {' f! Z+ \7 [) X vsftpd虚拟用户需要有一个对应的系统用户账号(该账号无需设置密码及登录Shell),该用户账号的宿主目录作为所有虚拟用户登录后的配合FTP根目录。呼吁如下所示:
- B$ B0 I" \9 q # useradd -d /var/ftproot -s /sbin/nologin virtual \成立映赡账号virtual1 s% [, m& X& U) K6 a
# chmod 755 /var/ftproot/ \更改FTP根目录权限 |