redhatftp客户端
实例一 直接BAT调用FTP命令 ftpbat bat内容 (***大家建立bat文件不要命名为ftp bat 执行时会有问题***)
复制代码 代码如下:
ftp open lgh get sql rar bye
从图上的结果看 bat脚本直接调用xp的FTP命令是不行的 执行时H:>ftp会一直死循环 我这里的XP系统是SP 的 其它版本的 我没有作测试 如果有不同 欢迎大家留言告之 实例二 用put get上传 下载单个文件 把XP机器上H:js目录下文件flower zip上传到FTP服务器 把FTP服务器中的sql rar文件下载到XP机器上的H:JS目录 ftp get put bat内容如下
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get sql rar >> %ftpfilename% echo put flower zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
我们来看看结果 见下面两张图 从XP系统上看 H盘的JS目录 多了个sql rar FTP服务器上的根目录多了个flower zip 这说明 刚才的脚本完成正常的执行了 达到了预期的目的
实例三 用put get上传 下载多个文件 在XP机器上把flower zip复制一次 改名为flower zip 在XP机器上把把第二次实例下载的sql rar文件删除 以免影响到本次操作 在FTP服务器上把第二次实例上传的flower zip文件删除 以免影响到本次操作 把XP机器上H:js目录下文件flower zip 和flower zip上传到FTP服务器 ftp get put many bat内容如下
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
到FTP服务器上查看根目录 看flower zip与flower zip是否已成功上传 从图上看 只成功上传了flower zip文件
刚那个ftp get put many bat脚本里echo put flower zip flower zip>> %ftpfilename% flower zip是传输的最后一个文件 是不是用put时 意味着bat在处理上传时 只认最后一个文件呢 我们再多加个文件flower zip 来验证
在XP机器上把flower zip复制一次 改名为flower zip在FTP服务器上把第二次实例上传的flower zip文件删除 以免影响到本次操作
ftp get put many bat内容修改如下
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
结果 还是只成功上传了flower zip 因bat双击时 执行过程会一闪而过 我们看不到执行过程 到命令行去执行下 看到底出了什么问题
命令行 执行ftp get put many bat脚本 从执行情况看 flower zip三个文件都是put的 但在传输时 却只传了flower zip 真不解 有知道的朋友吗?给点方向
再换个方式 用通配符* 试试 ftp get put many bat内容修改如下
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower* zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
在FTP服务器上把上传的flower文件全部删除 以免影响到本次操作执行ftp get put many bat 结果只有flower zip文件上传成功了 呵 flower zip文件 怎么都不能上传 ???
其实用put传输多个文件 完全可用重复的方式取代 比如 ftp get put many bat内容修改如下
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put flower zip >> %ftpfilename% echo put flower zip >> %ftpfilename% echo put flower zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
实例四 用mput mget上传 下载多个文件 在FTP服务器上删除有关flower的文件ftp mget mput many bat内容如下:
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
双击ftp mget mput many bat后 发现系统弹出一窗口后 就卡住了 停止不前
原因是用了mput命令 但没有用Prompt关闭交互
ftp mget mput many bat内容修改如下:
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo Prompt >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower zip flower zip flower zip>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
再次执行ftp mget mput many bat 结果见下图
用通配符*试试在FTP服务器上删除有关flower的文件ftp mget mput many bat内容修改如下:
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo Prompt >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo mput flower* zip >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
照样成功上传有关flower* zip文件 因为结果与上一步是一样的 所以就不抓图了 实例五 用ascii在windows系统间传输非文本文件 把XP电脑上的rmb jpg通过ascii传到FTP服务器的根目录
ftp get ascii bat内容修改如下:
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo lgh >> %ftpfilename% echo >> %ftpfilename% echo ascii >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo put rmb jpg>> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
执行ftp get ascii bat后 发现rmb jpg可以正常上传 并且可以正常打开 那 这个现象与前面所以的ascii不能传输非文本东西有出入 这是怎么回会事呢 这是因为 FTP服务器是WINDOWS系统 XP电脑上的bat脚本也是在windows系统上运行的 所以bat在windows系统里用FTP传输文件 不管是用ascii 还是用binary 都是可以的 接下来我们再做一个实验 FTP服务器选centos 再测下ascii传输非文本文件问题 实例六 用ascii在windows系统与linux系统间传输非文本文件 在RHEL 位系统上建立一vsftpd服务器 上面说过redhat默认启用二进制传输 关闭了ascii码传输 所以我们还要修改一下vsftpd的配置文件 修改/etc/vsftpd/nf文件 允许客户端进行ascii传输 并重启vsftpd
把rmb jpg放到FTP服务器 大家注意下H:js目录下只有ftp getascii bat文件
ftp getascii bat文件内容修改如下
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo ftp >> %ftpfilename% echo redhat >> %ftpfilename% echo asc >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get rmb jpg >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
执行ftp getascii bat 看结果 rmb jpg文件有下载到XP电脑里 双击这个文件 发现图像乱码 文件被破坏了 都是ascii码传输惹的祸换bin传输 测试一下在XP电脑上删除rmb jpg文件 再双击ftp getascii bat文件 去从LINUX的FTP服务器下载一个rmb jpg文件
修改ftp getascii bat 把ascii改给二进制传输
复制代码 代码如下:
@echo off set ftpfilename=autoftp cfg echo open > %ftpfilename% echo ftp >> %ftpfilename% echo redhat >> %ftpfilename% echo bin >> %ftpfilename% echo lcd h:js >> %ftpfilename% echo get rmb jpg >> %ftpfilename% echo bye >> %ftpfilename% ftp s: %ftpfilename% del %ftpfilename%
结果 文件正常下载 图像也显示正常 lishixin/Article/program/qrs/201401/30223
Ⅱ 如何做到 vsFTPd 服务器的启动和关闭
vsFTPd 服务器的启动和关闭挺简单,请看下文介绍。枝扒梁 vsFTPd服务器启动和关闭是极容易的;我们可以直接把服猛运务器运行调到后台运行;这是几乎所有服务器管理的运行方式; 1、vsFTPd服务器启动和关闭的通用方法此银; 运行vsftpd命令,要用到root权限,如果您...
Ⅲ Linux怎么进行网络安装
Linux网络安装全过程(安装fedora)
先来大概说一下网络安装linux的基本原理。我们是通过PXE(Pre-boot Execution Environment)(其实是intel设计的一个协议)来进行安装的,它可以使计算机通过网络启动。PXE协议分为server和client端,client就是我们即将要装linux的裸机。 linux下网络安装需具备3个条件:
1.dhcp服务器:用于客户端引导时分配IP地址
2.ftp、nfs、httpd服务器:用于保存操作系统的rpm包 3.tftp服务器:用于客户端的tftp引导。 我的方案是DHCP+NFS+TFTP 方案介绍:
这种方案需要首先设置一个启动服务器和一个安装服务器,可以配置在同一台机器上,然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。 软硬件需求: · 一台机器作为启动和安装服务器(虚拟机A) · 待安装的机器,它的网卡必须带有PXE支持(虚拟机B) · 一个完好的局域网,机器已经连入同一网。 · 系统镜像文件
配置步骤:
一、DHCP服务器
1、 安装DHCP
[root@localhost ~]# rpm -qa|grep dhcp ;查看是否安装了 dhcp libdhcp6client-1.0.22-1.fc10.i386 libdhcp-1.99.8-1.fc10.i386
dhcp-4.0.0-37.fc10.i386 ;若没有此包,则需用yum install dhcp来安装 libdhcp4client-4.0.0-30.fc10.i386 dhcpv6-client-1.0.22-1.fc10.i386 2、 配置DHCP
DHCP服务的配置文件是/etc/dhcpd.conf,通过修改配置文件进行配置,分两步:一是加入黑体部分,二是修改配置地址。
注:初始安装时/etc/dhcpd.conf配置文件为空,此时可以新建一个直接进行编辑。有个DHCP的配置例子为/usr/share/doc/dhcp-4.0.0/dhcpd.conf.sample。
[root@localhost /]# cd /etc
[root@localhost etc]# vim dhcpd.conf # DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample ddns-update-style interim; ignore client-updates; allow booting; allow bootp;
【必须与本机是同一网段】
subnet 192.168.186.0 netmask 255.255.255.0 {
option routers
192.168.186.135; 【本机地址】
#路由器地址
option subnet-mask
255.255.255.0;
#子网掩码
option domain-name-servers
192.168.186.135;
#DNS地址
option time-offset
-18000; # Eastern Standard Time
range dynamic-bootp 192.168.186.2 192.168.186.100;
filename "/linux-install/pxelinux.0"; #
filename 后面是tftp目录下的文件,用来指定tftp根目录的启动文件。【也可以直接写成
/pxelinux.0,具体由自己设定】
default-lease-time 21600;
#缺省租约时间
max-lease-time 43200;
#最大租约时间
}
[root@localhost ~]# ifconfig eth0 192. 168. 186.135/24
配置地址
[root@localhost etc]# ifconfig ;查本机IP地址。
eth0
Link encap:Ethernet
HWaddr 00:0C:29:26:AC:57
inet addr:192.168.186.135
Bcast:192.168.186.255
Mask:255.255.255.0
注意若要指定给某一特定主机分配地址,需再加入些东西,以下是一个例子
host MyP5 {
filename "pxelinux.0";
server-name "bootserver";
hardware ethernet ae:32:20:00:b0:02;
fixed-address 192.168.187.90;
为客户机(需要安装系统的机器)的 MAC 地址和所分配的IP地址。}
3、开启服务(开启成功则表示配置成功了)
[root@localhost etc]# service dhcpd start
(或者重启restart)
启动dhcpd:[确定]
使用
/etc/init.d/dhcpd start
也可以(在/etc/init.d下即可找到相应的服务service)
二、
NFS服务器
1、安装
NFS
[root@localhost /]# rpm -qa |grep nfs
nfs-utils-lib-1.1.4-1.fc10.i386
nfs-utils-1.1.4-1.fc10.i386
system-config-nfs-1.3.41-1.fc10.noarch
查询是否已安装,否则使用
yum install nfs
进行安装。
2
、配置NFS
[root@localhost /]# mkdir /linuxos
(建立各个版本ISO文件的存放目录,并且将ISO文件拷贝到此目录下,NFS支持iso格式安装。)
[root@localhost /]# mkdir tftpboot
[root@localhost /]# cd tftpboot/
[root@localhost tftpboot]# mkdir linux-install
[root@localhost /]# vim /etc/exports ;配置文件
/mnt *(ro,sync) ;(mnt为NFS的目录,用来存放操作系统。此处选/mnt是因为
其是挂载光盘的挂载点)
/tftpboot/linux-install *(ro,sync) 3、启动NFS
[root@localhost tftpboot]# exportfs –a ;使用此命令使配置生效 [root@localhost /]# service nfs start(或restart)
启动 NFS 服务: [确定] 关掉 NFS 配额: [确定] 启动 NFS 守护进程: [确定] 启动 NFS mountd: [确定]
三、TFTP服务器
1、安装TFTP
[root@localhost /]# rpm -qa |grep tftp
tftp-0.49-1.fc10.i386 ;这个只是tftp客户端软件
tftp-server-0.49-1.fc10.i386 ;这个才是tftp服务器软件(必不可少) 若没有则需使用yum下载。 [root@localhost /]# yum install tftp
[root@localhost /]# yum install tftp-server 2、配置TFTP
[root@localhost init.d]# vim /etc/xinetd.d/tftp ;配置文件 service tftp {
disable = no
socket_type = dgram protocol = udp wait = yes user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot ;将 /tftpboot 定义为 tftp 服务的默认目录,您可以自行修改。 per_source = 11 cps = 100 2 flags = IPv4 }
3、保存之后重启 /etc/init.d/xinetd 服务,即可开启 tftp 服务。(注意此服务service不识别)
[root@localhost /]# /etc/init.d/xinetd restart
停止 xinetd: [确定] 启动 xinetd:
[确定] 4、 测试tftp (1)下载文件
Ⅳ redhatftp配置被动模式
1、首先客户端登陆redhat,从任意的非注明端口连接FTP服务器的命令端口,服务器收到该连接后回复ACK。
2、其次服务器本地开启一个任意的非注明端口发送命令给客户端,让客户端连接服务器的这个非注明端口从而进行数据传输。
3、最后连接建立完成,即可完成被动模式的配置。
Ⅳ 怎么样在Redhat Linux 下配置FTP,Web,MySql服务(要具体的,最好完整的)
1,Linux下架FTP!!
Linux下一般最常用的工具wu-ftpd.
wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftp.wu-ftpd.org下载最新版本的源代码包。
安装好以后,可以用ckconfig命令来检查是否已经正确安装。在/etc/passwd中可以指定ftp用户的登入目录。
wu-ftpd主要有以下6个配置文件:
ftpaccess(主要配置文件,控制存取权限)
ftpconvertions(配置文件压缩/解压缩转换)
ftpgroups(设定ftp自己定义的群组)
ftphosts(设定个别的用户权限)
ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机)
ftpusers(设定哪些帐号不能用ftp连线)
下面我们来一一介绍。
⒈/etc/ftpaccess(wu-ftpd的主要配置文件)
class--定义群组,用法如下:
class<种类>;<用户地址>;[<用户地址>;……]
由class定义的群组用户才可以连线进来,可以使用多层式的class来规范哪些群组的用户能够从哪些地方上来。这里有三个重要的种类,real、anonymous个guest。real如果没有列在定义中,那么这台机器中任何真实的一般用户都无法用自己的帐号连上来。anonymous如果没有在定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest群组的人就可以上来。另外<用户地址>;是指ftp上来的用户会用到的IP地址,则可自行设定。以下是一些例子:
class all real,guest,anonymous *
定义了一个名为all的class,包含三种人,所有IP的连线用户(也就是所有人都包括了)
class local real localhost loopback
local这个class说,只有real的用户可以从本机机器连上来
class remote guest,anonymous *
remote这个class包含了从任何地方上来的guest和anonymous用户,但是real用户不算
class rmtuser real !*.example.com
rmtuser这个class包含了从外面来的(除了example.com)真实用户
autogroup--自动对应群组,用法如下:
autogroup[……]
当你定义好的那些同属于一个class的用户,一旦连线上来就会被对应到一个相应的群组下面,这样你就可以用Unix的文件权限对某一群人做限制。
deny--拒绝某些地址连线,用法如下:
deny<拒绝连线的地址>;<信息文件>;
禁止某些机器连线,并显示<信息文件>;。例如:
deny 210.62.146.*:255.255.255.254 /etc/reject.msg
guestgroup--设定访客群
guestuser--设定访客帐号
realgroup--设定真实群组
realuser--设定真实帐号
nice--设定给某些class多少优先权,用法如下:
nice
在Linux中,nice的值是-20(最优先)到19(最后处理),这里你可以指定负的值来提高某class的优先顺序。
defumask--设定某class的umask,用法如下:
defumask[]
umask是建立文件时该文件的的权限掩码
tcpwindow--设定tcpwindow的大小
keepalive--设定是否使用TCP SO_KEEPALIVE来控制断线情形
timeout--设定连线超时,用法如下:
timeout accept<秒>;
接受连线超时,预设120秒
timeout connect<秒>;
连线建立超时,预设120秒
timeout data<秒>;
数据传送超时,预设1200秒
timeout idle<秒>;
用户发呆超时,预设900秒
file-limit--限制某class只能传几个文件,用法如下:
file-limit[][]
对某个class限制存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如:
file-limit out 20 lvfour
限制lvfour这个class的用户最多只能下载20个文件
byte-limit--限制某class只能传几个字节,用法跟file-limit相似
limit-time--限制一个连线只能持续多久,用法如下:
limit-time{*|anonymous|guest}<分钟>;
为了避免有人挂在站上不下来,可以用这个方法限制用户的上线时间,例如:
limit-time guest 5
让guest帐号的用户只能用5分钟
limit--限制某class能同时几人上线,用法如下:
limit<连线数目>;<时间区段>;<额满信息文件>;
设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过连线数目时要显示的信息。例如:
limit all 32 Any /home/ftp/etc/toomanyuser.msg
限制所有连线在任何时间只能有32个用户,超过则拒绝连线并显示信息
limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg
限制levellone这个class的用户在23:00到6:00这段时间内只能有5人连线
noretrieve--设定哪些文件不可下载
noretrieve[absolute/relative][class=]…[-][<文件名>;…]
absolute或relative指文件是用绝对路径还是相对路径
allow=retrieve--设定哪些文件可以下载
allow[absolute/relative][class=]…[-][<文件名>;…]
loginfails--设置登入错误可尝试的次数
当用户连线时可能打错ID或密码,这个设定可以让他打错几次以后就断线,避免有人用穷举法猜测密码。
private--设定线上是否可以执行SITE GROUP/SITE GPASS
当开放SITE GROUP与SITE GPASS指令时,可以用这两个指令切换到/etc/ftpgroup的群组。一般而言我们不会用到这个功能,以避免安全漏洞。
greeting--显示Server的版本信息,用法如下:
greeting
当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。
barnner--设定未进入Login画面之前用户看到的信息,用法如下:
banner<文件路径>;
这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。
host--设定ftp主机名
email--指定ftp管理者的email地址
message--信息文件的设定,用法如下:
message<文件>;{<何时>;{……}}
这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择:
login(登入时)
cwd=<目录>;(进入某目录时)
class 名称是前面已经定义过的,允许你的信息只对哪些人发出。
而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号:
%T(本机时间)
%F(目前分区所剩余的空间)
%C(目前所在的目录)
%E(管理者的E-mail)
%R(客户端主机名称)
%L(本机主机名称)
%U(用户名称)
%M(与我相同class用户允许多少人连线)
%N(与我相同class用户目前有多少人连线)
%B(绝对磁盘限制大小,目前分区(单位blocks))
%b(preferred磁盘限制大小,目前分区(单位blocks))
%Q(目前已使用的blocks)
%I(最大可使用的inodes(+1))
%i(Preferred inodes限制)
%q(目前使用的indoes)
%H(超量使用磁盘空间的时间限制)
%h(超量使用文件数目的时间限制)
readme--通知用户哪些README文件已经更新
log commands--记录用户所使用过的命令,用法如下:
log commands<用户种类>;
log transfers--记录用户所传输的文件,用法如下:
log transfers<用户种类>;<传输方向>;
设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如:
log transfers anonymous,guest inbound,outbound
log security--记录安全性,用法如下:
log security<用户种类>;
特别用于记录某类用户关于noretrive、notar等有关安全性的记录
log syslog--记录到系统的syslog文件
alias--设定目录别名,用法如下:
alias<别名字符串>;<目录>;
cdpath--设定cd更换目录搜索顺序
compress,tar--设定是否自动压缩,用法如下:
compress[……]
tar[……]
定义哪些人可以执行压缩以及tar
shutdown--通知用户要关站了
shutdown<信息文件>;
如果信息文件存在的话,当这个文件指定的某时间以后,就会拒绝连线并切断已有的连线,等时间一到就关机。这个信息文件的格式如下:
<年>;<月>;<日>;<时>;<分>;<拒绝倒数>;<断线倒数>;<文字>;
daemon address--指定只监听某个IP地址,用法如下:
daemon address
当你有许多IP的时候,使用这个选项将会取消其它任何虚拟FTP主机的设定。不设定的话,监听所有IP。
virtual--设定虚拟FTP站台
wu-ftpd提供了虚拟主机的功能,也就是说,在同一台机器上提供了不同FTP站台,以主机名称或IP来区分;当然你要用名称的话,还需要跟DNS配合才行。virtual有很多个设定:
virtual
<路径>;
可以是主机名或IP地址
root指的是ftp的根目录,banner是欢迎信息,logfile指的是这个虚拟站台的log文件
以下是一些例子:
virtual virtual.com.bj root /home/ftp2
virtual virtual.com.bj banner /etc/vftpbanner.2
virtual virtual.com.bj logfile /etc/viftplog.2
virtual
<字母>;
用户可以查到hostname跟管理者email,以下是一些例子:
virtual 210.62.146.50 hostname virtual.site.com.bj
virtual vritual.site.com.bj email [email protected]
virtual
allow<用户>;[<用户>;……]
virtual
deny<用户>;[<用户>;……]
很明显,以上两个选项是设定是否允许连线的,以下是一些例子:
virtual virtual.site.com.bj allow *
virtual virtual.site.com.bj deny badman
virtual
private
本虚拟站台拒绝anonymous用户
defaultserver deny <用户>;[<用户>;……]
defaultserver allow <用户>;[<用户>;……]
当我们使用了虚拟主机,原先的deny,allow设定不知道要设哪个server,所以会无效,用defaultserver代表原来的主机
defaultserver private
主站台拒绝anonymous用户
passive address--转换IP数值
passive address<外部IP>;/cidr
passive ports--passive的ports范围
passive ports
pasv-allow--允许使用pasv
pasv-allow[<地址>;……]
port-allow--允许使用port
port-allow[<地址>;……]
mailserver--指定Upload通知的mail服务器
incmail--指定anonymous upload的email通知地址
virtual incmail--指定虚拟主机anonymous upload的email通知地址
defaultserver incmail--指定预设主机anonymous upload的email通知地址
mailfrom--通知的寄信人upload
virtual mailfrom--虚拟主机upload通知的寄信人
defaultserver mailfrom--预设主机upload通知的寄信人
chmod--设定是否可以改变文件权限
delete--设定是否可以删除文件
overwrite--覆盖文件
rename--重命名文件
umask--允许设定umask
passwd-check--设定anonymous FTP的密码检查程度,用法如下:
passwd-check()
设定对anonymous ftp用户的密码是否检查,none表示不检查,trivial为包含@的任意密码,rfc822则表示密码要遵循RFC822格式,enforce表示密码检查不过不允许进入,warn表示密码检查不过只出现警告信息。
deny=email--拒绝特定的email当密码
path-filer--摄定哪些文件名不可使用
path-filer<错误信息文件>;<允许字符>;<不允许字符>;
upload--设定upload权限
upload[absloute/relative][class=]…[-]<设定的目录>; >;[dirs/nodirs][d_mode]
用来对我们要设定的目录做权限设定:
absoulte/relative使用绝对路径或是相对路径
class=指定某个class
root-dir指的是对哪些root-dir的人,也就是chroot后的登入目录,应用这个规则
设定的目录指的就是我们要限制的目录
yes/no指得是能否在此目录下开新文件
owner,group指出是开出来的文件拥有者及群组
Mode指的是文件权限
dirs/nodirs指的是能否开新目录
d_mode设定建立新目录时目录的权限,如果不设定会根据mode来设定
thoughput--控制下载速度
thoughput<子目录列表>;<文件>;<远端地址列表>;
对远端的地址,控制他抓某个子目录下的某些文件时的速度,例如:
thoughput /e/ftp * * oo - *
thoughput /e/ftp /sw* * 1024 0.5 *
thoughput /e/ftp sw* readme oo - *
thoughput /e/ftp sw* * oo - *.foo.com
以上的设定你是否能够看出来呢?“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表一倍。第一行的意思是说,在/e/ftp下面的文件不限制下载速度;第二行说,在/sw*下面的任何文件限速为1024bytes/sec*
0.5=512bytes/sec;第三行又把readme文件的限速取消;最后一行则对*.foo.com开放全速。
anonymous-root--对某class设定匿名用户的根目录
anonymous-root[]
guest-root--预设一个guest用户根目录
guest-root[]
其中用于指定uid的范围
deny-uid,deny-gid--拒绝某段UID(GID)范围
allow-uid,allow-gid--允许某段UID(GID)范围
restricted-uid,restricted-gid--限制用户不能离开他的登录目录
unrestricted-uid,unrestricted-gid--用户可以离开他的登录目录
dns refuse_mismatch--设定DNS查到名称与用户设定不符的动作
dns refuse_mismatch<信息文件>;[override]
当用户使用未注册IP时,拒绝他的连线,override则是不理会错误而让他连线,信息文件则是我们要给用户看的。
dns refuse_no_reverse--设定无反查记录拒绝连线
dns refuse_no_reverse<信息文件>;[override]
当用户的IP反查无记录时,拒绝他的连线
dns resolveoptions--设定DNS解析选项
dns resolveoptions[options]
这里可以设定DNS解析选项
⒉/etc/ftphosts
ftphosts文件其实跟ftpaccess里面的access,deny很像,它是特别用来设定某些ID的连线,它没有class定义,所以必须是真实用户。
allow|deny<用户>;<地址>;[<地址>;……]
以下是一些例子:
allow rose 140.0.0/8
deny jack 140.123.0.0:255.255.0.0
允许rose从140.*.*.*进来,拒绝jack从140.123.*.*上来
⒊/etc/ftpservers
这个文件控制了当你有不同的IP/hostname的时候,进来的连线使用哪一个配置文件。例如:
10.196.145.10 /etc/ftpd/ftpaccess.somedomain/
10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/
some.domain internal
10.196.145.20 /etc/ftpd/config/faqs.org/
ftp.some.domain /etc/ftpd/config/faqs.org/
⒋/etc/ftpusers
在这个文件里记录的用户禁止使用FTP
⒌/etc/ftpgroups
给SITE GROUP指令使用,线上切换group。SITE EXEC容易造成安全漏洞,一般我们都不开放。
⒍/etc/ftpconversions
用来做tar、compress、gzip等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。
2,Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼
Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼。而在国内,Linux的应用也是方兴未艾,众多公司已经投入到Linux系统的研发和推广工作中。一些优秀的Linux操作系统相继出现,比如红旗Linux等。但是我国的Linux应用水平还很低,熟悉Linux的人员严重缺乏,Linux专业人才的缺乏已成为Linux在国内应用和普及的瓶颈问题。据《开放系统世界》2003年第八期介绍,中国五年内Linux人才需求量将会超过120万。而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。如此大好时机,我们干吗还愣着不动呢!如果你是一位Linux爱好者,你可能已经掌握了基本的Linux的知识与操作,毫无疑问,你并不会去满足这样小小的成就。Linux为何如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器应用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中,我将以Redhat Linux 9为蓝本,从Web服务器的一些最基本的操作入手,从初学者使用的态度,让读者正确充分的认识Apache。好,现在就让我们一起踏上征服Apache的自由之路吧。
Apache的主要特征是:
. 可以运行上所有计算机平台;
. 支持最新的HTTP 1.1协议;
. 简单而强有力的基于文件的配置;
. 支持通用网关接口CGI;
. 支持虚拟主机;
. 支持HTTP认证;
. 集成Perl脚本编程语言;
. 集成的代理服务器;
. 具有可定制的服务器日志;
. 支持服务器端包含命令(SSI)
. 支持安全Socket层(SSL)
. 用户会话过程的跟踪能力;
. 支持FastCGI;
. 支持Java Servlets。
安装Apache
下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。
系统需求
运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。
获取软件
你可以在http://www.apache.org中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。
需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。
安装软件
你可以通过以下三种方法安装Apache服务器。
1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。
2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。
下载软件包apache_1.2.4.e.tar.gz
tar xvzf apache_1.2.4.e.tar.gz
这就完成了安装工作,简单吧!
如果你使用的是RedHat Linux的话,你也可以下载apache_1.2.4.rpm软件安装包,然后使用rpm -ivh apache_1.2.4.rpm命令安装。
3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache定制其功能。
下载包含Apache源代码的软件包apache_1.2.4.tar.gz; 然后用tar命令将它解开; 将当前目录改变为Apache源代码发行版的src目录; 将配置样本文件(Configuration.tmpl)复制为Configuration文件;
编辑Configuration文件中的配置选项:
Makefile配置选项:一些编译选项:
. "CC="一行指定用什么编译软件编译,一般为"CC=gcc";
. 如果需要将额外的标志(参数)指定给C编译软件,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
. 如果系统需要特殊的库和包含文件,可以在这里指定它们:
EXTRA_LIBS=
EXTRA_INCLUDES=
. 如果你要改变代码优化设置的话,你须将下面一句去掉注释,然
后改成你所需要的值:
#OPTIM=-O2
Rule配置选项:用来决定需要什么功能,一般情况下无需改变。
模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:
AddMole moles/standard/mod_env.o
如果你需要Apache服务器具备什么功能,就将那个模块用AddMole语句加到配置文件Configuration中去。
3,一、 MYSQL的基本概念
1、MYSQL的定义
MYSQL一种多用户、多任务的数据库服务器软件
2、MYSQL的特点
支持多平台,没有内存漏洞,分布式处理
支持JAVA、PHP、PERL、支持数据类型
支持ODBC,支持SQL查询
二、 安装MYSQL的服务器
1、 RPM方式MYSQL
#RPM –ivh MYSQL-3。23-3.i386.rpm
#RPM –ivh MYSQL-client-3.23-33.i386.rpm
#RPM-ivh MYSQL-Shared.3.23-33.i386.rpm
#Tpm -ivh MYSQL –server.3.23-33.i386.rpm
2.编译安装方式
#tar -xvzf mysql 3.23.tar.gz
# cd mysql-3.23
#/configure --prdfix=/usr/local
#make
#malke install
# cd/usr/local/bin/
#/mysql-install-db 初始数据库系统。
系统库作用:记录服务器的设置参数,存放用户库信息
安全选项
#safe-mysqld
Ⅵ redhat6下搭建ftp遇到问题,windows无法连接
这问题多了,红帽版本6以上会有一世斗个NetworkMangager服务,这和命告返段令行界面network服务是冲突的,有时会造成冲突,譬如你ping不到自己,我习惯一般是关掉NM服务。
netstat -an 看看你的21端口是不是listening状态,就是看你的ftp端口有没有开。
确认下iptables是不是关掉了。
图形化ftp没装过袜誉,我只知道在装系统的时候可以选择定制。
现在的yum安装很方便了。
我还是建议你从基础部分看看,直接开始玩服务的话很多东西你没法理解的。
Ⅶ 什么是FTP ,Linux的介绍
什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写。该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载(download)”文件。若将文件从自己计算机中拷贝至远程计算机上,则称之为“上载(upload)”文件。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp协议对话,并且能访问Internet, 你可以用ftp命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。
FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。
1.ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。
2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。
如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。
5. FTP的工作方式
FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
下面介绍一个这两种方式的工作原理:
Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
单的说,Linux是Unix克隆(Unix clone)或Unix风格(Unix alike)
的操作系统(OS),在原代码级上兼容绝大部分Unix标准(指的是IEEE
POSIX,System V,BSD),是一个支持多用户, 多进程,多线程,实时性
较好的功能
强大而稳定的操作系统.它可以运行在x86 PC,Sun Sparc,Digital Alpha
,680x0,PowerPC, MIPS等平台上,可
以说Linux是目前运行硬件平台最多的操作系统. Linux最大的特点在于
它是GNU(Gnu's Not Unix----有点分形与混沌的意味----无限自包含,
简单的说GNU是一种自由软件体系)的一员,遵循公共版权许可证(GPL),秉承
"自由的思想,开放的源码"的原则,成千上万的专家/爱好者通过Internet
在不断地完善并维护它,可以说Linux是计算机爱好者自己的操作系统.
追述Linux的历史直到1990年,Linus Torvalds还是芬兰赫尔辛基大
学的一名学生,最初是用汇编语言写了一个在80386保护模式下处理
多任务切换的程序,后来从Minix(Andy Tanenbaum教授所写的很小
的Unix操作系统,主要用于操作系统教学)得到灵感,进一步产生了
自认为狂妄的想法----写一个比Minix更好的Minix,于是开始写了
一些硬件的设备驱动程序,一个小的文件系统,......,这样0.0.1
版本的Linux就出来了,但是它只具有操作系统内核的勉强的雏形,
甚至不能运行,你必须在有Minix的机器上编译以后才能玩.这时候
Linus已经完全着迷而不想停止,决定踢开Minix,于是在1991年10
月5号发布Linux 0.0.2版本,在这个版本中已经可以运行bash
(the GNU Bourne Again Shell----一种用户与操作系统内核通讯的软件)
和gcc(GNU C 编译器).从一开始,Linus就决定自由扩散Linux,包括原代码,
他在comp.os.minix新闻讨论组里发布Linux 0.0.2时写到:
"Do you pine for nice days of Minix-1.1, when mem were men
and wrote their own device drivers? Are you without a nice
project and just dying to cut your teeth on a OS you can
try to modify for your needs? Are you finding it frustrsting
when everything works on Minix? No more all-nighters to
get a nifty program working? Then this post might be just
for you.
"As I mentioned a month ago, I'm working on a free version
of a Minix-lookalike for AT-386 computers. It has finally
reached the stage where it's even usable(though may not be
depending on what you want),and I am willing to put out
the sources for wider distribution. It is just version
0.0.2 ... but I've successfully run bash,gcc,gnu-make,
gnu-sed,compress,etc.under it."
随即Linux引起黑客们(hacker)的注意,通过计算机网络加入了Linux的
内核开发,Linux倾向于成为一个黑客的系统----直到今天,在Linux社区
里内核的开发被认为是真正的编程.由于一批高水平黑客的加入,使Linux
发展迅猛,到1993年底94年初,Linux 1.0终于诞生了! Linux 1.0已经是一
个功能完备的操作系统,而且内核写得紧凑高效,可以充分发挥硬件的性能,
在4M内存的80386机器上也表现得非常好,至今人们还在津津乐道于此,
不过自从2.1.xx系列的内核Linux开始走高端的路子----硬件的发展太快了,
但是Linux不会失去它的本色.Linux具有良好的兼容性和可移植性,大约在
1.3版本之后,开始向其他硬件平台上移植,包括号称最快的CPU---Digital
Alpha(至少目前主频是最高的).所以不要总把Linux与低档硬件平台联系
到一块,Linux发展到今天,这是一个误区,它只是将硬件的性能充分发挥
出来而已,Linux必将从低端应用横扫到高端应用!
在Linux的发展历程上还有一件重要的事:Linux加入GNU并遵循公共
版权许可证(GPL).此举大大加强了GNU和Linux,几乎所有应用的GNU
库/软件都移植到Linux,完善并提高了Linux的实用性,而GNU有了一
个根基,我现在也搞不清楚到底是GNU Linux呢还是基于Linux的GNU.
:-) 更重要的是遵循公共版权许可证,在继承自由软件的精神的前
提下,不再排斥对自由软件的商业行为(如把自由软件打包以光盘形
式出售),不排斥商家对自由软件进一步开发,不排斥在Linux上开发
商业软件.从此Linux又开始了一次飞跃,出现了很多的Linux发行版
,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多种,而且
还在增加,注意你不能说"Redhat Linux""Suse Linux""Slackware
Linux"等等,Linux主要指操作系统内核,对所有发行版内核原代码
都是一样的(但集成的内核版本可能因发行时间不同而有所不同).
还有一些公司在Linux上开发商业软件或把其他Unix平台的软件移
植到Linux上来,如今很多IT业界的大腕如IBM,Intel,Oracle,Infomix
,Sysbase,Corel,Netscape,CA,Novell等都宣布支持Linux! 商家的
加盟弥补了纯自由软件的不足和发展障碍,Linux迅速普及到广大计
算机爱好者,并且进入商业应用,正是打破某些公司垄断文化圈的希
望所在!!
Linux是爱好者们通过Internet协同开发出来的,当然它的网络功能十
分强大,比如你可以通过ftp,nfs等来安装Linux,用它来做网关等等.
随着Linux的发展衍生出来的应用恐怕出乎Linus本人最初的预料,
如有人用它来做路由器,有人来做嵌入式系统,有人来做实时性系统.
.....常有新手问Linux能做什么,其实它不象那些中看不中用的操作
系统,不在于你用它能干什么,而在于你想干什么!
Linux的兴起还给人们很多启迪与思考,如集市式软件开发的讨论,
又如自由软件的精神......
.
参考资料:http://..com/question/3596242.html
Ⅷ linux vsftpd怎么使用
第一步:下载vsftpd的RPM包
你可以从下面两个地方获得最新的vsftpd的RPM包 Redhat's rpm collection 或者 rpmfind.net.为了你的方便, 你也可以使用wget从本站下载vsftpd的rpm包到你的本地电脑.
复制代码代码如下:
wget http://www.vsftpdrocks.org/vsftpd-1.1.3-8.i386.rpm
一但有了vsftpd的RPM包,你就可以安装它
rpm -Uvh vsftpd-1.1.3-8.i386.rpm
就这样. Vsftpd现在正式安装.
第二步:启动并在"standalone"模式下进行测试
复制代码代码如下:
vi /etc/vsftpd/vsftpd.conf
添加下面一行, 或者查看文件确定存在下面一行:
复制代码代码如下:
listen=YES
保存并退出.
现在来启动vsftpd...
复制代码代码如下:
/usr/sbin/vsftpd &
现在来用ftp命令至你的服务器. 你可以看到如下面这下样的成功登陆后的会话信息:
复制代码代码如下:
[root@somehost]ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 1.2.1)
Name (localhost:admin): bobsmith (很明显,你必须使用在你的服务器上的有效用户)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
150 Here comes the directory listing.
-rw-r--r-- 1 1001 1001 25372 Jan 17 18:50 somefile.tar.gz
drwx------ 2 1001 1001 512 Jan 16 19:16 index.htm
226 Directory send OK.
ftp> quit
221 Goodbye.
[root@somehost]
如果你准备就绪的话,就可以看到类似于上面的返回信息 ! 如果你想让你的FTP服务器运行在 inetd或xinetd上, 那么你就需要继续进行下面的测试. 我个人推荐将FTP服务器运行在 inetd或xinetd上.
第三步:为inetd/xinetd操作进行配置
要在inetd或xinetd配置vsftpd,要进行下面的操作:
首先,来编辑/etc/vsftpd.conf,并告诉它vsftpd没有运行在"standalone"模式:
复制代码代码如下:
vi /etc/vsftpd/vsftpd.conf
确认下行的存在并将其设置为 "NO":
复制代码代码如下:
listen=NO
如果你在运行inetd,进行下面的操作:
复制代码代码如下:
vi /etc/inetd.conf
如果文件有包含任何“ftp"行的存在, 请注释或删除掉它们,并添加入下面一行:
复制代码代码如下:
ftp stream tcp nowait root /usr/local/sbin/vsftpd vsftpd
保存并退出.
现在重启inetd:
复制代码代码如下:
/etc/rc.d/init.d/inetd restart
如果你的xinetd正在运行,进行下面的操作:
Redhat用户:
复制代码代码如下:
vi /etc/xinetd.d/vsftpd
# default: off
# description: The vsftpd FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
nice = 10
}
保存并退出.
现在停止并重启xinetd...
复制代码代码如下:
/etc/rc.d/init.d/xinetd restart
现在来测试inetd/xinetd ftp服务器:
复制代码代码如下:
[root@somehost]ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 1.2.1)
Name (localhost:admin): bobsmith (很明显,你必须使用在你的服务器上的有效用户)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
150 Here comes the directory listing.
-rw-r--r-- 1 1001 1001 25372 Jan 17 18:50 somefile.tar.gz
drwx------ 2 1001 1001 512 Jan 16 19:16 index.htm
226 Directory send OK.
ftp> quit
221 Goodbye.
[root@somehost]
如果你准备就绪的话,就可以看到类似于上面的返回信息 ! 恭喜,你的FTP服务器已经正常运行! 在接下来的步骤, 我们将调整vsftpd的配置让其拥有最好的性能.
第四步:vsftpd主配置文件
vsftpd主要配置应该是在:/etc/vsftpd.conf. 这个文件将决定如何对你的vsftpd FTP服务器进行操作. 你必须在vsftpd.conf中查找是否包含下面的配置选项。我虽然不能讲诉所有的选面,但是列表中列出来了vsftpd配置的重要部分 :
anonymous_enable=NO/YES
这个开关用于开启FTP的匿名访问. 如果将该选项打开,那么请按照第三步的方法进行匿名匿名服务的配置. 如果你不清楚什么是匿名FTP服务,最好把该选项选项设置为“ON”
local_enable=NO/YES
启用或禁用这个选项,可以使本地系统用户FTP至你的服务器. 典型的FTP服务器会将其设置为"YES". 我认为只有一种可以选"NO",
write_enable=NO/YES
启用或禁用FTP的写入功能.你必须将其设置为"YES" .
local_umask=022 (或者根据你的需要设置)
vsftpd默认的umask为:077. 它决定目录和文件被创建时得到的初始权限
xferlog_enable=YES
这个选项是启用或禁用服务器的上传&下载日志记录.
ftpd_banner=Welcome to blah FTP service
没有任何形式来界定该选项, 但它可以为你的FTP服务器定制一个更加友好的问候.
chroot_list_enable=NO/YES
chroot_list_file=/etc/vsftpd.chroot_list
这是一个对于开启了"chroot"选项相当重要的功能. 当 "chroot_list_enable" 设置为"YES"时, vsftpd会寻找在 "chroot_list_file"指定的下一行位置. 被列出在"/etc/vsftpd.chroot_list" 文件中的任何用户,会自动的"chrooted"至他们的主目录. 这将禁止用户进入除了他或她们用户主目录之外的任何位置. 非常适用于共享的FTP环境或者安全与保密性一般的层面.
userlist_enable=NO/YES
userlist_deny=NO/YES
"userlist_enable"选项是用于控制下面两个文件中其中的一个: vsftpd.ftpusers和 vsftpd.user_list.如果这个选项设置为 "YES", 这两个文件将列出用户名单将允许访问FTP服务. 不管怎样,当额外加上"userlist_deny=YES"时,这两个文件将列出用户名单将不允许访问FTP服务.这个选项是一个非常有用的彻底拒绝通过ftp获取关键系统用户的功能.比如"root"或"apche"或"www"这样的用户. 对于你的FTP服务器的安全是一个非常好的用途.
第五步: vsftpd.ftpusers, vsftpd.user_list 配置文件
这两个文件直接与/etc/vsftpd.conf配置文件中的""userlist_enable" 和"userlist_deny"选项关联.当"userlist_enable"选项设置为 "YES"时, 这两个文件列表中的用户将允许访问FTP服务器. 不管怎样, 当额外加上"userlist_deny=YES"选项时,这两个文件列表中的用户将不允许访问FTP服务器. 当"userlist_deny"选项被使用时,决定一个有户是否被FTP服务拒绝,主要取决于它存在于上述两个文件中的其中的哪一个.
如果一个用户同时存在于"vsftpd.user_list"与"userlist_deny",当用户试图连接FTP服务器时,它们在开始请求FTP连接时 得不到密码提示并会被拒绝.
如果一个用户同时存在于"vsftpd.user_list"与"userlist_deny", 用户必须登陆后更改这一密码提示.
就个人而言, 我更喜欢使用 "vsftpd.user_list"来建立用户列表(root, apache, www, nobody等等.) 如果有谁从未见到密码提示,那么他应该进行FTP的初始化连接.
第六步: vsftpd.chroot_list 配置文件
"vsfrtpd.chroot_list", 当启用"chroot_list_enable"选项时, 为FTP建立的用户列表文件,不管是谁,都必须被 "chrooted"至主FTP目录. 那些用户不能改变路径到其它用户目录.在保密性较强的公共FTP环境中,这是一个非常不错的功能.
在任何时间你都可以改变你的配置文件, 并确认后重启vsftpd!
Ⅸ 如何搭建ftp服务器 linux
Red Hat Linux下架设FTP服务器
FTP,即File Transfer Protocol,文件传输协议。它是目前Internet上最流行的数据传送方法之一。利用FTP协议,我们可以在FTP服务器和FTP客户端之间进行双向数据传输,既可以把数据从FTP服务器上下载到本地客户端,又可以从客户端上传数据到远程FTP服务器。
1.安装vsftpd服务器
vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。
如果选择完全安装RedHat Linux 9.0,则系统会默认安装vsftpd服务器。我们可以在终端命令窗口输入以下命令进行验证:
[root@ahpeng root] rpm -qa | grep vsftpd
如果结果显示为“vsftpd-1.1.3-8”,则说明系统已经安装vsftpd服务器。如果安装RedHat Linux 9.0时没有选择vsftpd服务器,则可以在图形环境下单击“主菜单→系统设置→添加删除应用程序”菜单项,在出现的“软件包管理”对话框里确保选中“FTP服务器”选项,然后单击“更新”按钮,按照屏幕提示插入第3张安装光盘即可开始安装。
另外,你也可以直接插入第3张安装光盘,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安装包,然后在终端命令窗口运行以下命令即可开始安装进程:
[root@ahpeng RPMS] rpm -ivh vsftpd-1.1.3-8.i386.rpm
2.启动/重新启动/停止vsftpd服务
从Red Hat Linux9.0开始,vsftpd默认只采用standalone方式启动vsftpd服务,方法是在终端命令窗口运行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新启动vsftpd服务:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart
关闭vsftpd服务:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop
确认vsftpd服务已经启动后,我们可以在任意一台Windows主机的DOS命令窗口里输入“ftp FTPAddres”(用实际的FTP服务器IP地址或者域名代替FTPAddres),注意用户名、密码都是ftp(ftp是匿名用户的映射用户账号),如下所述:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
F:\Peter>;ftp FTPAddress
Connected to FTPAddress
220 (vsFTPd 1.1.3) //vsftpd的响应请求
User (FTPAddress:(none)): ftp //输入用户账号ftp
331 Please specify thepassword.
Password: //输入密码ftp
230 Login successful. Havefun.
ftp>;
3.vsftpd的配置
在Red HatLinux 9.0里的vsftpd共有3个配置文件,它们分别是:
vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。
(1)用户登录控制
anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。
(2)用户权限控制
write_enable=YES,开启全局上传权限。
local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。
anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。
anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。
chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!
chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。
chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。
async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!
ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。
注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。
这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。
(3)用户连接和超时选项
idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。
data_connection_timeout=120,设定默认的数据连接超时时间。
(4)服务器日志和欢迎信息
dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。
xferlog_enable=YES,启用记录上传/下载活动日志功能。
xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。
Ⅹ Linux下常用装机软件
1. Applications:应用软件
1) Dia:一个工程图编辑器,适用于绘制电路图;
2) Calendar:一个集日历与日程表于一身的好工具;
3) Address Book:一个通讯录
4) GEdit:一个功能类似于Windows下的记事本的文本编辑器;
5) Gnumeric:Linux下的一个类似于EXCEL的电子表格软件;
6) Time tracking tools:一个用于提醒时间的小工具;
2. Games:游戏软件
1) Gnome Milnes:GNOME下的扫雷;
2) Gnibbles:贪吃蛇游戏;
3) Freecell:Windows下的空当接龙游戏;
3. Graphics:图形处理软件
1) Electric Eyes:一个十分优秀的图形处理软件,可谓GNOME下的AcdSee呀!
2) XPDF:一个在Linux阅读PDF文档的工具;
3) The Gimp:一个十分优秀的绘图软件,与Photoshop很象!
4. Internet:Internet应用软件
1) Dialup Configuration Tool:一个界面十分友好的拔号上网设置工具;
2) gFTP:一个FTP客户端
3) pine:一个E-Mail客户端软件
4) Netscape :大名鼎鼎的浏览器软件,被微软从Windows平台挤下来的
5) RH Network monitor:网络流量显示
5. Multimedia:多媒体软件
1) Audio Mixer:声音控制器
2) CD Player:CD播放器
3) XMMS:与Winamp是一个模子里出来的
KDE下
1. Office:办公软件
这就是大名鼎鼎的Koffice套件。
1) Kword:字处理软件
2) Kspread:象Excel的电子表格处理软件
3) Kpresenter:一个类似于PowerPoint的演示软件
4) Kchart:一个电子图表软件
5) Kiiiustrator:一个电子出版软件
2. Develop:开发工具
1) Kdevelop:一个KDE下的集成开发环境
3. Applications:应用软件
1) Advanced Editor:一个增强型的文本编辑软件
2) Emacs:这是一个功能强大的编辑软件,在GNOME中也有,它的原形是字符终端下的Emacs
3) Organizer:一个日程安排软件
4. Internet:Internet软件
1) Kppp:一个十分友好的拔号上网配置工具
2) Kmail:一个十分漂亮的Email 客户端,有点象Outlook!
3) Chat Client:一个IRC客户端
4) KPPPLoad:一个网络流量工具
5) Netscape:大名鼎鼎的WEB浏览器,在GNOME中也有集成
聊天软件:
LumaQQ 独立的JavaQQ客户端,可重用纯Java核心和基于SWT仿QQ界面。
Ftp
* kget
使用Qt库的下载软件(类似于getright),可以监视剪贴版,支持断点续传
* gftp
使用gtk库的类似于cute-ftp的ftp软件.可以上传和下载.
* wget
命令行下常用的ftp软件,功能强大
* nc-0.99
个基于gtk的下载软件,与kget类似均模仿了getright和NV一类windows下的下载软件
* 中文环境
o wzce
稳定的shell下的中文环境,可惜不是freesoftware.
o cce
freesoftware的shell下的中文环境,以前的版本有Bug,不过现在新的开发计划正在进行中.
o cxterm
很好的一个在X-term下的中文环境,必装,他同时也是很多x-win下中文环境的基础.
o Xa+Xcin
很稳定的一个x-win下的中文包装环境,支持在任何x程序中输入中文.
o Chinput
比较完善的一个中文包装方案,然而,在kde下输入汉字有问题.
o bluepoint pre 很好的一个内核中文化的Linux核心,支持控制台和xwin的中文显示和输入
* mail
o kmail
kde自带的mial client 与Win98下的outlook Express相像.
o xfmail
一个很完备的邮件程序,也很方便(有点像The bat)
* games
o Freeciv
linux下的经典之作<文明一代>支持网络对战.
o Quake2
3d游戏的经典<雷神之锥2>,支持3dfx Voodoo1
o Game for Linux还有很多,以后我们会开专版介绍.
* irc
o kirc kde下自带的irc软件.
o xchat x-win下的irc软件
o 其实irc也有很多种,不过我不喜欢聊天,所以没有去找了.
* 文字处理
o staroffice 据说是Linux下最好的办公软件.
o wordprefect 所见即所得的另一个文字处理软件
* 其他相关
o explore2fs-1.00-pre1.zip
在win85/98下察看Linux ext2分区
o FireBirdBBS2.6-1
国内最流行的BBS服务器软件
o vmware
最近很热的Linux下的虚拟机,能在它的虚拟窗口下运行/安装Win98和nt,还在beta版中,目前对系统要求很高(PII-233,64M),DirctX的一些功能还不能支持.
o Wine
Win95/98模拟器,由于win系列的不断升级,总处在Beta版中.可以运行win98下的程序,据说甚至可以用它玩<星际争霸>!
* mp3
o x11amp
最好的mp3播放器,和winamp很像
o kmp3
kde下的mp3播放器,界面和ked下的其他播放软件统一
* 视频
o quicktime for Linux 1.0
播放quicktime的mov动画
o Realplay 5/Realplay G2
播放Rm格式的视频和图像
o mtv
播放vcd的最好软件,可惜是商业的,不过1.0.7版的注册码可以在网易精华区找到
* 系统安全
o nessus
o saint
o syslog
* 程序开发环境
o xvisual
类似于Visual Basic的开发环境,基于Xform
o Xwpe
C的集成开发环境,类似于Tc2.0的界面
o Visual Gtk
Gtk程序的可视化编程,现在还在bate版中.
o C-Forge 一个据说最好的Linux下的c/c++开发环境
* 其他
o gtksee-0.3,这时一个国内Linux爱好者编写的Linux下图象查看软件,以移植ACDsee为目标,因此使用和界面于acdsee很相像。这个软件已经收录于Redhat,Debian和FreeBsd的软件库