实验环境:AS4
最小化安装
实验目标:架设VSFTP
服务器
编辑: crazylinux 2007.03.30
联系方式:http://crazylinux.cublog.cn
大家好!
这次我们来学习
Linux
系统中的
vsftp
服务器的配置。
下面我们开始了!首先我们安装
vsftp
服务器端的软件
vsftpd
服务器的安装文件位于第
1
张安装光盘中
使用
rpm
命名可顺利安装该软件包
# rpm -ivh vsftpd- 2.0.1 -5.i386.rpm
安装完后默认就可以启动
vsftp
服务了,
[root@localhost ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
但是默认我们只能看,不能上传。
1
,下面我们开启匿名用户上传
[root@localhost /]# vi /etc/vsftpd/vsftpd.conf
将
anon_upload_enable=YES
anon_mkdir_write_enable=YES
前面的
#
去掉
[root@localhost /]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
2
,将
FTP
本地用户禁锢在宿主目录中
在
vsftpd.conf
文件中添加设置项
chroot_local_user=YES
重新启动
vsftpd
服务
# service vsftpd restart
3
.建立虚拟帐号
a,
建立虚拟用户口令库文件
[root@localhost ~]# cat logins.txt
mike
123
john
321
口令库文件中奇数行设置用户名,偶数行设置口令
b,
生成
vsftpd
的认证文件
(
在第
3
张光盘中安装
)
[root@localhost RPMS]# rpm -ivh db4-utils- 4.2.52 -7.1.i386.rpm
warning: db4-utils- 4.2.52 -7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db 42a 60e
Preparing... ########################################### [100%]
1:db4-utils ########################################### [100%]
[root@localhost RPMS]# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db
生成认证文件
c,
设置认证文件只对用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
d,
建立虚拟用户所需的
PAM
配置文件
手工建立
vsftpd.vu
文件
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
e,
建立虚拟用户及要访问的目录并设置相应的权限
建立所有
FTP
虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限
# useradd -d /home/ftpsite virtual
# chmod 700 /home/ftpsite
f,
设置
vsftpd.conf
配置文件
在配置文件中添加虚拟用户的配置内容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
重新启动
vsftpd
服务程序
g,
对
vsftpd.conf
文件修改后需要重新启动
vsftpd
服务程序
# service vsftpd restart
现在就应该可以用虚拟帐号登陆了,
4
,对虚拟用户设置不同的权限
设置主配置文件
在
vsftpd.conf
文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
建立用户配置文件目录
使用
mkdir
命令建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件
用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
里面的内容如下:
anon_world_readable_only=NO
表示用户可以浏览
FTP
目录和下载文件
anon_upload_enable=YES
表示用户可以上传文件
anon_mkdir_write_enable=YES
表示用户具有建立和删除目录的权限
anon_other_write_enable=YES
表示用户具有文件改名和删除文件的权限
没有的配置项默认按照
vsftpd.conf
的配置内容
5
,
FTP
服务器的资源限制
max_clients=100
允许最大的客户端连接数
max_per_ip=5
同一
IP
最大客户端的连接数
local_max_rate=5000000
设置本地用户最大传输数率
anon_max_rate=2000000
匿名用户最大的传输数率