aixftp匿名
Ⅰ 为什么我下载了KB登录不上
驱动程序建议你到www.mydrivers.com驱动之家去下载
用linux架设ftp服务器
http://www.chinaunix.net 作者:level 发表于:2004-02-27 13:35:50
以前自己弄的东西,现在帖出来,希望对大家有点用:)
1.1 什么是FTP:文件传输协议原理
1.1.1 命令选择
1.1.2 命令格式
1.2 wu-Ftpd的安装
1.3 让FTP服务器运转起来
1.4 配置文件的设置
1.4.1 /etc/ftpaccess的设置
1.4.2 /etc/ftpusers和/etc/ftphosts的设置
1.4.3 /etc/ftpconversions设置
1.4.1 wu-ftp的相关程序
1.5 开设只能FTP的帐户
1.6 设置虚拟FTP主机
什么是FTP:文件传输协议原理
互联网文件传输协议(File Transfer Protocol ,FTP) 标准是在RFC959说明的。该协议定义了一个从远程计算机系统和本地计算机系统之间传输文件的一个标准。一般来说,传输文件的用户需要先经过认证以后才能登录网站,然后方能访问在远程服务器的文件。而大多数的FTP服务器往往提供一个GUEST的公共帐户来允许没有远程服务器的用户可以访问该FTP服务器。
一个FTP会话通常包括五个软件元素的交互。
用户接口 提供了一个用户接口并使用客户端协议解释器的服务
客户 PI 客户协议解释器,其项远程服务器协议机发送命令并且驱动客户数据传输过程
服务器PI 服务器协议解释器,响应客户协议机发出的命令并驱动服务器端数据传输过程
客户 DTP 客户数据传输过程,其负责完成和服务器数据传输过程及客户端本地文件系统的通信
服务DTP 服务器数据传输过程,其负责完成和客户数据传输过程及服务器端文件系统的通信
在RFC 959中,一般使用用户这个名词来指代客户。RFC 959定义了客户PI和服务器PI交互的方式和规范。用户接口与PI和DTP交互的机理都并不是协议标准的一部分。PI和DTP往往通常是在同一个程序模块中实现的。
在FTP会话中,一共毕祥会存在有两个独立的网络连接,一个是由两端的PI使用的,另一个是由两端的DTP使用的。PI之间的连接一般被称作控制连接(control connection),DTP之间的连接被称做数据连接(data connection)
使用TCP服务的控制和数据连接
通常情况下,FTO服务器监听端口号21来等待控制连接建立请求。而数据连接端口号的选择依赖于控制连接上命令。通常是客户发送一个控制消息来指定客户监听并等待服务器端发送数据连接建立请求的端口号。
对猛数敏数据传输和控制命令传输来使用不同的独立连接有如下优点:两个连接可以选择不同的合适服务质量,如:对控制连接来说高需要更小的延迟时间,对数据连接来说需要更大的数据吞吐量;而且可以避免实现数据流中的命令的通明性及逃逸。
当传输建立时,总是枝枝由客户端首先发起。然而客户和服务器都可能是数据发送者。除了传输用户请求下载文件,数据传输过程同样在客户端请求列服务器端目录结构时建立。
1.1.1 命令选择
当一个传输建立时,一般通常需要指定四个方面的属性:
文件类型
该属性指定如何将文件的数据匹配成适于传输的格式,一共有四种可能的选择:
ASCII文件类型
在发送端,文件从本地文本文件格式转换为 NVT ASCII格式,每行结束有一个CR/LF对来标识。 在接收端,再被转换为本地的文本格式。
这说明了为什么Unix主机之间传输文本文件为何传输的数据量要大于文件的实际大小。若传输一段端或传输两端都不使用ASCII文本编码,则是应该由数据传输过程来实现本地编码和NVT ASCII 编码之间的转换。
EBCDIC文件类型
类似于ASCII,区别仅仅上使用EBCDIC字符编码
图象 (或二进制)文件类型
文件以本地传输内容传输,在远端以同本地完全相同的内容存储。
本地文件系统
用在字节大小不是8位的环境下。没字节位数由发送者指定。
在实际应用中,只有ASCII和图象格式使用的较多。
格式控制
该属性是和将文本文件最后传送到打印设备相关的,其中有多种方式来实现将垂直格式信息编码到文件中,包括指示一个新页开始的方式。有如下方式可供选择:
无须打印格式控制,这是缺省值
Telnet打印控制,在telnet协议中定义的控制字符包含在数据流中。.
Fortran打印控制,
该属性在实际中很少使用。
结构
文件可以拥有内部结构,在传输中该结构被保留。由数据传输过程来负责在传输中的结构及本地结构之间相互匹配,有三种可能性:
文件结构
这实际上意味着文件被看作没有内部结构的连续的字节流。
记录结构
文件是有一系列记录组成的结构。这只适用于文本文件。
页面结构
也可以称做块结构。每一页都伴随一个页号来传输,从而以顺序的方式来完成传输。
页面结构很少在实际中遇到。记录结构也不是很常见。对于文本文件使用ASCII文件类型可以获得相同的效果。
传输模式
该属性可以取三个不同的值:
流模式
文件的以字节流的方式传输。
块模式
文件以一个块连接一个块的方式传输,每个块的开头都有一个头。
压缩模式
一个简单的运程长度压缩编码被应用,来压缩连续的相同的字节。
实际中,一般只有流模式被使用。而压缩一般通过使用各种其他的工具程序来获得。
当一次传输被建立,客户端一般指定一个或多个前面说明的属性。若服务器端不能支持某个选项,服务器将用一个错误信息来响应客户端,并不具有协商机制。
FTP提供了充足的命令来使用户和远程建立连接并访问远程文件系统。
1.1.2 命令格式
命令以NVT ASCII串的格式被传输。每个命令以三个或四个大写的NVT ASCII字符开始,后面带有选项参数和一个CR/LF对来标识命令结束
应答由三个NVT ASCII数字及一个选项消息组成。
一个长的应答也许会有多个消息组成,第一个消息的三个数字后带有一个破折号,最后的消息不带有破折号。中间的消息无须携带三个数字,但是如果带了三个数字,则也需要破折号。
下面是所有的命令的列表。带有星号的命令一般很少使用,所以往往在具体实现中不支持。
String Meaning
ABOR 放弃传输
*ACCT 某些系统将帐号和用户与文件系统相关联
*ALLO 为即将传送的文件分配空间。后面携带的参数来确定字节数
*APPE 将文件附加到已经存在的文件后面
CDUP 在远程系统上将当前目录切换到上级父目录
CWD 改变远程系统的工作目录
DELE 删除远程系统的文件
HELP 读取服务器的帮助信息,如:支持的命令的列表
LIST 在一个新建立的数据连接上发送当前工作目录下的文件名列表
MKD 创建目录
MODE 指定传输模式,可携带的参数是:S、B或 C.
NLST 在一个新建立的数据连接上发送一个当前目录下的“完全”的目录列表
NOOP 空操作,防止连接断掉
PASS 提供一个用户登录密码,必须立即跟随在USER命令后
*PASV 指定服务器数据传输过程监听等待客户端的数据连接连接建立请求
PORT 指定客户端监听等待服务器端建立的连接的端口号
PWD 显示服务器端的当前工作目录名
QUIT 退出登录并终止连接
*REIN 重新初始化,退出登录但是并不断开连接,后面必须随后发出一个新的USER命令
*REST 从服务器的一个标识处重新开始传输
RETR 从远程系统取回一个文件
RMD 删除一个目录
*RNFR 指定要被命名的文件的老的路径名,随后必须是一个RNTO命令
*RNTO 指定要被命名的文件的新的路径名
*SITE 站点特有的服务器提供的服务
*SMNT 结构加载,提供一个文件系统结构的远程系统路径名
*STAT 状态信息
STOR 上载一个文件到服务器上,若文件已经存在则覆盖
*STOU 上载一个文件到服务器上,不覆盖已经存在的文件
STRU 指定文件结构,参数可以是F、R或P.
*SYST 报告远程系统的操作系统类型
TYPE 指定文件类型,参数可以是A、E、I、L只有TYPE A和TYPE I常用
控制连接命令应答有如下形式:
Type Description
1yz 主动初步应答,在发送另一个命令以前等待另一个应答
2yz 主动最后应答,最后一个命令成功结束
3yz 主动中间应答,必须再发送一个命令
4yz 暂时被动应答,要求的动作当时不能完成,但可以重试
5yz 永久被动应答,要求的动作不能完成,不应该重试
"y"数字编码进一步的信息
Digit Meaning
0 语法错误
1 信息
2 连接状态
3 认证和记帐
4 保留
5 File s文件系统状态
下面是一些典型的消息:
Number Meaning
125 数据连接打开,传输开始
200 命令OK
331 用户名OK 需要输入密码
425 不能打开数据连接
452 错误写文件
500 语法错误-不可识别的命
具体的详细情况可以参见RFC
wu-Ftpd的官方权威站点地址是:http://www.wu-ftpd.org/。
1.2 wu-Ftpd的安装
当前,Linux环境下有许多ftp服务器软件可供选择,但是目前最常见的仍然是wu-Ftpd服务器。这里主要讨论该软件的安装和配置。
一般来说,在安装了linux时,缺省都会自动安装wu-ftpd服务器,但是有时候为了某种需要也需要自己亲自重新安装该服务器软件。安装wu-Ftpd有两方式,一种是安装rpm形式的发布包;一种是自己动手去编译生成Ftp服务器。
rpm包可以在http://rpmfind.net/linux/RPM/WByName.html处下载得到,以rpm包方式安装非常简单,只需要在按下面的简单的几个步骤就可以完成,假设下载得到的rpm包存放在/tmp目录下:
#cd /tmp
#rpm -ivh wu-ftpd-1.6.0-9.i386.rpm
压缩的源代码可以在ftp://ftp.wu-ftpd.org/pub/wu-ftpd/出得到。这里我们以最新的1.6.0为例说明如何编译安装wu-ftpd。
1、解开源代码
1) 将压缩的源代码拷贝到/usr/src下
#cp wu-ftpd.1.6.0.tar.gz /usr/src
2) 对压缩文档进行解压缩:
#tar xvfz wu-ftpd.1.6.0.tar.gz
#cd wu-ftpd-1.6.0
2、敲入命令 "./build xxx" ,可以在这里指定一个C语言编译器:"./build CC=yyy xxx" yyy 指用来替代 "cc" 的其他的编译器。对于linux环境下的gcc编译器,命令应该为:"./build CC=gcc xxx"
#build CC=gcc lnx
xxx可以取下面的值:
gen : 通用make(当移植到心得系统时需要拷贝它)
aix : IBM AIX
aux : AU/X
bdi : BSD/OS
bsd : BSD
dec : DEC Unix 3.X
4 : DEC Unix 4.X or later
dyn : Dynix
fbs : FreeBSD 1.0 or later
hiu : Hitachi Unix
hpx : HP-UX
lnx : Linux (tested on 1.0.30)
nbs : NetBSD 1.X
nx2 : NeXTstep 1.x
nx3 : NeXTstep 3.x
osf : OSF/1
osx : Mac OS X
ptx : ???
sco : SCO Unix 3.2v4.2/SCO OpenServer 5
sgi : SGI Irix 4.0.5a
sny : Sony NewsOS
sol : SunOS 5.x / Solaris 1.x
s41 : SunOS 4.1.x
ult : Ultrix 4.x
uxw : UnixWare 1.1 or later
clean : Clean up object files and such to rece disk space after building.
install: Install ftpd
Copying Makefiles.
Linking src/config.h
Making support library.
gcc -O3 -fomit-frame-pointer -fno-strength-rece -pipe -c strcasestr.c
gcc -O3 -fomit-frame-pointer -fno-strength-rece -pipe -c authuser.c
gcc -O3 -fomit-frame-pointer -fno-strength-rece -pipe -c snprintf.c
rm -f libsupport.a
ar cq libsupport.a strcasestr.o authuser.o snprintf.o
ranlib libsupport.a
: : :
: : :
: : :
编译成功以后将生成如下几个可执行文件:
ftpd FTP服务器程序
ftpshut 用于关闭FTP守护进程的程序
ftpcount 记数程序,显示目前ftp登录的人数
ftpwho 查看当前FTP服务器的连线情况,类似与系统的who命令,只不过是查看ftp登录的用户
ckconfig 检查FTP的设置是否正确
ftprestart 重新启动ftp服务器
privatepw 改变wu_ftpd组访问文件信息
3、若只是升级到一个新的版本,应该首先备份系统所有的旧的配置文件。否则这些配置文件将被覆盖。为了适应自己的需求,应当编辑样本配置文件来满足自己的要求,具体配置文件的需求参见后面的内容。
4、以超级用户身份敲入命令"./build install"
#build install
installing binaries.
install -c -o bin -g bin -m 110 bin/ftpd /usr/sbin/in.ftpd
install -c -o bin -g bin -m 111 bin/ftpshut /usr/bin/ftpshut
install -c -o bin -g bin -m 111 bin/ftprestart /usr/bin/ftprestart
install -c -o bin -g bin -m 111 bin/ftpcount /usr/bin/ftpcount
install -c -o bin -g bin -m 111 bin/ftpwho /usr/bin/ftpwho
install -c -o bin -g bin -m 111 bin/privatepw /usr/bin/privatepw
installing manpages.
install -c -o bin -g bin -m 444 doc/ftpcount.1 /usr/man/man1/ftpcount.1
install -c -o bin -g bin -m 444 doc/ftpwho.1 /usr/man/man1/ftpwho.1
install -c -o bin -g bin -m 444 doc/ftpaccess.5 /usr/man/man5/ftpaccess.5
install -c -o bin -g bin -m 444 doc/ftpconversions.5 /usr/man/man5/ftpconversio5
install -c -o bin -g bin -m 444 doc/ftphosts.5 /usr/man/man5/ftphosts.5
install -c -o bin -g bin -m 444 doc/xferlog.5 /usr/man/man5/xferlog.5
install -c -o bin -g bin -m 444 doc/ftpd.8 /usr/man/man8/ftpd.8
5、编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,大多数情况下,这一步是不必的,因为在build install时,会将新的守护进程拷贝覆盖老的守护进程。若希望使用ftpd的增强的扩展功能,应该在这行最后加上"-a"选项。
ftpd守护进程一般可以携带如下参数,也可以不带任何参数:
-d debug参数,当ftpd守护进程出现错误时,会将错误信息写入到系统记录文件/usr/adm/syslog中
-l 记录每次ftp会话信息到/usr/adm/messages中
-t 设置当FTP客户端多久无操作就自动断线,这个参数后面指定等待的时间,如 -t 600 表示若客户
端若连续10分钟没有动作就自动断线,缺省值是15分钟
-a 使用ftpaccess配置文件内容对ftpd进行更详细复杂的设置
-A 不使用ftpaccess配置文件的设置,缺省值是-A
-i 当客户端有上载文件的动作时,就记录在文件xferlog中
-L 使用户连接ftp服务器期间使用的所有命令都被记录到/usr/adm/messages中
6、拷贝tar、gzip、gunzip、compress、uncompress等文件到 "~ftp/bin"中,拷贝"ls"为"~ftp/bin/ls"。
7、若是第一次安装,使用"ckconfig"程序查找ftpd的各种配置文件存放目录:ftpconversions、ftpusers、 和ftpgroups。在"doc/examples"目录下有样本文件。"ckconfig"是一个可执行程序,确保修复该程序检测到的任何问题。
1.3 让FTP服务器运转起来
一般来说,只要正确地编译安装了wu-ftpd,该服务器就可以正常运行。用户可以通过FTP命令从各种系统上连接该服务器。
1.4 配置文件的设置
1.4.1 /etc/ftpaccess的设置
这个配置文件是FTP服务器最重要的配置文件,这个文件的设置决定了FTP是否可以正常工作及许多访问权限的设置。如下面的例子所示:
class all real,guest,anonymous *
limit all 10 Any /etc/msgs/msg.dead
readme README* login
readme README* cwd=*
message /welcome.msg login
message .message cwd=*
compress yes all
tar yes all
log commands real
log transfers anonymous,real inbound,outbound
shutdown /etc/shutmsg
email user@hostname
下面是设置文件各个指示(directive)的详细说明:
指示: loginfails n
密码输入n次就自动断开连接
指示:autogroup 组名 类别 [ ...]
若一个匿名用户属于任何一个参数类别的类,则FTP服务器将实施setegid()调用使其属于这个组名定义的组,这样做是为了实现某些特定类别的匿名用户可以访问一些只允许本组及拥有者可以访问的文件。组名必须是/etc/group内定义的有效组。
指示: class 类名 类别(real、guest、anonumous) IP地址
这个指示是设定FTP服务器用户的类别。
FTP服务器的用户可以分为以下三种类别:
real 在该FTP服务器上拥有合法帐户的用户;
guest 另外定义某些特定组的用户;
anonymous 匿名用户;
举例说明:
class outworld real,guest,anonymous *
定义一个名为outworld的类,该类包含三种类型的用户:real,guest,anonymous。该类在后面的指示中使用。其中"*"是类定义中的IP地址部分,表示网络上的所用主机。也就是说明允许任何主机连接FTP服务器。若希望对访问FTP的主机进行一定的权限设置,可以这样做:
class friend real,guest,anonymous *.linuxaid.com.cn 201.101.13.*
指定义一个friend类,该类从*.linuxaid.com.cn 及201.101.13.*访问FTP服务器时有特定的权限设定。
指示: limit 类别 人数 时间 文件名
该指示设定在某个类在某个时间内允许连接FTP服务器的人数的限制,并指定当连接人数超过限制,后面的用户连接时显示给用户的消息信息。
举例说明:
limit local 20 Any /tmp/message/msg.toomany
上面的例子限定local这个类中的拥护同一时间只能有20人同时上网连接这台FTP服务器,若超过20人则显示/tmp/message/msg.toomany的文件的内容
limit outworld 100 MoTu|Any 2200-0800 /tmp/message/msg.limit
这个例子限制outworld这个类的用户只能在周一周二或每天的晚上10点到第二天早上的8点之间访问该FTP服务器,而且同时连线的人数不可以超过100人,若超过100人,则显示/tmp/message/msg.limit的文件的内容
/tmp/message/msg.limit的内容为:
对不起!本服务器只允许匿名用户在周一周二全天及其他每天晚上10点到第二天早上的8点之间访问,当前时间为%T;而且只允许同时有%M个匿名用户访问,当前有%N个用户在访问该服务器。请在合适的时间访问本FTP服务器,谢谢!
这里的%M是一个变量,代表同时允许连接的人数的上限,FTP服务器可以用前面设置的值自动替代该变量,其他允许的变量包括:
%T 本地当前时间;
%F CWD所在分区剩余空间,以KB为单位。但该变量不是所有系统都支持。
%C 当前工作目录;
%E 定义在/etc/ftpaccess文件中的系统管理员的E-mail地址;
%R 远端主机名;
%L 本地主机名;
%U 登录时所给的用户名;
%N 这个类别当前连接的用户数目;
利用这些参数,可以编辑一个详细的说明文件,这样可以让用户清楚当前服务器资源使用情况。
指示: readme 说明文件 指令
当用户执行指定的"指令"时,系统就会自动显示所设置的说明文件;
举例说明:
readme README* login
当用户执行登录动作时,只要以README开头的文件内容就会显示给用户。
readme README* cwd=*
表示用户切换目录时(cwd),只要以README开头的文件内容就会显示给用户。
通常README*应该是该目录下文件的说明,让登录的用户可以清楚地知道目录中存放了那些文件;
指示: message 文件名 指令
使当用户执行特定的"指令"时,系统就将指定的文件内容显示给用户;
举例说明:
message /msg.welcome login
指定当用户登录时,将自动显示/tmp/message/msg.welcome的内容给用户,注意这里的/msg.welcome指ftp根目录下的msg.welcome文件,即/home/ftp/msg.welcome。
message /welcome cwd=*
指定当用户切换另一个目录时,只要目录中有msg.welcome文件,就显示给用户
指示: compress (yes/no) 类别
设置哪个类别的用户可以使用压缩功能;
举例: compress yes local outworld
允许local 和outworld两个类别的 用户使用压缩功能
指示: tar (yes/no) 类别
指定哪个类别的用户可以使用tar功能;
指示: passwd-check (none/trivial/rfc822) (enforce/warn)
设定当用户以匿名方式登录服务器时密码的方式:
none 表示不对密码进行验证,任何密码都可以登录;
trival 表示只要密码中包含@就可以登录;
rfc822 表示密码一定要符合rfc822中规定的E-mail格式才能登录。如:[email protected]
enforce 表示输入的密码不符合指定格式就不允许登录;
warn 表示输入的密码不符合指定格式显示警告信息,但仍然允许登录;
指示: log commands 类别(read/guest/anonumous)
设定那些用户登录时,所使用的操作会被记录在文件/usr/adm/xferlog中。
指示: log transfer 类别(read/guest/anonumous) (inbound/outbound)
设定指定的用户类别在上载还是下载时的相关信息被记录到/usr/adm/xferlog中。
举例说明:
log transfer anonymous,real inbound,outbound
当anonymous或real用户登录后,上载和下载的操作会被记录在文件/usr/adm/xferlog中。
指示: shutdown 文件名
FTP服务器关闭的时间可以后面的文件名中指定的文件中指定,设定的时间一到,便无法登录FTP服务器了,只有将这个文件删除才能恢复FTP服务器。文件的格式可以由命令ftpshut来建立。
指示: delete (yes/no) 类别(real/anonymous/guest)
设定是否允许指定用户使用delete命令。
举例说明:
delete no guest,anonymous
设定大概内登录的用户为guest或anonymous上不允许执行delete命令。
指示: overwrite (yes/no) 类别(real/anonymous/guest)
设定是否允许指定用户使用overwrite指令。
指示: reame (yes/no) 类别(real/anonymous/guest)
设定是否允许指定用户使用readme指令。
指示: chmod (yes/no) 类别(real/anonymous/guest)
设定是否允许指定用户使用chmod指令。
指示: umask (yes/no) 类别(real/anonymous/guest)
设定是否允许指定用户使用umask指令。
指示: upload [absolute|relative] [class=]... [-]
["dirs"|"nodirs"] []
定义允许用来上载的目录。若允许上载,所有新上载的文件的所有者及组由和定义 ,访问权限将为。对于覆盖老文件的上载文件将保持原来的所有者及访问权限信息。文件上载的权限信息由最大匹配目录项定义,如:
upload /var/ftp * no
upload /var/ftp /incoming yes ftp daemon 0666
upload /var/ftp /incoming/gifs yes jlc guest 0600 nodirs
would only allow uploads into /incoming and /incom-
:
将只允许/incoming和/incom-ing/gifs目录上载。上载到/incoming目录下的文件将属于ftp/daemon,访问权限为0666;而上载到/incoming/gifs下的文件将属于jlc/guest,访问权限为0600。应该注意的是 必须匹配"ftp"用户的passwd文件中的主目录。
"dirs"和"nodirs"选项用来设定是否允许在该目录下创建新的子目录。但是缺省是允许创建子目录的。
设定新创建的目录的访问权限,缺省为0777。
上载指示只能施用于用户主目录(chroot()的参数)等同于的用户,可以为*来表示匹配任何主目录。
和也可能指定为*,在这种情况下,任何上载的文件或创建的目录的所有者都等于起父目录的所有者。
选项[absolute|relative]指定是是绝对路径还是相对于chroot()参数指定的目录的相对路径。缺省是绝对路径。也可以指定任意多个class='来进行进一步限定。若指定了任何目录,则该上载指示只影响这些组的用户。
指示: alias 目录别名 目录路径
给指定目录设置一个别名,当切换目录时可以使用别名。
举例说明:
alias xwin /pub/linux/xwindows
为/pub/linux/xwindows设置别名xwin,登录以后只要输入命令cd xwin就可以进入该目录。
指示: cdpath 目录
该功能和系统的PATH环境变量设置类似,当cd /etc时,FTP首先查看当前目录下是否有etc子目录,无则看是否有别名,若没有则根据该指示设定的路径查询。
举例说明:
cdpath /pub/linux
cdpath /pub
cdpath /
搜索顺序为:/pub/linux /pub /
指示: path-filter 类别(real/anonymous/guest) 目录
设定上载文件名限制。
举例说明:
path-filter anonymous /etc/pathmsg^[-A-Za-z0-9_\.]*$^\.^-
path-filter guest /etc/pathmsg^[-A-Za-z0-9_\.]*$^\.^-
设置限制anonymous和guest用户上载的文件名只能包含A-Z、a-z、0-9和._-,名字以"."和"-"开头的文件不能上载到服务器上。
指示: guestgroup [ ...]
guestuser [ ...]
realgroup [ ...]
realuser [ ...]
对于guestgroup指示,若一个真实(real)用户属于任何一个所指定的组,则其FTP会话都被FTP服务器以匿名的方式进行处理。也就是说,chroot()被调用,用户不再允许发出USER和 PASS 命令。必须是有效的组。
这里用户的home目录必须被争取的设置,要确实和匿名用户一致,/etc/passwd中的相关项的home目录被分割为两个部分,第一部分是chroot()调用的根目录参数,第二个是用户相对于根目录的主目录,两部分之间以"/./分隔",如:
guest1::100:92:Guest Account:/ftp/./incoming:/etc/ftponly
当guest1成功登录进入,FTP服务器将调用chroot("/ftp")然后调用chdir("/incoming")。则guest1就如同匿名用户
Ⅱ Linux下用C语言写一个FTP系统程序,基于客户/服务器模式
在绝大多数的LINUX发行版本中都选用的是WashingtonUniversity
FTP,它是一个着名的FTP服务器软件,一般简称为wu-ftp。它功能强大,能够很好地运行于众多的UNIX操作系统,例如:IBM
AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求:
1) 可以在用户下载文件的同时对文件做自动的压缩或解压缩操作;
2)
可以对不同网络上的机器做不同的存取限制;
3) 可以记录文件上载和下载时间;
4)
可以显示传输时的相关信息,方便用户及时了解目前的传输动态;
5) 可以设置最大连接数,提高了效率,有效地控制了负载。
& 2.2 所需资源
&1.2.1
所需包
RedHat6.2 服务器安装
&1.2.2
所需配置文件
/etc/ftpusers
/etc/ftpaccess
/var/run/ftp.pids
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts
&1.2.3 相关命令
ftpd FTP服务器程序
ftpshut 用于关闭FTP服务器程序
ftpcount 显示目前在线人数
ftpwho
查看目前FTP服务器的连接情况
ckconfig 检查FTP服务器的设置是否正确
ftprestart
重新启动FTP服务
&1.2.4 相关目录
/home/ftpd/bin
存放一些供FTP用户使用的可执行文件
/home/ftpd/etc
存放一些供FTP用户使用的配置文件
/home/ftpd/pub 存放供下载的信息
/home/ftpd/incoming 存放供上载信息的空间
配置方案
1.
/etc/ftpaccess
说明: ftp权限配置文件
源文件:
guestuser weboa
# FTP用户
class all real,guest,anonymous
*
class weboa guest *
# 格式:class [类名]
[real/guest/anonymous]
[IP地址]
功能:
这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP
服务器上的用户基本上可以分为以下三类:
real 在该FTP服务器有合法帐号的用户;
guest 有记录的匿名用户;
anonymous 权限最低的匿名用户
email [email protected]
loginfails 5
# 格式:loginfails [次数]
功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。
readme README* login
readme README* cwd=*
message /welcome.msg
login
message .message cwd=*
#
格式:message [文件名称] [指令]
功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。
compress yes all
# 格式:compress
[yes/no] [类别]
功能:设置哪一个类别的用户可以使用compress(压缩)功能。
tar
yes all
# 格式:tar [yes/no] [类别]
功能:设置哪一个类别的用户可以使用tar(归档)功能。
chmod no
guest,anonymous
# 格式:chmod [yes/no] [real/anonymous/guest]
功能:
设置是否允许指定用户使用chmod命令更改文件权限。默认是
允许。
delete yes all
# 格式:delete [yes/no]
[real/anonymous/guest]
功能:
设置是否允许指定用户使用delete命令删除文件。默认是允许。
overwrite yes guest
#
格式:overwrite [yes/no] [real/anonymous/guest]
功能:设置是否允许指定用户覆盖同名文件。默认是允许。
rename yes guest
#
格式:rename [yes/no] [real/anonymous/guest]
功能:设置是否允许指定用户使用rename命令来为文件改名。默认
是允许。
log
transfers anonymous,real inbound,outbound
# 格式:log transfers
[real/guest/anonymous] [inbound/outbound]
功能:
设置哪些用户的上载(inbound)和下载(outbound)操作做日志。
shutdown
/etc/shutmsg
# 格式:shutdown [文件名]
功能:
FTP服务器关闭的时间可以设置在后面所指定的文件中,当设
置的时间一到,便无法登录FTP服务器了,要恢复的话只有将
这个文件删掉。而这个文件必
须由指令/bin/ftpshut来生成。
passwd-check rfc822 warn
#
格式:passwd-check [none/trivial/rfc822] [enforce/warn]
功能:设定对匿名用户anonymous的密码使用方式。
none 表示不做密码验证,任何密码都可以登录;
trival 表示只要输入的密码中含有字符“@ ” "Times New Roman"'>就可以登录;
rfc822 表示密码一定要符合RFC822中所规定的E-Mail格式才
能登录;
enfore 表示输入的密码不符合以上指定的格式就不让登录;
warn
表示密码不符合规定时只出现警告信息,仍然能够登录。
limit remote 32 Any
/etc/ftpd/toomany.msg
# 格式:limit [类别] [人数] [时间] [文件名]
功能:这个指令的功能为设置指定的时间内指定的类别允许连接的
指定人数上限。当达到上限的时候,显示指定文件的内容。
upload /home/ftpd * no
upload /home/ftpd /pub yes anonymous 0644 dirs
# 格式:upload [根目录]
[上载目录] [yes/no] [用户] [权限]
[dirs/nodirs]
功能:对可以上载的目录进行更加详细的设置。
alias incoming
/home/ftp/incoming
# 格式:alias [目录别名] [目录名]
功能:给指定目录设置一个别名,在切换目录时就可以使用较短的
目录别名。
2.
/etc/ftpusers
说明:FTP用户黑名单,为了安全考虑,需要禁止以下用户使用FTP
源文件:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
在众多的网络应用中,FTP(File Transfer
porotocol)有着非常重要的地位。在Internet中一个十分重要的资源就是软件资源。而各种各样的软件资源大多数都是放在FTP服务器中的。可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。
FTP服务可以根据服务对象的不同分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,Anonymous
FTP Server,它使用任何人都可以登录到FTP服务器上去获取文件。
如果你在安装LINUX系统的时候,在选择启动进程的时候选择了“ftpd”这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。我们已经可以利用它来实现系统FTP服务器的功能了。我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。
Ⅲ samba中设置共享目录步骤
具体操作步骤:
1、添加share文件夹到根目录下。
Ⅳ android系统如何通过$ adb 来获得/data/data目录的访问权限
android系统如何通过$ adb 来获得/data/data目录的访问权限
android 是linux内核 /data/data 是root用户的目录,普通用户是无法访问的,如果你需要访问,那么你的手亏衡机需要获取root权限。
Root权限的获取方式:
1.用手机连接电脑,下载一键root工具。
2.下载成功后,打开一键ROOT软件。会出现root准备,点击下一步,正式开始root。
3.检查root条件,要是你需要文件备份的话,一定要备份后。点击开始ROOT。
3.root正式开始,需要几钟左右时间,期间可能会重启数次,root就会完成。
4.root完成后,你就可以随意删除你手机中的垃圾应用了包括系统应用。
当你获取root权限后通过adb访问 /data/data目录:
-
adb shell 进入shell模式
-
su 切换到root用户
-
chmod 777 /data/data 修改/data/data目录的权限为 777即可
-
exit 退出root用户
-
cd /data/data 即可进入/data/data 目录闭迟了
vista如何设置目录的访问权限啊?
首先你要以管理员身份登陆vista系统;
其次,来到c盘里的windows文件夹,进入到system32文件夹里,找到cmd.exe文件;
在cmd.exe文件上单击鼠标右键,选择“以管理员身份运行”;
命令提示符运行之后,输入: users Administrator /active:yes ;
执行后会激活你所在的Vista系统的超级管理员帐户,并且不受UAC控制获得最高权限
如何设置共享目录的访问权限
第一、禁止简单文件共享:
首先打开一个文件夹,在菜单栏的“工具”,“文件夹选项”,“查看”的选项卡,在高级设置里,去掉“使用简单文件共享(推荐)”,如下图:
光是这样并不能启动高级文件共享,这只是禁用了简单文件共享,还必须启用帐户,设置权限,才能达到限制访问的问题。
第二,设置帐户
进入控制面板的用户帐户,有计算机的帐户和来宾帐户。仅仅是开启GUEST帐户并不能达到多用户不同权限的目的。而且在高级文件共享中,Windows XP默认是不允许网络用户通过没有密码的账号访问系统。所以,我们必须为不同权限的用户设置不同的帐户。
假如网络其他用户的访问权限都一样(大多数情况都是这样),我们只需设置一个用户就行了。在用户帐户里,新建一个用户,由于我们必须考虑网络安全性,以所设用户必须为最小的权限和最少的服务,类型设置为“受限制用户”。如上图的AAA用户。
在默认的情况下,xp新建帐户是没有密码的,上面说过,默认情况下xp是不允许网络用户通过没有密码的帐户访问的。所以,我们必须给刚刚添加的AAA用户填上密码。
添加用户也可以这样进行:打开 控制面板,“管理工具”,“计算机管理”,“系统工具”,“本地用户和组”,“用户”,在右边的窗口,按右键新建用户,如下图:
如果你希望网络用户通轿空李过此帐户访问系统而不需要密码,需要更改xp的安全策略:
打开控制面板,“管理工具”,“本地安全策略”,展开“本地策略-安全选项”,双击“账户: 使用空白密码的本地账户只允许进行控制台登录”,并停用它,然后确定。如下图:
注意:在Home版的Windows XP里是没有组策略的。
第三、设置共享
做好以上的设置就可以设置共享了,点击一个文件夹,属性,共享选项卡,嘿嘿,跟刚刚的不同了吧,下面还多了个权限的按钮。如下图:
点击权限,默认是EVERYONE,也就是每个用户都有完全控制的权限如下图:
其中(BIGEASTAAA)表示计算机bigeast中的AAA用户。
如果我们设置AAA有只读权限,只需要在“读取”那里打勾就行了。
权限的说明:
读取权限允许用户:浏览或执行文件夹中的文件。
更改权限允许用户:改变文件内容或删除文件。
完全控制权限允许用户:完全访问共享文件夹。
如果设置不同的帐户不同权限,重新一次以上步骤。
特别注意,打开了高级共享,系统的所有分区都被默认共享出来,必须把它改回来。
如果网络用户的操作系统是NT/2000/XP的话,访问时候提示用户密码,只要输入刚刚设置好的帐户密码就可以正常访问了。否则无法访问。
如何设置IIS网站目录的访问权限
如何设置IIS网站目录的访问权限_网络经验:
:jingyan../article/67508eb42673ad9a1ce4fa.
打开网站根目录的“属性”窗体,然后切换到“安全”选项框
在“安全”选项框中,有该目录权限的组或用户,以及对应的权限。
点击“编辑”按钮,在打开的“权限”对话框中,再点击“添加”按钮,依次添加匿名用户IUSR和和用户组IIS_IUSRS
对于网站的根目录,通常只需要赋予“读取”,“列出文件夹内容”和“读取和执行”的权限。
如果在网站下某些文件或目录需要写入权限,则单独在这些文件或目录的IUSR和IIS_USRS权限上添加“写入”
通过这种方式完成网站的访问权限设置,之前碰到的问题就迎刃而解。
打开网站根目录的“属性”窗体,然后切换到“安全”选项框 在“安全”选项框中,有该目录权限的组或用户,以及对应的权限。 点击“编辑”按钮,在打开的“权限”对话框中,再点击“添加”按钮,依次添加匿名用户IUSR和和用户组IIS_IUSRS 对于网站的根目录
你点击网址 然后点击右键 权限 然后在安全里面设置啊 比如iisuser adminsitrator 等等
如何控制AIX中目录的ftp访问权限
当我们想要将一个目录设置为ftp只读或ftp只写时,我们可以借助/etc/ftpaess.ctl文件来实现这种权限控制。
一、设置一个目录为ftp只读
1. 编辑/etc/ftpaess.ctl,加入如下一行:
readonly: /test
2. ftp连接服务器进行读取传输,成功
HA_node2@/> ftp 172.16.18.13
Connected to 172.16.18.13.
220 DumpServer FTP server (Version 4.2 Fri Feb 3 22:13:23 CST 2006) ready.
Name (172.16.18.13:root): root
331 Password required for root.
Password:
230-Last unsuessful login: Tue May 13 08:44:37 2008 on /dev/pts/1 from 9.181.50.139
230-Last login: Tue May 13 10:45:06 2008 on ftp from ::ffff:9.181.50.246
230 User root logged in.
ftp> cd /test
250 CWD mand suessful.
ftp> lcd /test
Local directory now /test
ftp> dir
200 PORT mand suessful.
150 Opening data connection for /bin/ls.
total 29472
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer plete.
ftp> bin
200 Type set to I.
ftp> get trace.raw
200 PORT mand suessful.
150 Opening data connection for trace.raw (880640 bytes).
226 Transfer plete.
880852 bytes received in 0.08342 seconds (1.031e+04 Kbytes/s)
local: trace.raw remote: trace.raw
3.进行写入传输,则遭遇报错
ftp> bin
200 Type set to I.
ftp> put trace.raw-1
200 PORT mand suessful.
550 Write aess denied
二、设置一个目录为ftp只写
1. 编辑/etc/ftpaess.ctl,加入如下一行:
writeonly: /test
2. ftp连接服务器进行读取传输,则遭遇报错
HA_node2@/> ftp 172.16.18.13
Connected to 172.16.18.13.
220 DumpServer FTP server (Version 4.2 Fri Feb 3 22:13:23 CST 2006) ready.
Name (172.16.18.13:root): root
331 Password required for root.
Password:
230-Last unsuessful login: Tue May 13 08:44:37 2008 on /dev/pts/1 from 9.181.50.139
230-Last login: Tue May 13 15:45:37 2008 on ftp from ::ffff:172.16.18.11
230 User root logged in.
ftp> cd /test
250 CWD mand suessful.
ftp> lcd /test
Local directory now /test
ftp> dir
200 PORT mand suessful.
150 Opening data connection for /bin/ls.
total 29472
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer plete.
ftp> bin
200 Type set to I.
ftp> get trace.raw-2
200 PORT mand suessful.
550 Read aess denied
3.进行写入传输,成功
ftp> bin
200 Type set to I.
ftp> put trace.raw-1
200 PORT mand suessful.
150 Opening data connection for trace.raw-1.
226 Transfer plete.
880640 bytes sent in 0.07938 seconds (1.083e+04 Kbytes/s)
local: trace.raw-1 remote: trace.raw-1
ftp> dir
200 PORT mand suessful.
150 Opening data connection for /bin/ls.
total 31192
-rw-r--r-- 1 root system 7539356 Apr 24 19:42 trace.r
-rw-rw-rw- 1 root system 880640 Apr 24 19:41 trace.raw
-rw-rw-rw- 1 root system 1158232 Apr 24 19:41 trace.raw-0
-rw-r----- 1 root system 880640 May 13 15:53 trace.raw-1
-rw-rw-rw- 1 root system 1059928 Apr 24 19:41 trace.raw-2
-rw-rw-rw- 1 root system 1050952 Apr 24 19:41 trace.raw-3
-rw-rw-rw- 1 root system 1195440 Apr 24 19:41 trace.raw-4
-rw-rw-rw- 1 root system 2196288 Apr 24 19:41 trace.raw-5
226 Transfer plete.
在XP下如何设置NTFS下一个目录的访问权限?
xp只能给用户具体设置访问权限,没有用密码访问的方式,设置权限只要在文件夹上点右键选“属性”在打开的对话框中点“安全”其下可以添加删除用户对文件的权限(当然要另外建一个用户),如果楼主硬要对用户用密码访问的话,可以用“文件夹加密大师”等软件实现。
linux /tmp 目录访问权限
不是,/tmp目录的权限位是drwxrwxrwt,/tmp目录对所有用户的读写权限仅限于目录本身,而不是/tmp目录下的目录或者文件。
你举的例子中,1.txt上传后的所属应该是 root root,sam用户能否复制或者删除1.txt取决于1.txt的权限位。
Ⅳ 操作系统中的一些概念问题
操作系统(英语:Operating System,简称OS)是一管理电脑硬件与电脑软件资源的程序,同时也是计算机系统的核心与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作接口。
操作系统的型态非常多样,不同机器安装的操作系统可从简单到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。许多操作系统制造者对它涵盖范畴的定义也不尽一致,例如有些操作系统集成了图形化用户界面,而有些仅使用文字接口,而将图形接口视为一种非必要的应用程序。
操作系统理论在计算机科学中,为历史悠久而又活跃的分支;而操作系统的设计与实现则是软件工业的基础与核心。
现代操作系统通常都有一个使用的绘图设备的图形化用户界面,并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或效能导向的服务器通常不会有如歼如此亲切的接口,而是以命令行接口(CLI)加上键盘为输入设备。以上两种接口其实都是所谓的壳,其功能为接受并处理用户的指令(例如按下一按钮,或在命令提示列上键入指令)。
选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上运行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。在1990年代早期,个人电脑的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。
大型机与嵌入式系统使用很多样化的操作系统。大型主机近期有许多开始支持Java及Linux以便共享其他平台的资源。嵌入式系统近期百家争鸣,从给Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。
个人电脑: Apple Macintosh - Mac OS X,Windows(仅Intel平台),Linux、BSD。
IBM兼容PC - Windows、Linux、BSD、Mac OS X(非正式支持)。
大型机: Burroughs MCP-- B5000, IBM OS/360 -- IBM System/360, UNIVAC EXEC 8 -- UNIVAC 1108
嵌入式系统: 嵌入森闷式系统使用非常广泛的操作系统(如VxWorks、eCos、Symbian OS及Palm OS)以及某些功能缩减版本的Linux或者其他操作系统。某些情况下,OS指称的是一个内置了固定应用软件的巨大泛用程序。在许多最简单的嵌入式系统中,所谓的OS就是指其上唯一的应用程序。
类Unix系统: 所谓的类Unix家族指的是一族种类繁多的OS,此族包含了System V、BSD与Linux。由于Unix是The Open Group的注册商标,特指遵守此公司定义的行为的操作系统。而类Unix通常指的是比原先的Unix包含更多特征的OS。
Unix系统可在非常多的处理器架构下运行,在服务器系统上有很高的使用率,例如大专院校或工程应用的工作站。自由软件Unix变种,例如Linux与BSD近来越来越受欢迎,它们也在个人桌面电脑市场上大有斩获,例如Ubuntu系统。
某些Unix变种,例如HP的HP-UX以及IBM的AIX仅设计用于自家的硬件产品上,而SUN的Solaris可安装于自家的硬件或x86电脑上。苹果电脑的Mac OS X是一个从NeXTSTEP、Mach以及FreeBSD共同派生出来的微核心BSD系统,此OS取代了苹果电脑早期非Unix家族的Mac OS。
经此橡弯历数年的披荆斩棘,自由开源的Unix系统逐渐蚕食以往专利软件的专业领域,例如以往电脑动画运算巨擘——SGI的IRIX系统已被Linux家族及贝尔实验室研发小组设计的九号计划与Inferno系统取代,皆用于分散表达式环境。它们并不像其他Unix系统,而是选择内置图形化用户界面。九号计划原先并不普及,因为它刚推出时并非自由软件。后来改在自由及开源软件许可证Lucent Public License释出后,便开始拥有广大的用户及社区。Inferno已被售予Vita Nuova并以GPL/MIT许可证释出。
当前,计算机按照计算能力排名世界500强中472台使用Linux,6台使用Windows,其余为各类BSD等Unix。
微软Windows: Microsoft Windows系列操作系统是在微软给IBM机器设计的MS-DOS的基础上设计的图形操作系统。现在的Windows系统,如Windows 2000、Windows XP皆是创建于现代的Windows NT核心。NT核心是由OS/2和OpenVMS等系统上借用来的。Windows可以在32位和64位的Intel和AMD的处理器上运行,但是早期的版本也可以在DEC Alpha、MIPS与PowerPC架构上运行。 虽然由于人们对于开放源代码作业系统兴趣的提升,Windows的市场占有率有所下降,但是到2004年为止,Windows操作系统在世界范围内占据了桌面操作系统90%的市场。[3]
Windows系统也被用在低级和中阶服务器上,并且支持网页服务的数据库服务等一些功能。最近微软花费了很大研究与开发的经费用于使Windows拥有能运行企业的大型程序的能力。
苹果Mac OS: Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。Mac OS是首个在商用领域成功的图形用户界面。
Chrome OS: Google Chrome OS是一项Google的轻型电脑操作系统计划,其基于Google的浏览器Chrome的Linux内核。
进程管理: 不管是常驻程序或者应用程序,他们都以进程为标准运行单位。当年运用冯·诺伊曼结构建造电脑时,每个中央处理器最多只能同时运行一个进程。早期的OS(例如DOS)也不允许任何程序打破这个限制,且DOS同时只有运行一个进程(虽然DOS自己宣称他们拥有终止并等待驻留(TSR)能力,可以部分且艰难地解决这问题)。现代的操作系统,即使只拥有一个CPU,也可以利用多进程(multitask)功能同时运行复数进程。进程管理指的是操作系统调整复数进程的功能。
由于大部分的电脑只包含一颗中央处理器,在单核心(Core)的情况下多进程只是简单迅速地切换各进程,让每个进程都能够运行,在多核心或多处理器的情况下,所有进程通过许多协同技术在各处理器或核心上转换。越多进程同时运行,每个进程能分配到的时间比率就越小。很多OS在遇到此问题时会出现诸如音效断续或鼠标跳格的情况(称做崩溃(Thrashing),一种OS只能不停运行自己的管理程序并耗尽系统资源的状态,其他用户或硬件的程序皆无法运行)。进程管理通常实践了分时的概念,大部分的OS可以利用指定不同的特权等级(priority),为每个进程改变所占的分时比例。特权越高的进程,运行优先级越高,单位时间内占的比例也越高。交互式OS也提供某种程度的回馈机制,让直接与用户交互的进程拥有较高的特权值。
除了进程管理之外,OS尚有担负起进程间通信(IPC)、进程异常终止处理以及死锁(Dead Lock)侦测及处理等较为艰深的问题。
在进程之下尚有运行绪的问题,但是大部分的OS并不会处理运行绪所遭遇的问题,通常OS仅止于提供一组API让用户自行操作或通过虚拟机的管理机制控制运行绪之间的交互。
存储器管理: 根据帕金森定律:“你给程序再多存储器,程序也会想尽办法耗光”,因此程序员通常希望系统给他无限量且无限快的存储器。大部分的现代电脑存储器架构都是层次结构式的,最快且数量最少的暂存器为首,然后是高速缓存、存储器以及最慢的磁盘存储设备。而OS的存储器管理提供查找可用的记忆空间、配置与释放记忆空间以及交换存储器和低速存储设备的内含物……等功能。此类又被称做虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,既使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低运行效率的缺点,严重时甚至也会导致进程崩溃。
存储器管理的另一个重点活动就是借由CPU的帮助来管理虚拟位置。如果同时有许多进程存储于记忆设备上,操作系统必须防止它们互相干扰对方的存储器内容(除非通过某些协议在可控制的范围下操作,并限制可访问的存储器范围)。分区存储器空间可以达成目标。每个进程只会看到整个存储器空间(从0到存储器空间的最大上限)被配置给它自己(当然,有些位置被OS保留而禁止访问)。CPU事先存了几个表以比对虚拟位置与实际存储器位置,这种方法称为标签页(paging)配置。
借由对每个进程产生分开独立的位置空间,OS也可以轻易地一次释放某进程所占据的所有存储器。如果这个进程不释放存储器,OS可以退出进程并将存储器自动释放。
磁盘与文件系统: 所谓的文件系统,通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能,例如日志管理或不需磁盘重整。
OS拥有许多种内置文件系统。例如Linux拥有非常广泛的内置文件系统,如ext2、ext3、ext4、ReiserFS、Reiser4、GFS、GFS2、OCFS、OCFS2、NILFS与Google文件系统。Linux也支持非本地文件系统,例如XFS、JFS、FAT家族与NTFS。另一方面,Windows能支持的文件系统只有FAT12、FAT16、FAT32与NTFS。NTFS系统是Windows上最可靠与最有效率的文件系统。其他的FAT家族都比NTFS老旧,且对于文件长度与分区磁盘能力都有很大限制,因此造成很多问题。而UNIX的文件系统多半是UFS,而UNIX中的一个分支Solaris最近则开始支持一种新式的ZFS
大部份上述的文件系统都有两种建置方法。系统可以以日志式(Journaling file system)或非日志式建置。日志式文件系统可以以较安全的手法运行系统回复。如果一个没有日志式建置的文件系统遇上突然的系统崩溃,导致数据创建在一半时停顿,则此系统需要特殊的文件系统检查工具才能撤消;日志式则可自动回复。微软的NTFS与Linux的ext3、ext4、reiserFS与JFS都是日志式文件系统。
每个文件系统都实现相似的目录/子目录架构,但在相似之下也有许多不同点。微软使用“\”符号以创建目录/子目录关系,且文件名称忽略其大小写差异;UNIX系统则是以“/”创建目录架构,且文件名称大小写有差异。
网络: 许多现代的OS都具备操作主流网络通信协议TCP/IP的能力。也就是说这样的操作系统可以进入网络世界,并且与其他系统分享诸如文件、打印机与扫描仪等资源。
许多OS也支持多个过去网络启蒙时代的各路网络通信协议,例如IBM创建的SNA、DEC在它所生产的系统所设置的DECnet架构与微软为Windows制作的特殊通信协议。还有许多为了特殊功能而研发的通信协议,例如可以在网络上提供文件访问功能的NFS系统。现今大量用于影音流(Streaming media)及游戏消息传送的UDP协议等。
安全: 大多数OS都含有某种程度的信息安全机制。信息安全机制主要基于两大理念:
OS提供外界直接或间接访问数种资源的管道,例如本地端磁盘驱动器的文件、受保护的特权系统调用(System call)、用户的隐私数据与系统运行的程序所提供的服务。
OS有能力认证(Authorization)资源访问的请求。允许通过认证的请求并拒绝无法通过的非法请求,并将适当的权力授权(Authentication)给此请求。有些系统的认证机制仅简略地把资源分为特权或非特权,且每个请求都有独特的身份辨识号码,例如用户名称。资源请求通常分成两大种类:
内部来源:通常是一个正在运行的程序发出的资源请求。在某些系统上,一个程序一旦可运行就可做任何事情(例如DOS时代的病毒),但通常OS会给程序一个识别代号,并且在此程序发出请求时,检查其代号与所需资源的访问权限关系。
外部来源:从非本地端电脑而来的资源请求,例如远程登录本机电脑或某些网络连接请求(FTP或HTTP)。为了识别这些外部请求,系统也许会对此请求提出认证要求。通常是请求输入用户名称以及相对应的密码。系统有时也会应用诸如磁卡或生物识别数据的它种认证方法。在某些例子,例如网络通信上,通常不需通过认证即可访问资源(例如匿名访问的FTP服务器或P2P服务)。
除了允许/拒绝形式的安全机制,一个高安全等级的系统也会提供记录选项,允许记录各种请求对资源访问的行为(例如“谁曾经读了这个文件?”)。
肇因于军方与商业组织将敏感数据记录在电脑上,安全机制在OS历史上是一个被长久关注与讨论的问题。美国国防部(DoD)便创立了《可信赖之计算机系统评鉴程序》(TCSEC),此手册确立了评鉴安全机制成效的基本原则。这对OS作者来说非常重要,因为TCSEC是用于评鉴、分类与选拔出用于处理、存储与获取敏感或机密数据的电脑系统的标准程序。
内部信息安全: 内部信息安全可视为防止正在运行的程序任意访问系统资源的手段。大多OS让普通程序可直接操作电脑的CPU,所以产生了一些问题,例如怎样把可如OS一样处理事务、运行同样特殊指令的程序强迫停止,毕竟在此情境下,OS也只是另一个平起平坐的程序。为通用OS所生产的CPU通常于硬件层级上实践了一定程度的特殊指令保护概念。通常特权层级较低的程序想要运行某些特殊指令时会被阻断,例如直接访问像是硬盘之类的外部设备。因此,程序必须得经由询问OS,让OS运行特殊指令来访问磁盘。因此OS就有机会检查此程序的识别身份,并依此接受或拒绝它的请求。
在不支持特殊指令架构的硬件上,另一个也是唯一的保护方法,则是OS并不直接利用CPU运行用户的程序,而是借由模拟一个CPU或提供一p-Code系统(伪代码运行机),像是Java一样让程序在虚拟机上运行。
内部安全机制在多用户电脑上特别重要:它允许每个系统用户拥有自己个人的文件与目录,且其他用户不能任意访问或删除。因为任何程序都可能绕过OS的监控,更有可能绕过侧录程序的监控,拥有强制力的内部安全机制在侧录启动时也非常重要。
外部信息安全: 通常一个操作系统会为其他网络上的电脑或用户提供(主持)各种服务。这些服务通常借由端口或OS网络地址后的数字访问点提供。通常此服务包括提供文件共享(NTFS)、打印共享、电子邮件、网页服务与文件传输协议(FTP)。 外部信息安全的最前线,是诸如防火墙等的硬件设备。在OS内部也常设置许多种类的软件防火墙。软件防火墙可设置接受或拒绝在OS上运行的服务与外界的连接。因此任何人都可以安装并运行某些不安全的网络服务,例如Telnet或FTP,并且设置除了某些自用通道之外阻挡其他所有连接,以达成防堵不良连接的机制。
用户界面: 今日大部分的OS都包含图形化用户界面。有几类较旧的OS将图形化用户界面与核心紧密结合,例如最早的Windows与Mac OS实现产品。此种手法可提供较快速的图形回应能力,且实现时不需切割模块因而较为省工,但是会有强烈副作用,例如图形系统崩溃将导致整个系统崩溃,例如死亡蓝屏幕。许多近代的OS已模块化,将图形接口的副系统与核心分开(已知Linux与Mac OS X原先就是如此设计,而某些扩充版本的Windows终于也采用此手法)。
许多OS允许用户安装或创造任何他们喜欢的图形接口[6]。大部分的Unix与Unix派生系统(BSD、Linux与Minix)通常会安装X Window系统配合GNOME或KDE桌面环境。而某些OS就没有这么弹性的图形化用户界面,例如Windows。这类的OS只能通过外加的程序来改变其图形化用户界面,甚或根本只能改变诸如菜单风格或颜色配置等部分[来源请求]。
图形化用户界面与时并进,例如Windows在每次新版本上市时就会将其图形化用户界面改头换面,而Mac OS的GUI也在Mac OS X上市时出现重大转变。
驱动程序: 所谓的驱动程序(Device driver)是指某类设计来与硬件交互的电脑软件。通常是一设计完善的设备交互接口,利用与此硬件连接的电脑汇排流或通信子系统,提供对此设备下令与接收信息的功能;以及最终目的,将消息提供给OS或应用程序。驱动程序是针对特定硬件与特定OS设计的软件,通常以操作系统核心模块、应用软件包或普通电脑程序的形式在OS核心底下运行,以达到通透顺畅地与硬件交互的效果,且提供硬件在处理异步的时间依赖性接口(asynchronous time-dependent hardware interface)时所需的中断处理程序(Interrupt handler)。
设计驱动程序的主要目的在于操作抽象化,任何硬件模块,既使是同一类的设备,在硬件设计面上也有巨大差异。厂商推出的较新模块通常更可靠更有效率,控制方法也会有所不同。电脑与其OS每每不能预期那些现有与新设备的变异之处,因此无法知道其操作方法。为解决此问题OS通常会主动制订每种设备该有的操作方式,而驱动程序功能则是将那些OS制订的行为描述,转译为可让设备了解的自定义操作手法。
理论上适合的驱动程序一旦安装,相对应的新设备就可以无误地运行。此新驱动程序可以让此设备完美地切合在OS中,让用户察觉不到这是OS原本没有的功能。
Ⅵ 怎样配置一个FTP的网站服务器
Windows2003用IIS配置FTP服务器教程:
用IIS建立FTP服务器不是非常复杂,操作起来比较简单,类似于用IIS建立网站,其中涉及的虚拟目录等概念和网站中的虚拟目录一致。
第一步:通过任务栏的“开始->所有程序->管理工具”,再其下找到Internet信息服务(IIS)管理器,打开管理器后会发现在最下方有一个“FTP站点”的选项,我们就是通过它来建立FTP服务器。
第二步:默认情况下FTP站点有一个默认FTP站点,只要把资源放到系统目录下的inetpub目录中的FTPROOT文件夹即可。如系统在F盘,只要将分享的资源放到f:inetpubftproot目录中就可以了,用户登录默认FTP站点时将会看到放到该目录中的资源。
第三步:如不想使用默认设置和默认路径的话可以进行修改,方法是在“默认FTP站点”上点鼠标右键选择“新建->FTP站点”。
第四步:在启动的FTP站点创建向导中可以自定义FTP服务器的相关设置,点“下一步”后继续。
第五步:为FTP站点起一个名,这里设置为boaer.com的FTP。
第六步:为此FTP站点设置一个可用的IP地址,还可以选择“全部未分配”,这样系统将会使用所有有效的IP地址做为FTP服务器的地址。同时FTP服务器对外开放服务的端口是多少也是在此进行设置的,默认情况下为21。
第七步:接下来是FTP用户隔离设置,选择不隔离用户,用户可以访问其他用户的FTP主目录,选择隔离用户则用户之间是无法互相访问目录资源的,另外AD隔离用户主要用于公司网络使用AD的情况。对于大多数情况来说,公司是没有AD的,而且为了安全起见需要隔离用户,因此我们选择第二项“隔离用户”。
第八步:选择FTP站点的主目录,可以进行修改,默认为系统目录下的inetpub目录中的FTPROOT文件夹。通过右边的“浏览”按钮设置为其他目录,例如“D:oaer”。
第九步:设置用户访问权限,只有两种权限提供给我们进行设置,依次为“读取”和“写入”,我们根据实际进行设定即可。
第十步:FTP站点的全部设置工作完成。到internet信息服务(IIS)管理器中在FTP站点下的“boaer的FTP”上点鼠标右键选择启动即可开启该FTP。
Ⅶ 漏洞扫描设备检测出服务存在漏洞:可通过HTTPS获取远端WWW服务版信息,如何解决
方法有两种比如:
第一种:IIS中关闭目录浏览功能:在IIS的网站属性中,勾去“目录浏览”选项,重启IIS;
第二种:Apache中关闭目录浏览功能:
打开Apache配置文件httpd.conf。查找 “Options Indexes FollowSymLinks”,修改为“ Options -Indexes”(减号表示取消),保存退出,重启Apache。
Ⅷ 什么是匿名FTP服务器
一般的ftp服务器是根据用户名和密码来登录的,不同的账号有不同的权限(有的可以上传,有的只能下载)但都需要通过登录才能使用。
匿名ftp服务器指的是不许通过登录就能使用的ftp服务器。这种服务器一般只提供下载服务。
Ⅸ 问答搜索系统的发展历史
搜索引擎的起源:
所有搜索引擎的祖先,是1990年由Montreal的McGill University三名学生(Alan Emtage、Peter Deutsch、Bill Wheelan)发明的Archie(Archie FAQ)。Alan Emtage等想到了开发一个可以用文件名查找文件的系统,于是便有了Archie。Archie是第一个自动索引互联网上匿名FTP网站文件的程序,但它还不是真正的搜索引擎。Archie是一个可搜索的FTP文件名列表,用户必须输入精确的文件名搜索,然后Archie会告诉用户哪一个FTP地址可以下载该文件。 由于Archie深受欢迎,受其启发,Nevada System Computing Services大学于1993年开猛配发了一个Gopher(Gopher FAQ)搜索工具Veronica(Veronica FAQ)。Jughead是后来另一个Gopher搜索工具。
编辑本段搜索引擎的发展:
发 展(1):
世界上第一个Spider程序,是MIT Matthew Gray的World wide Web Wanderer,用于追踪互联网发展规模。刚开始它只用来统计互联网上的服务器数量,后来则发展为也能够捕获网址(URL) 。 搜索引擎一般由以下三部分组成: 爬行器(机器人、蜘蛛) 索引生成器 查询检索器
发 展(2):
Excite 的历史可以上溯到1993年2月,6个Stanford University(斯坦福大学)大学生的想法是分析字词关系,以对互联网上的大量信息作更有效的检索。到1993年中,这已是一个完全投资项目,他们还发布了一个供webmasters在自己网站上使用的搜索软件版本,后来被叫做Excite for Web Servers。 注:Excite后来曾以概念搜索闻名,2002年5月,被Infospace收购的Excite停止自己的搜索引擎,改用元搜索引擎 Dogpile
发 展(3):
1994年4月,斯坦福大学的两名博士生,美籍华人杨致远和David Filo共同创办了Yahoo!。随着访问量和收录链接数的增长,Yahoo目录开始支持简单的数据库搜索。因为Yahoo!的数据是手工输入的,所以不能真正被归为搜索引擎,事实上只是一个可搜索的目录。Yahoo!中收录的网站,因为都附有简介信息,所以搜索效率明显提高。 注:Yahoo以后陆续有 Altavista、Inktomi、Google提供搜索引擎服务 Yahoo!--几乎成为20世纪90年代的因特枝拿指敏庆网的代名词。
发 展(4):
1995年,一种新的搜索引擎形式出现了——元搜索引擎(Meta Search Engine)。用户只需提交一次搜索请求,由元搜索引擎负责转换处理后提交给多个预先选定的独立搜索引擎,并将从各独立搜索引擎返回的所有查询结果,集中起来处理后再返回给用户。 第一个元搜索引擎,是Washington大学硕士生 Eric Selberg 和 Oren Etzioni 的 Metacrawler。元搜索引擎概念上非常好听,但搜索效果始终不理想,所以没有哪个元搜索引擎有过强势地位。
发 展(5):
智能检索的产生:它利用分词词典、同义词典,同音词典改善检索效果,进一步还可在知识层面或者说概念层面上辅助查询,通过主题词典、上下位词典、相关同级词典检索处理形成一个知识体系或概念网络,给予用户智能知识提示,最终帮助用户获得最佳的检索效果。 例: (1)查询“计算机”,与“电脑”相关的信息也能检索出来; (2)可以进一步缩小查询范围至“微机”、“服务器”或扩大查询至“信息技术”或查询相关的“电子技术”、“软件”、“计算机应用”等范畴; (3)还包括歧义信息和检索处理,如“苹果”,究竟是指水果还是电脑品牌,“华人”与“中华人民共和国”的区分,将通过歧义知识描述库、全文索引、用户检索上下文分析以及用户相关性反馈等技术结合处理,高效、准确地反馈给用户最需要的信息。
发 展(6):
个性化趋势是搜索引擎的一个未来发展的重要特征和必然趋势之一。一种方式通过搜索引擎的社区化产品(即对注册用户提供服务)的方式来组织个人信息,然后在搜索引擎基础信息库的检索中引入个人因素进行分析,获得针对个人不同的搜索结果。自2004年10月yahoo推出myweb测试版,到11月a9推出个性化功能,到2005年Googlesearchhistory基本上都沿着一条路子走,分析特定用户的搜索需求限定的范围,然后按照用户需求范围扩展到互联网上其他的同类网站给出最相关的结果。另外一种是针对大众化的,Google个性化搜索引擎,或者yahooMindSet,或者我们都知道的前台聚类的vivisimo。但是无论其中的哪一种实现方式,即Google的主动选择搜索范围,还是yahoo,vivisimo的在结果中重新组织自己需要的信息,都是一种实验或者创想,短期内无法成为主流的搜索引擎应用产品。
发 展(7):
网格技术(great global grid):由于没有统一的信息组织标准对网络信息资源进行加工处理,难以对无序的网络信息资源进行检索、交接和共享乃至深层次的开发利用,形成信息孤岛。网格技术就是要消除信息孤岛实现互联网上所有资源的全面连通。 美国全球信息网格(Global Information Grid) Robot(机器人)一词对编程者有特殊的意义。Computer Robot是指某个能以人类无法达到的速度不断重复执行某项任务的自动程序。由于专门用于检索信息的Robot程序像蜘蛛(spider)一样在网络间爬来爬去,因此,搜索引擎的Robot程序被称为spider程序。 1993年Matthew Gray开发了 World Wide Web Wanderer,这是第一个利用HTML网页之间的链接关系来检测万维网规模的“机器人(Robot)”程序。开始,它仅仅用来统计互联网上的服务器数量,后来也能够捕获网址(URL)。 1994年4月,斯坦福大学(Stanford University)的两名博士生,美籍华人Jerry Yang(杨致远)和David Filo共同创办了Yahoo。随着访问量和收录链接数的增长,Yahoo目录开始支持简单的数据库搜索。因为Yahoo!的数据是手工输入的,所以不能真正被归为搜索引擎,事实上只是一个可搜索的目录。雅虎于2002年12月23日收购inktomi,2003年7月14日收购包括Fast和Altavista在内的Overture,2003年11月,Yahoo全资收购3721公司。 1994年初,华盛顿大学(University of Washington )的学生Brian Pinkerton开始了他的小项目WebCrawler。1994年4月20日,WebCrawler正式亮相时仅包含来自6000个服务器的内容。WebCrawler是互联网上第一个支持搜索文件全部文字的全文搜索引擎,在它之前,用户只能通过URL和摘要搜索,摘要一般来自人工评论或程序自动取正文的前100个字。 1994年7月,卡内基·梅隆大学(Carnegie Mellon University) 的Michael Mauldin将John Leavitt的spider程序接入到其索引程序中,创建了Lycos。除了相关性排序外,Lycos还提供了前缀匹配和字符相近限制,Lycos第一个在搜索结果中使用了网页自动摘要,而最大的优势还是它远胜过其它搜索引擎的数据量。 1994年底,Infoseek正式亮相。其友善的界面,大量的附加功能,使之和Lycos一样成为搜索引擎的重要代表。 1995年,一种新的搜索引擎形式出现了——元搜索引擎(A Meta Search Engine Rounp)。用户只需提交一次搜索请求,由元搜索引擎负责转换处理,提交给多个预先选定的独立搜索引擎,并将从各独立搜索引擎返回的所有查询结果,集中起来处理后再返回给用户。第一个元搜索引擎,是Washington大学硕士生 Eric Selberg 和 Oren Etzioni 的 Metacrawler。 1995年12月,DEC的正式发布AltaVista。AltaVista是第一个支持自然语言搜索的搜索引擎,第一个实现高级搜索语法的搜索引擎(如AND、 OR、 NOT等)。用户可以用AltaVista搜索新闻组(Newsgroups)的内容并从互联网上获得文章,还可以搜索图片名称中的文字、搜索Titles、搜索Java applets、搜索ActiveX objects。AltaVista也声称是第一个支持用户自己向网页索引库提交或删除URL的搜索引擎,并能在24小时内上线。AltaVista最有趣的新功能之一,是搜索有链接指向某个URL的所有网站。在面向用户的界面上,AltaVista也作了大量革新。它在搜索框区域下放了“tips”以帮助用户更好的表达搜索式,这些小tip经常更新,这样,在搜索过几次以后,用户会看到很多他们可能从来不知道的的有趣功能。这系列功能,逐渐被其它搜索引擎广泛采用。1997年,AltaVista发布了一个图形演示系统LiveTopics,帮助用户从成千上万的搜索结果中找到想要的。 1995年9月26日,加州伯克利分校助教Eric Brewer、博士生Paul Gauthier创立了Inktomi,1996年5月20日,Inktomi公司成立,强大的HotBot出现在世人面前。声称每天能抓取索引1千万页以上,所以有远超过其它搜索引擎的新内容。HotBot也大量运用cookie储存用户的个人搜索喜好设置。 1997年8月,Northernlight搜索引擎正式现身。它曾是拥有最大数据库的搜索引擎之一,它没有Stop Words,它有出色的Current News、7100多出版物组成的Special Collection、良好的高级搜索语法,第一个支持对搜索结果进行简单的自动分类。 1998年10月之前,Google只是斯坦福大学(Stanford University)的一个小项目BackRub。1995年博士生Larry Page开始学习搜索引擎设计,于1997年9月15日注册了域名,1997年底,在Sergey Brin和Scott Hassan、Alan Steremberg的共同参与下,BachRub开始提供Demo。1999年2月,Google完成了从Alpha版到Beta版的蜕变。Google公司则把1998年9月27日认作自己的生日。Google以网页级别(Pagerank)为基础,判断网页的重要性,使得搜索结果的相关性大大增强。Google公司的奇客(Geek)文化氛围、不作恶(Don’t be evil)的理念,为Google赢得了极高的口碑和品牌美誉。2006年4月,Google宣布其中文名称“谷歌”,这是Google第一个在非英语国家起的名字。 Fast(Alltheweb)公司创立于1997年,是挪威科技大学(NTNU)学术研究的副产品。1999年5月,发布了自己的搜索引擎AllTheWeb。Fast创立的目标是做世界上最大和最快的搜索引擎,几年来庶几近之。Fast(Alltheweb)的网页搜索可利用ODP自动分类,支持Flash和pdf搜索,支持多语言搜索,还提供新闻搜索、图像搜索、视频、MP3、和FTP搜索,拥有极其强大的高级搜索功能。(2003年2月25日,Fast的互联网搜索部门被Overture收购)。 1996年8月,sohu公司成立,制作中文网站分类目录,曾有“出门找地图,上网找搜狐”的美誉。随着互联网网站的急剧增加,这种人工编辑的分类目录已经不适应。sohu于2004年8月独立域名的搜索网站“搜狗”,自称“第三代搜索引擎”。 Openfind 创立于1998年1月,其技术源自台湾中正大学吴升教授所领导的GAIS实验室。Openfind起先只做中文搜索引擎,鼎盛时期同时为三大着名门户新浪、奇摩、雅虎提供中文搜索引擎,但2000年后市场逐渐被Bai和Google瓜分。2002年6月,Openfind重新发布基于GAIS30 Project的Openfind搜索引擎Beta版,推出多元排序(PolyRankTM),宣布累计抓取网页35亿,开始进入英文搜索领域。 2000年1月,两位北大校友,超链分析专利发明人、前Infoseek资深工程师李彦宏与好友徐勇(加州伯克利分校博士后)在北京中关村创立了网络(Bai)公司。2001年8月发布网络搜索引擎Beta版(此前Bai只为其它门户网站搜狐新浪Tom等提供搜索引擎),2001年10月22日正式发布Bai搜索引擎,专注于中文搜索。Bai搜索引擎的其它特色包括:网络快照、网页预览/预览全部网页、相关搜索词、错别字纠正提示、mp3搜索、Flash搜索。2002年3月闪电计划(Blitzen Project)开始后,技术升级明显加快。后推出贴吧、知道、地图、国学、网络、文档、视频、博客等一系列产品,深受网民欢迎。2005年8月5日在纳斯达克上市,发行价为USD 27.00,代号为BIDU。开盘价USD 66.00,以USD 122.54收盘,涨幅353.85%,创下了5年以来美国股市上市新股当日涨幅最高纪录。 2003年12月23日,原慧聪搜索正式独立运做,成立了中国搜索。2004年2月,中国搜索发布桌面搜索引擎网络猪1.0,2006年3月中搜将网络猪更名为IG(Internet Gateway) 。 2005年6月,新浪正式推出自主研发的搜索引擎“爱问”。2007年起,新浪爱问使用google搜索引擎。 2007年7月1日 全面采用网易自主研发的有道搜索技术,并且合并了原来的综合搜索和网页搜索。有道网页搜索、图片搜索和博客搜索为网易搜索提供服务。其中网页搜索使用了其自主研发的自然语言处理、分布式存储及计算技术;图片搜索首创根据拍摄相机品牌、型号,甚至季节等高级搜索功能;博客搜索相比同类产品具有抓取全面、更新及时的优势,提供“文章预览”,“博客档案”等创新功能。