日期:2014-05-16  浏览次数:20756 次

linux坏境安装FTP

Red Hat Enterprise Linux 5下配置FTP服务

1.准备工作
要运行FTP服务,先要安装FTP服务的服务器软件包.
vsftpd-2.0.1-5.i386.rpm

rpm -ivh vsftpd-2.0.1-5.i386.rpm???? //安装该软件包
正确安装软件包后,就可以对FTP服务器的主配置文件进行修改了
2.修改FTP服务器的主配置文件/etc/vsftpd/vsftpd.conf

该配置文件是在安装软件包的时候自动生成的,不要我们手动建立,我们只需要对它做必要的修改就可以让FTP服务器正常运行了.修改示例如下:
anonymous_enable=YES???????????? //是否允许匿名访问,匿名帐户为 ftp和 anonymous

local_enable=YES???????????????? //是否允许本地用户访问
write_enable=YES???????????????? //允许本地用户访问时,是否允许他们有写入的权限
local_umask=022????????????????? //本地用户在写入文件时,这些文件默认的权限
dirmessage_enable=YES

xferlog_enable=YES??????????????? //是否启用日志
xferlog_std_format=YES??????????? //是否用标准格式存储日志
connected_from_port_20=YES?????? //是否允许从20的连接请求
pam_service_name=vsftpd????????? //设置PAM认证服务的配置文件名,该文件位于/etc/pam.d目录下
listen=YES????????????????????? //FTP处于独立启动模式
tcp_wraapers=YES??????????????? //该服务器使用tcp_wrappers作为主机访问控制方式
userlist_enable=YES???????????? //是否检查vsftpd.user_list中的设置,该文件在/etc下.(在RHEL5中
????????????????????????????????? 该文件位于/etc/vsftpd中,文件名为user_list

userlist_deny=YES?????????????? //该项与上一项一起构成了黑名单,即在vsftpd.user_list中的用户不
????? 允许访问该FTP服务器.当该项设置为NO时,vsftpd.user_list则为白名单,
????????????????????????????????? 允许在vsftpd.user_list中的用户访问该FTP服务器.

chroot_local_user=YES???????????? //本地用户登陆时,将其禁锢在FTP根目录下
chroot_list_file=/etc/vsftpd/chroot_list???????? //该项和上一项配合使用,当该项不存在时,设置上
????????????????????????????????????????????????? 一项为YES后,则所有本地用户都被禁锢在FTP根
??????????????????????????????????????????????? 目录下,该项存在时,则只有该文件中的用户被禁锢
max_clients=100???????????????? //FTP服务器的最大并发连接数
max_per_ip=5??????????????????? //每个ip最多建5个连接
local_max_rate=500000????????????????? //本地用户的最大传输速率,单位为B/s
anon_max_rate=100000??????????????????? //匿名用户的最大传输速率,单位为B/s
idle_session_timeout=600??//表明空闲会话时间为600秒
data_connection_timeout=120??//表明数据连接超时时间为120秒

userlist_enable=NO
表明vsftpd.ftpuser文件中的用户将被禁止访问FTP服务器。
userlist_enable=YES
userlist_deny=NO
表明仅允许vsftpd.user_list文件中的用户访问FTP服务器。
userlist_enable=YES
userlist_deny=YES
表明vsftpd.ftpuser和vsftpd.user_list文件中的用户都不能访问FTP服务器。
禁止某些IP段的主机匿名访问服务器
修改vsftpd.conf文件,确认有如下语句:
tcp_wrappers=YES
修改/etc/hosts.allow文件,增加1行命令:
vsftpd:192.168.1.1:DENY
表示限制IP为192.168.1.1的主机访问FTP服务器。
重启vsftpd服务。
注:要让匿名用户访问,必须关闭防火墙。

3.启动和关闭
启动命令为: #service vsftpd start
停止命令为:#service vsftpd stop
重启命令为:#service vsftpd restart
查询运行状态:#service vsftpd status

4.卸载vsftpd
rpm -aq vsftpd?????? //查询ftp服务
rpm -e? 查询出来的名字

FTP创建虚拟用户

一.创建虚拟用户数据库
我们将用pam_userdb来对虚拟用户进行签权,需要生成一个 用户名/密码 文件,db格式的。为了生成这样的文件,我们要先生成一个纯文本文件
#vi /etc/vsftpd/vsftpd_login.txt(奇数行是用户名偶数行是密码)
把文本编译成数据文件
db_load -T -t hash -f vsftpd_login.txt /etc/vsftpd/vsftpd_login.db
二.为这个文件加上权限,只允许root读写
chmod 600 /etc/vsftpd/vsftpd_login.db
三.建立虚拟用户所需的PAM配置文件
# vi /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
注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!
四.建立虚拟用户所要访问的目录并设置相应权限
useradd -d /home/ftpsite virtual(用户名)
chown virtual:virtual /home/ftpsite
chmod 700 /home/ftpsite/
五.配置vsftpd.conf
guest_enable=YES?????????????????? //启用虚拟用户
guest_username=virtual???????????? //将虚拟用户映射为本地用户
pam_service_name=vsftp.vu????????? //指定PAM的配置文件
user_config_dir=/etc/vsftpd_user_config? //存放每个虚拟用户的配置文件????????????
六.为每个用户单独创建文件,文件与上面文本中创建的用户同名
anon_world_readable_only=NO????????? //表示用户是否可浏览YES为不可以
anon_upload_enable=YES????????????? //表示用户是否可以上传文件YES为可以
anon_mkdir_write_enable=YES?? ????? //表示用户是否可以建立删除目录YES为可以
anon_other_write_enable=YES????????? //表示用户具有文件的改名和删除文件的权限YES为可以
local_root=/home/ftpsite/test1?????? //限制虚拟用户的目录

Ftp创建虚拟服务器
一.为网卡再次绑定一个IP
netconfig -d eth0:0
重启网络设备 service network start
二.创建一个用户
useradd -d /var/ftp2 ftp2
三.修改/etc/vsftpd/v