关闭

在虚拟机中的linux的ftp的基本配置 (2011-03-08 10:53:03)

352人阅读 评论(0) 收藏 举报

在虚拟机中的linux的ftp的基本配置

 (2011-03-08 10:53:03)
标签: 

杂谈

分类: linux环境学习
下面是在虚拟机中的linux的ftp的基本配置(redhat AS 4.0为例):
首先要安装linux下的vsftp软件包。
rpm -qa|gerp vsftpd      //查找vsftpd有没有安装
如果没有安装就 vsftpd-2.0.1-5.i386.rpm (在第一张光盘)
在linux中有一个非常重要的一点就是要挂载光驱   mount /media/cdrom 
在这里我们就不用源代码安装了。用的是rpm安装
#rpm -ivh vsftpd-2.0.1-5.i386.rpm
这里就安装好了。
service vsftpd start   启动vsftpd服务
如果在不设置任何的情况下,可以以匿名的方式访问该ftp。
注.如果访问不了的时候请大家要把linux的防火墙也要关闭:
iptables -F 清除防火墙
在安装好ftp会产生几个文件:
/etc/vsftpd/vsftpd.conf     主配置文件
/etc/vsftpd.ftpusers        指定哪些用户不能访问FTP服务器
/etc/vsftpd.user_list       文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
这几个文件就是整个ftp控制和禁止用户的权限配置。。。
下面我们就来设置一个vsftpd的核心文件   
# cd /etc/vsftpd/vsftpd.conf     这就是vsftpd的核心配置文件
anonymous_enable=YES/no    是否允许匿名用户登录
anonymous_enable=yes/no    是否允许匿名上传文件
local_enable= YES/no       是否允许本地用户登录
write_enable= YES/no       是否允许本地用户上传
guest_enable=yes/no        是否允许虚拟用户登录;
local_mask=022             设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES     设置切换到目录时显示.message隐含文件的内容
xferlog_enable= YES        激活上传和下载日志
connect_from_port_20=YES   启用FTP数据端口连接
pam_service_name=vsftpd    设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
userlist_enable= YES       允许vsftpd.user_list文件中的用户访问服务器
userlist_deny= YES         拒绝vsftpd.user_list文件中的用户访问服务器
listen= YES/no             是否使用独占启动方式(这一项比较重要)
tcp_wrappers= YES/no       是否使用tcp_wrappers作为主机访问控制方式
最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)
大家可以设置下面的设置:
ftpd_banner=welcome to ftp service    设置连接服务器后的欢迎信息
idle_session_timeout=60               限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)
data_connection_timeout=120           设置客户机在进行数据传输时,设置空闲的数据中断时间
accept_timeout=60                     设置在多长时间后自动建立连接
connect_timeout=60                    设置数据连接的最大激活时间,多长时间断开,为别人所使用;
max_clients=200                       指明服务器总的客户并发连接数为200
max_per_ip=3                          指明每个客户机的最大连接数为3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000                   设置本地用户和匿名用户的最大传输速率限制
pasv_min_port=端口
pasv-max-prot=端口号                  定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;
listen_address=IP地址                 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;
listen_port=端口号                    设置FTP工作的端口号,默认的为21
chroot_local_user=YES                 设置所有的本地用户可以chroot
chroot_local_user=NO                  设置指定用户能够chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行)
local_root=path            无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;
chroot_local_user=yes/no   是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;
chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定; 
userlist_enable=YES/NO     是否加载用户列表文件;
userlist_deny=YES          表示上面所加载的用户是否允许拒绝登录;
userlist_file=/etc/vsftpd.user_list    列表文件
这些就是高级设置了。大家可以适当的更改。
#vi   /etc/hosts.allow
vsftpd:192.168.5.128:DENY   设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)
时间限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)
例: access_time = 8:30-11:30 17:30-21:30   表示只有这两个时间段可以访问ftp


配置文件是 /etc/vsftpd/vsftpd.conf 按如下编辑此文件,编辑文件当然用vi了

1)实现匿名用户的上传下载文件

程序代码: 
Anonymous_enable=yes        匿名登陆
Connect_form_port_20=yes  启用FTP数据端口的数据连接
Pam_service_name=vsftpd    验证方式
Listen=yes                          独立的VSFTPD服务器

这样你就可以实现匿名登陆ftp了,但还不能上传文件

程序代码: 
Anon_upload_enable=yes          开放上传权限
Anon_mkdir_write_enable=yes   可创建目录的同时可以在此目录中上传文件
Write_enable=yes                     开放本地用户写的权限
Anon_other_write_enable=yes   匿名帐号可以有删除的权限

加上上面的这段,你就可以实现匿名ftp的上传下载文件了

然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了

注意:确定你的防火墙 iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用 service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd被locked 那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了

2)实现本地用户上传下载
程序代码: 
新建一个用户
adduser 用户名    增加一个用户
passwd 用户名     增加用户的密码
然后看/etc/passwd中最后一行就是你刚才添加的用户信息
然后编辑/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes               允许使用本地用户来登陆ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户
限制用户只能在自己的目录中
Chroot_list_enable=yes                           文件中的名单可以调用  
Chroot_list_file=/etc/vsftpd.chroot_list      前提是chroot_local_user=no,在文件中加入用户名


vsftpd.conf的参数
程序代码:

Anonymous_enable=yes                        允许匿名登陆  
Dirmessage_enable=yes                         切换目录时,显示目录下.message的内容  
Local_umask=022                                  FTP上本地的文件权限,默认是077  
Connect_form_port_20=yes                   启用FTP数据端口的数据连接   
Xferlog_enable=yes                               激活上传和下传的日志  
Xferlog_std_format=yes                         使用标准的日志格式  
Ftpd_banner=XXXXX                              显示欢迎信息  
Pam_service_name=vsftpd                      验证方式 
Listen=yes                                            独立的VSFTPD服务器  
Anon_upload_enable=yes                       匿名用户上传权限  
Anon_mkdir_write_enable=yes                创建目录的同时可以在此目录中上传文件  
Write_enable=yes                                  本地用户写的权限  
Anon_other_write_enable=yes                匿名帐号可以有删除的权限  
Anon_world_readable_only=no                匿名用户浏览权限  
Ascii_upload_enable=yes                         启用上传的ASCII传输方式  
Ascii_download_enable=yes                     启用下载的ASCII传输方式  
Banner_file=/var/vsftpd_banner_file          用户连接后欢迎信息使用的是此文件中的相关信息  
Idle_session_timeout=600(秒)              用户会话空闲后10分钟  
Data_connection_timeout=120(秒)       将数据连接空闲2分钟断  
Accept_timeout=60(秒)                      将客户端空闲1分钟后断  
Connect_timeout=60(秒)                    中断1分钟后又重新连接  
Local_max_rate=50000(bite)                本地用户传输率50K  
Anon_max_rate=30000(bite)               匿名用户传输率30K  
Pasv_min_port=5000                             将客户端的数据连接端口改在  
Pasv_max_port=6000                             5000—6000之间  
Max_clients=200                                    FTP的最大连接数  
Max_per_ip=4                                       每IP的最大连接数  
Listen_port=5555                                  从5555端口进行数据连接  
Local_enble=yes                                    本地帐户能够登陆  
Write_enable=no                                   本地帐户登陆后无权删除和修改文件  
Chroot_local_user=yes                            本地所有帐户都只能在自家目录  
Chroot_list_enable=yes                           文件中的名单可以调用  
Chroot_list_file=/etc/vsftpd.chroot_list      前提是chroot_local_user=no  
Userlist_enable=yes                                在指定的文件中的用户不可以访问  
Userlist_deny=yes  
Userlist_file=/etc/vsftpd.user_list  
Banner_fail=/路径/文件名                         连接失败时显示文件中的内容  
Ls_recurse_enable=no  
Async_abor_enable=yes  
one_process_model=yes  
Listen_address=10.2.2.2                          将虚拟服务绑定到某端口  
Guest_enable=yes                                   虚拟用户可以登陆  
Guest_username=所设的用户名                 将虚拟用户映射为本地用户  
Chown_uploads=yes                                改变上传文件的所有者为root  
Chown_username=root 
Deny_email_enable=yes                           是否允许禁止匿名用户使用某些邮件地址  
Banned_email_file=//任意指定的路径/xx/  
Pasv_enable=yes                                     服务器端用被动模式  
User_config_dir=/任意指定的路径//任意文件目录指定虚拟用户存放配置文件的路径 
 

 

http://www.linuxidc.com/Linux/2010-04/25659p5.htm

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:49497次
    • 积分:882
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:108篇
    • 译文:1篇
    • 评论:3条
    文章分类
    最新评论