Archive for 2006年9月13日


  学习操作系统时我们都了解到文件系统是操作系统的重要组成部分之一。文件系统有很多种类型,比windows的fat、fat32;Linux的ext、ext2或ext3;FreeBSD的ufs等等。在使用Linux的过程,也常常Linux操作系统使用虚拟文件系统VFS,通过VFS可以直接存取其它已被内核支持的各种文件系统,用起来就像是在普通的Linux的ext系列文件系统一样。早期的Linux内置支持的文件系统不多,自 kernel 2.0.x 起并支持到 VFAT ,以后逐渐增加,到目前可以说决大多数的文件系统都有了支持。只是有一些如NTFS需要重新编译内核才能支持。

  Linux在启动过程中,会按照/etc/fstab中的设置,把各个分区上的文件系统加挂到对应到加载点上去。Linux至少需要两个分区才能启动:一个是根分区/,另一个是交换分区,如果在启动时根分区加载失败,Linux就不能完成启动。如果交换分区加载失败,Linux就不能仍能启动,在内存不够的情况下速度就会受很大的影响。根分区的文件系统类型通常是ext、ext2或ext3,但也可以是其它的一些文件系统。

  除了加载了Linux所必需的文件系统外,Linux的用户还经常需要使用其它的各种文件系统,特别是在一台机器上同时安装多个操作系统的时候。比如笔者的机器上同时安装了Linux和Windows2000,其中Windows的C盘采用了NTFS文件系统、D盘采用了FAT32文件系统。而当我在Linux上工作的时候,常常需要访问Windows的C盘和D盘的内容,甚至是网络上的共享目录,Linux下加挂一个文件系统使用的是mount命令,用man mount命令可以得到命令参数的详细解释。下面就来介绍一下在几种情况下以命令行方式加挂文件系统的具体方法:

  1.加挂FAT32文件系统

  最简单的用法
  mount /dev/hda6 /mnt/d

  /dev/hda6是笔者Windows的D盘,/mnt/d是目录加挂点。Linux会识别到/dev/hda6分区的文件系统类型是什么,然后加挂的。当然也可以指定分区的文件系统类型,命令如下:

  mount -t vfat /dev/hda6 /mnt/d

  在实际中操作中,直接加挂一个windows的分区,中文的文件名和目录名会出现乱码,为了避免这种情况可以指定字符集,命令如下:

  mount  /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
  mount -t vfat /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936

  注意:cp936是指简体中文,cp950是指繁体中文。

  2.加挂NTFS文件系统

  在目前多数的Linux版本上,需要重编译Linux核心才能,加挂NTFS分区(编译方法请参阅其它文章)。核心支持NTFS后,可以用以下命令加挂:

  mount -t ntfs /dev/hda2 /mnt/c

  同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,不过和加挂vfat分区不同,实际中用以下命令是可行的:

  mount -t ntfs -o iocharset=cp936 /dev/hda2 /mnt/c -r
  mount -t ntfs -o iocharset=cp936,rw /dev/hda2 /mnt/c 

  3.加挂U盘上的文件系统

  现在使用U盘的人越来越多了,其实在Linux下使用U盘也非常简单,Linux对USB设备有很好的支持,在你插入U盘后,U盘被识别为一个SCSI盘,通常您用以下命令就能加挂U盘上的文件系统
mount /dev/sda1 /usb

  同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,命令类似于上面对FAT32介绍的:
mount /dev/sda1 /usb -o pagecode=936,iocharset=cp936

  4.加挂Linux系统通过samba共享出来的目录

  利用samba共享出来的目录其实很难说其原来是哪种文件系统,不过这一点不重要,只要它对用户是透明的就好啦。加挂时,我们指定类型为smbfs,在加挂samba共享的分区时,也会出现中文的文件名和目录名乱码情况,可以用以下命令加挂:

  mount -t smbfs -o 
  username=terry,password=terry,codepage=936,iocharset=cp936
  //terry-linux/terry  /mp3/
  mount -t smbfs -o 
  username=terry,password=terry,codepage=936,iocharset=cp936
  //192.168.100.228/terry  /mp3/

  注意:你可以不直接写password=terry这个参数,系统界时会要你输入密码,这样就可以防止有人直接看到你的密码。视具体情况而定,-o后面的参数可以对应增减。

  如果在加载网络中文资源出现乱码 试试更改iocharset 和 codepage 的设置如下:

  mount -t smbfs -o username=terry,password=terry,codepage=gb2312,iocharset=utf8, 
  //192.168.100.228/terry /mp3/

  5.加挂Window系统共享出来的目录

  在局域网中,常常需要去访问其它Windows系统共享出来的目录,在Linux下,安装了samba后就可以使用samba中带的命令来访问Windows机器的共享资源。

  用smbclient来列出Windows机器的共享资源   
 
  smbclient  -L 192.168.100.111

  根据上面所列出Windows的共享资源后,可以选择需要加挂到本地Linux中去的Windows的共享资源,然后使用smbmount或mount来加挂,请参照下面几条命令:

  smbmount  //192.168.100.111/public /public/
  mount //192.168.100.111/d /mnt/cdrom -o username=terry (这样要在命令行输入密码的)
  mount //192.168.100.111/d /mnt/cdrom -o username=terry$1234 (这样则不必在命令行输入密码)
  
  注:除了上面介绍的命令行方法之外,这时最好的方法就是使用其它的客户端,如LinNeighborhood、networkneighbours、ksmbshare等,请参考其它文章。

  以上介绍的都是命令行的方式,每次使用时都要输入一次,如果你常常要加挂一些文件系统,想在启动时自动加挂应该怎样做呢?下面介绍两种方法:

  方法1.
  把加挂的命令放在/etc/rc.d/rc.local中。

  方法2.
  修改分区配置文件/etc/fstab,在启动时加挂文件系统,下面是我的/etc/fstab文件:
  LABEL=/    /      ext3    defaults         1 1
  none      /dev/pts   devpts   gid=5,mode=620   0 0
  LABEL=/home  /home    ext3    defaults         1 2
  none      /proc    proc    defaults         0 0
  none      /dev/shm   tmpfs    defaults         0 0
  /dev/hda4   swap     swap    defaults         0 0
  /dev/cdrom   /mnt/cdrom   iso9660   noauto,owner,kudzu,ro 0 0
  /dev/hda2   /ntfs     ntfs    defaults,iocharset=cp936  0 0
  /dev/hda6   /win     vfat    defaults,codepage=936,iocharset=  cp936  0 0
  //192.168.100.228/terry /mp3    smbfs  username=terry,password=terry,codepage=cp936,iocharset=cp936 0 0

  请注意最后三行:

  倒数第四行,加挂我的C盘,NTFS格式的
  倒数第三行,加挂我的D盘,FAT32格式的
  倒数第二行,加挂的是我的局域网中另一台安装samba的Linux文件服务器上的一个目录。

  a.安装IIS

  若操作系统中还未安装IIS服务器,可打开“控制面板”,然后单击启动 “添加/删除程序”, 在弹出的对话框中选择 “添加/删除Windows组件”,在Windows组件向导对话框中选中“Internet信息服务(IIS)”,然后单击“下一步”,按向导指示,完成对IIS的安装。(图例如下图1、图2 由于白茶123使用的是Windows Server 2003操作系统所以和大家的安装界面有所出入,但大体相同)

  此主题相关图片如下:

图1:Windows组件安装向导

  此主题相关图片如下:

图2:应用服务器安装向导

  b.启动Internet信息服务(IIS)

  Internet信息服务简称为IIS,单击Windows开始菜单—所有程序—管理工具—Internet信息服务(IIS)管理器,即可启动“Internet信息服务”管理工具(如图3)

  此主题相关图片如下:

图3:“Internet信息服务”管理工具

  c.配置IIS

  IIS安装后,系统自动创建了一个默认的Web站点,该站点的主目录默认为C:Inetpubwww.root。

  用鼠标右键单击“默认Web站点”,在弹出的快捷菜单中选择“属性”,此时就可以打开站点属性设置对话框,(如图4)在该对话框中,可完成对站点的全部配置。

  此主题相关图片如下:

图4:配置默认Web站点

  主目录与启用父路径

  单击“主目录”标签,切换到主目录设置页面,(如图5)该页面可实现对主目录的更改或设置。注意检查启用父路径选项是否勾选,如未勾选将对以后的程序运行有部分影响。(如图6),主目录—配置—选项。

  此主题相关图片如下:

图5:配置主目录

  此主题相关图片如下:

图6:应用程序配置

  设置主页文档

  单击“文档”标签,可切换到对主页文档的设置页面,主页文档是在浏览器中键入网站域名,而未制定所要访问的网页文件时,系统默认访问的页面文件。常见的主页文件名有index.htm、index.html、index.asp、index.php、index.jap、default.htm、default.html、default.asp等

  IIS默认的主页文档只有default.htm和default.asp,根据需要,利用“添加”和“删除”按钮,可为站点设置所能解析的主页文档。

  启动与停止IIS服务

  在Internet信息服务的工具栏中提供有启动与停止服务的功能。单击 可启动IIS服务器;单击 则停止IIS服务器。

  FlashGet可是说是一款绿色软件,但有时会出现在IE中点击鼠标右键,选择弹出菜单中的“使用网际快车下载”和“使用网际快车下载全部链接”没有反应的状况,该怎么解决?

  首先到FlashGet安装目录下(例如D:TOOLsFlashGet),检查jc_link.htm和jc_all.htm以及jccatch.dll文件是否存在,如果不存在建议从其他机器中拷贝过来;

  如果这几个文件存在,请单击“开始”菜单中的“运行”输入cmd回车,然后输入cd D:TOOLsFlashGet回车,再输入regsvr32 jccatch.dll回车,重新注册Jccatch.dll这个动态连接库。最后输入regsvr32 fgiebar.dll回车,重新注册这些DLL文件就可以解决问题。   

  如果还不行,那说明FlashGet在注册表中的键值出了点问题。运行Regedit回车,打开注册表编辑器,找到HKEY_CURRENT _USERSoftwareMicrosoftInternetExplorerMenuExt使用网际快车下载,检查右边窗口中的“默认”的键值是否为D:TOOLsFlashGetjc_link.htm。

  在HKEY _CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt使用网际快车下载全部链接中,检查右边窗口中的“默认”的键值是否为D:TOOLsFlashGetjc_all.htm(jc_all.htm是使用FlashGet下载全部链接的接口),如果你的键值不是这些请改正过来。完成后,重新启动计算机,就一切OK了。

  再次,按照上面的两种方法操作后问题还没有解决,再看一下你的FlashGet安装目录名,FlashGet不能安装在中文目录下,否则监视功就不能用了,建议重新安装在默认目录下就可以解决这个问题。

  最后,如果FlashGet设置出错也会导致在浏览器中FlashGet右键菜单失灵。运行FlashGet,单击“工具”菜单下的“选项”,在出现的窗口中选择“监视”,在“监视”标签下把“浏览器”中的“Netscape Navigator”和“Internet Explorer”都勾选上,就可以解决这个棘手的问题。

为了实现Linux环境下的FTP服务器配置,绝大多数的Linux发行套装中都选用的是Washington University FTP(Wu-Ftpd),这是一个性能优秀的服务器软件,由于它具有众多强大功能和超大的吞吐量,Internet上的FTP服务器有60%以上采用了它。

  安装与运行

  以下我们以RedHat Linux为例为大家介绍。

  1、安装

  根据服务对象的不同,FTP服务可以分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,它允许任何人登录到FTP服务器,和服务器连接后,在登录提示中输入Anonymous,即可访问服务器。针对这两种服务,可以通过RedHat的第一张光盘安装Wu-Ftpd的RPM包,只需以Root身份进入系统并运行下面的命令即可:

  Rpm – ivh anonftp -x.x-x.i386.rpm

  Rpm – ivh wu-ftpd-x.x.x-x.i386.rpm

  其中-x.x-x和-x.x.x-x是版本号。

  2、启动

  和Apache一样,Wu-Ftpd也可以配置为自动启动:执行RedHat附带的Setup程序,在“System Service”选项中选中Wu-Ftpd,按下[OK]按钮确定退出即可。

  自动启动固然方便,但是,当我们更改了Wu-Ftpd配置文件,需要用到手工启动:

  启动:/usr/sbin/ftprestart

  关闭:/usr/sbin/ftpshut

FTP服务器的配置

  为了确保FTP服务器安全,必须设置一些重要的配置文件,以更好地控制用户的访问权限。这些配置文件是:/etc/ftpusers、/etc/ftpconversions、/etc/ftp-groups、/etc/ftpphosts、/etc/ftpaccess。利用这些文件,能够非常精确地控制哪些人、在什么时间、从什么地点可以连接服务器,并且可以对他们连接后所做的工作进行检查跟踪。

  /etc/ftpusers:该文件夹中包含的用户不能通过FTP登录服务器,有时将需要禁止的用户账号写入文件/etc/ftpuser中,这样就可以禁止一些用户使用FTP服务。

  /etc/ftpconversions:用来配置压缩/解压缩程序。

  /etc/ftpgroups:创建用户组,这个组中的成员预先定义可以访问FTP服务器。

  /etc/ftpphosts:用来根据禁止或允许远程主机对特定账户的访问,例如:

  allow czc 192.168.0.0/24

  deny cdd 10.0.0.0/8

  表示允许czc用户从192.168.0这个网段连线访问,拒绝cdd从10.这个网段连线访问。

  /etc/ftpaccess:是非常重要的一个配置文件,用来控制存取权限,文件中的每一行定义一个属性,并对属性的值进行设置。下面对它的一些常用配置做一点介绍:

  1、定义用户类别

  格式:class [类名] [real/guest/anonymous][IP地址]

  功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许特定或者全部的IP地址访问FTP服务器。

  2、登录重试次数

  在命令行中输入:loginfails 10,这表明如果10次还没有登录成功就切断连线。

  3、密码检查

  格式:passwd-check 〈strictness〉 warn

  是对匿名用户的密码使用方式的检查,其中〈strictness〉是三个可能的字符串之一:None、Trivial、RFC822。若选None,表示将不对口令做任何检查;若选Trivial,表示对口令有一定的要求,它需要在口令中至少要有一个@符号;若选RFC822,则表示最严格,要求E-mail地址必须遵守RFC822报文标题标准(如:[email protected] )。

  例如:passwd-check rfc822 warn,表明密码的要求很严格,当密码不符合规定时出现警告信息。

  4、登录人数的限制

  格式:limit [类别] [人数] [时间] [文件名]

  设置指定类别在约定时间内可以登录FTP的人数。例如:limit remote Any/etc/many.msg,说明类别Remote类别在任何时间内登录人数不超过20个人,否则会显示Many.msg警告信息。

  合理运用这些配置,可以有效地保护好我们的服务器。

  验证

  安装、配置好FTP服务器后,就可以进行验证,用图形工具和命令行均可访问FTP服务器。在Linux里最常用的命令为FTP,它提供了一个并不复杂的FTP服务器接口。与FTP服务器连接,只需要在命令提示符后输入:FTP Servername,用主机名或希望连接的FTP服务器的IP地址代替Servername,按照提示输入用户名和口令,然后用标准的Linux上移或下移FTP服务器目录结构。另外,也可以采用图形化FTP程序,包括窗口式gFTP,可以借助Web浏览器去访问FTP服务器。

一、色彩的基础知识

色彩五颜六色、千变万化,我们平时所看到的白色光,经过分析在色带上可以看到,它事实上包括红、橙、黄、绿、青、蓝、紫等七色,各颜色间自然过渡。其中,红、黄、蓝是三原色,三原色通过不同比例的混合可以得到各种颜色。色彩有冷暖色之分,冷色(如蓝色)给人的感觉是安静、冰冷;而暖色(如红色)给人的感觉是热烈、火热。冷暖色的巧妙运用可以让网站产生意想不到的效果。

色彩与人的心理感觉和情绪也有一定的关系,利用这一点可以在设计网页时形成自己独特的色彩效果,给浏览者留下深刻的印象。一般情况下,各种色彩给人的感觉是:

红色代表热情、活泼、热闹、温暖、幸福、吉祥

橙色代表光明、华丽、兴奋、甜蜜、快乐

黄色代表明朗、愉快、高贵、希望

绿色代表新鲜、平静、和平、柔和、安逸、青春

蓝色代表深远、永恒、沉静、理智、诚实、寒冷

紫色代表优雅、高贵、魅力、自傲

白色代表纯洁、纯真、朴素、神圣、明快

灰色代表忧郁、消极、谦虚、平凡、沉默、中庸、寂寞

黑色代表崇高、坚实、严肃、刚健、粗莽

二、色彩搭配的原则

色彩搭配既是一项技术性工作,同时它也是一项艺术性很强的工作,因此,设计者在设计网页时除了考虑网站本身的特点外,还要遵循一定的艺术规律,从而设计出色彩鲜明、性格独特的网站。

1.特色鲜明

一个网站的用色必须要有自己独特的风格,这样才能显得个性鲜明,给浏览者留下深刻的印象。

2.搭配合理

网页设计虽然属于平面设计的范畴,但它又与其它平面设计不同,它在遵从艺术规律的同时,还考虑人的生理特点,色彩搭配一定要合理,给人一种和谐、愉快的感觉,避免采用纯度很高的单一色彩,这样容易造成视觉疲劳。

3.讲究艺术性

网站设计也是一种艺术活动,因此它必须遵循艺术规律,在考虑到网站本身特点的同时,按照内容决定形式的原则,大胆进行艺术创新,设计出既符合网站要求,又有一定艺术特色的网站。

三、色彩搭配要注意的问题

1.使用单色

尽管网站设计要避免采用单一色彩,以免产生单调的感觉,但通过调整色彩的饱和度和透明度也可以产生变化,使网站避免单调。

2.使用邻近色

所谓邻近色,就是在色带上相邻近的颜色,例如绿色和蓝色,红色和黄色就互为邻近色。采用邻近色设计网页可以使网页避免色彩杂乱,易于达到页面的和谐统一。

3.使用对比色

对比色可以突出重点,产生了强烈的视觉效果,通过合理使用对比色能够使网站特色鲜明、重点突出。在设计时一般以一种颜色为主色调,对比色作为点缀,可以起到画龙点睛的作用。

4.黑色的使用

黑色是一种特殊的颜色,如果使用恰当,设计合理,往往产生很强烈的艺术效果,黑色一般用来作背景色,与其它纯度色彩搭配使用。

5.背景色的使用

背景色一般采用素淡清雅的色彩,避免采用花纹复杂的图片和纯度很高的色彩作为背景色,同时背景色要与文字的色彩对比强烈一些。

6.色彩的数量

一般初学者在设计网页时往往使用多种颜色,使网页变得很“花”,缺乏统一和协调,表面上看起来很花哨,但缺乏内在的美感。事实上,网站用色并不是越多越好,一般控制在三种色彩以内,通过调整色彩的各种属性来产生变化。

一、网页设计类

1。网站名称:有风的日子   网站地址:http://www.windstudio.net
   简介:  很不错的一个设计网站,我刚开始学习网页设计的时候就知道她了,她最有特色的内容就算是精品插件栏目了,里面包括有photoshop 滤镜、dreamweaver 插件、flash 相关,都是很实用的好东东。同时网站的符号字体栏目也挺有自己的特色。

2。网站名称:蓝色理想   网站地址:http://www.blueidea.com
  简介:    网页编辑方面的大哥大人物,网站关于网页制作方面的教程既全面又专业,而且各类教程的更新速度很快。她的经典论坛的人气也是相当的旺。同时该网站的一个很大的特点就是会时不时推出一些好书的介绍,这些都是不容易买到的。

3。网站名称:七色鸟设计   网站地址:http://www.colorbird.com
   简介:  七色鸟设计是一个致力于传播设计文化,研究视觉设计艺术、提高大众审美意识的非盈利性的艺术指导网站,里面的设计资源相当丰富而且有特色

4。网站名称:视觉中国   网站地址:http://www.chinavisual.com
   简介:  这个是我最爱的一个网站了,我第一次把网页制作和网页设计区分开来,就是通过看了这个网站上的很多文章得出来的,里面的很多知识以平面为主,以前她的服务器不怎么好,经常出现服务器负载过重的情况,但是现在已经好了。

5。网站名称:5d多媒体    网站地址:http://www.5dmedia.com
   简介:  5d的含义是指其探讨五个方面的内容:声音、图象、动画、多媒体交互、internet网开发。该网站是目前国内最大的多媒体技术站点,要想了解多媒体方面的信息还真的是要进去看看。

6。网站名称:设计联盟   网站地址:http://www.szdesign.org
   简介:  我非常喜欢她的作品栏目,可以看到很多人的创作,欣赏别人的创作的同时,自己也可以得到很多的启示

7。网站名称:点燃灵感   网站地址:http://www.fwcn.com
   简介:       这里是firework的天堂,教程,插件,资源,应有尽有

二、图象处理类

1。网站名称:中国photoshop联盟   网站地址:http://www.photoshopcn.com
   简介:     网页设计中的平面处理软件,ps是绝对的老大,中国photoshop联盟就是ps教学方面的老大 

2。网站名称:图象谷   网站地址:http://pstxg.com
   简介:     搞图象处理的好去处,她的资源下载栏目很出色

三、动画设计类

1。网站名称:闪客帝国 网站地址:http://www.flashempire.com
  简介:     我很早以前做的第一个个人网站就是仿照该网站做的,呵呵,我记得那个时候的帝国还不是现在这个样子。里面关于flash的教程都很经典。而且论坛里面是高手如云。 

2。网站名称:闪吧   网站地址:http://www.flash8.net
   简介:      我第一次知道这个网站是通过电脑爱好者介绍的,具体哪期忘记了,我记得有整整一个版面来介绍这个网站的故事,所以就跑来了,一看就喜欢上了,觉得里面的资料真是太丰富了,和帝国难分高下。

3。网站名称:数码动力国际   网站地址:http://www.showgood.com
   简介:    该网站已经不需要我们再说,她推出的flash实在是太棒了!

4。网站名称:闪盟在线    网站地址:http://www.flashsun.com
    简介:     网站的优秀以不需多说,我很喜欢她的竞技场栏目

四、网页素材类

1。网站名称:桌面城市   网站地址:http://www.deskcity.com
   简介:     一流的图象资料宝库

2。网站名称:素材精品屋    网站地址:http://www.sucaiw.com
  简介:       也是网页设计素材库,她和桌面城市主要在于一个偏全,一个偏精!

在网上无意中发现了一个叫做webadmin的asp.net-webshell,对自己的服务器进行测试的时候,让我大吃一惊,居然对我服务器的c盘有读取的权限

 

  说明:本文中所需环境为2003Server+iis6.0+ms sql2000

  曾经很早就在网上看到一篇关于<asp.net虚拟主机的重大隐患>的文章,当时并不在意,做过asp虚拟主机的朋友可能都知道,即对每一个用户都设置一个独立的服务器用户和单个目录的操作权限,能够基本上解决asp的fso问题。

  在网上无意中发现了一个叫做webadmin的asp.net-webshell,对自己的服务器进行测试的时候,让我大吃一惊,居然对我服务器的c盘有读取的权限。以及对整个硬盘的修改删除权限。这样的话,那么我的服务器的安全……

  为了进一步证实,本人曾在国内一些著名的虚拟主机提供商上作过测试,均有和我一样的问题。

  有必要先介绍一下漏洞的原因。

  ASP中常用的标准组件:FileSystemObject,这个组件为 ASP 提供了强大的文件系统访问能力,可以对服务器硬盘上的任何有权限的目录和文件进行读写、删除、改名等操作。FSO对象来自微软提供的脚本运行库scrrun.dll中。

  在ASP.NET中我们发现这一问题仍然存在,并且变得更加难以解决。这是因为.NET中关于系统IO操作的功能变得更加强大,而使这一问题更严重的是ASP.NET所具有的一项新功能,这就组件不需要象ASP那样必须要使用regsvr32来注册了,只需将Dll类库文件上传到bin目录下就可以直接使用了。这一功能确实给开发ASP.NET带来了很大的方便,但是却使我们在ASP中将此dll删除或者改名的解决方法失去效用了,防范此问题就变得更加复杂。需要进一步了解的朋友可以看<asp.net虚拟主机的重大隐患>一文,本文就不再重复。只针对此问题引出虚拟主机的安全设置。

  网上提出针对此问题用Microsoft .NET Framework Configration设置System.io的对目录读取的权限,经过我们长时间的测试没有成功,可能是.net framework1.1机制改革了?

  废话不说。先说说解决的思路:在 IIS 6 中,Web 应用程序的工作进程设置为以进程标识“Network Service”运行。在 IIS 5 中,进程外 Web 应用程序则设置为以 IWAM_<服务器名> 帐户运行,这个帐户是普通的本地用户帐户。

  Network Service 是 Windows Server 2003 中的内置帐户。了解 IIS 5 上的本地用户帐户(IUSR 和 IWAM)与这个内置帐户之间的区别是非常重要的。Windows 操作系统中的所有帐户都分配了一个 SID(安全标识,Security ID)。服务器是根据 SID,而不是与 SID 相关的名称来识别服务器上所有帐户的,而我们在与用户界面进行交互时,则是使用名称进行交互的。服务器上创建的绝大部分帐户都是本地帐户,都具有一个唯一的 SID,用于标识此帐户隶属于该服务器用户数据库的成员。由于 SID 只是相对于服务器是唯一的,因此它在任何其他系统上无效。所以,如果您为本地帐户分配了针对某文件或文件夹的NTFS权限,然后将该文件及其权限复制到另一台计算机上时,目标计算机上并没有针对这个迁移 SID 的用户帐户,即使其上有一个同名帐户也是如此。这使得包含 NTFS 权限的内容复制可能出现问题。

  内置帐户是由操作系统创建的、一类较为特别的帐户或组,例如 System 帐户、Network Service 和 Everyone 组。这些对象的重要特征之一就是,它们在所有系统上都拥有一个相同的、众所周知的 SID。当将分配了 NTFS 权限的文件复制到内置帐户时,权限在服务器之间是有效的,因为内置帐户的 SID 在所有服务器上都是相同的。Windows Server 2003 服务中的 Network Service 帐户是特别设计的,专用于为应用程序提供访问网络的足够权限,而且在 IIS 6 中,无需提升权限即可运行 Web 应用程序。这对于 IIS 安全性来说,是一个特大的消息,因为不存在缓冲溢出,怀有恶意的应用程序无法破译进程标识,或是对应用程序的攻击不能进入 System 用户环境。更为重要的一点是,再也不能形成针对 System 帐户的“后门”,例如,再也无法通过 InProcessIsapiApps 元数据库项利用加载到 Inetinfo 的应用程序。

  Network Service 帐户在创建时不仅仅考虑了在 IIS 6 中的应用。它还具有进程标识 W3WP.exe 的绝大部分(并不是全部)权限。如同 ASPNET 用户为了运行 ASP.net 应用程序,需要具有 IIS 5 服务器上某些位置的访问权限,进程标识 W3WP.exe 也需要具有类似位置的访问权限,而且还需要一些默认情况下没有指派给内置组的权限。

  为了管理的方便,在安装 IIS 6 时创建了 IIS_WPG 组(也称为 IIS 工作进程组,IIS Worker Process Group),而且它的成员包括 Local System(本地系统)、Local Service(本地服务)、Network Service(网络服务)和 IWAM 帐户。IIS_WPG 的成员具有适当的 NTFS 权限和必要的用户权限,可以充当 IIS 6 中工作进程的进程标识。

  因此,Network Service 帐户提供了访问上述位置的权限,具有充当 IIS 6 工作进程的进程标识的充足权限,以及具有访问网络的权限。

  Msdn上说:在 Windows Server 2003 中,用户上下文称为 NETWORK SERVICE。这些用户帐户是在 .NET Framework 安装过程中创建的,它具有唯一的不易破解的密码,并仅被授予有限的权限。ASPNET 或 NETWORK SERVICE 用户只能访问运行 Web 应用程序所需的特定文件夹,如 Web 应用程序存储已编译文件的 bin 目录。

  要将进程标识设置为特定用户名,以取代 ASPNET 或 NETWORK SERVICE 用户标识,您提供的用户名和密码都必须存储在 machine.config 文件中。

  但是根据实际情况,asp.net的system.io可以无限制访问不设防的服务器路径。不知道这算不算一个ms的重大漏洞。而且根本不能使iis以machine.config的用户执行asp.net程序。J

  如何解决呢?答案就是—应用程序池。

  IIS 6.0 在被称为应用程序隔离模式(隔离模式)的两种不同操作模式下运行,它们是:工作进程隔离模式和 IIS 5.0 隔离模式。这两种模式都要依赖于 HTTP.sys 作为超文本传输协议 (HTTP) 侦听程序;然而,它们内部的工作原理是截然不同的。

  工作进程隔离模式利用 IIS 6.0 的重新设计的体系结构并且使用工作进程的核心组件。IIS 5.0 隔离模式用于依赖 IIS 5.0 的特定功能和行为的应用程序。该隔离模式由 IIs5IsolationModeEnabled 配置数据库属性指定。

  您所选择的 IIS 应用程序隔离模式对性能、可靠性、安全性和功能可用性都会产生影响。工作进程隔离模式是 IIS 6.0 操作的推荐模式,因为它为应用程序提供了更可靠的平台。工作进程隔离模式也提供了更高级别的安全性,因为运行在工作进程中的应用程序的默认标识为 NetworkService。

  以 IIS 5.0 隔离模式运行的应用程序的默认标识为 LocalSystem,该标识允许访问并具有更改计算机上几乎所有资源的能力。

IIS 功能 IIS 5.0隔离模式宿主/组件 工作进程隔离模式宿主/组件
工作进程管理 N/A Svchost.exe/WWW 服务
工作进程 N/A W3wp.exe/工作进程
运行进程内ISAPI 扩展 Inetinfo.exe W3wp.exe
运行进程外ISAPI 扩展 DLLHost.exe N/A(所有的 ISAPI 扩展都在进程内)
运行ISAPI筛选器 Inetinfo.exe W3wp.exe
HTTP.sys 配置 Svchost.exe/WWW 服务 Svchost.exe/WWW 服务
HTTP 协议支持 Windows内核/HTTP.sys Windows 内核/HTTP.sys
IIS配置数据库 Inetinfo.exe Inetinfo.exe
FTP Inetinfo.exe Inetinfo.exe
NNTP Inetinfo.exe Inetinfo.exe
SMTP Inetinfo.exe Inetinfo.exe

 
  由此可见,我们只能使用工作进程隔离模式解决.net的安全问题。

  默认情况下,IIS 6.0在工作进程隔离模式下运行,如图五所示。在这种模式中,对于每一个Web应用,IIS 6.0都用一个独立的w3wp.exe的实例来运行它。w3wp.exe也称为工作进程(Worker Process),或W3Core。

  可靠性和安全性。可靠性的提高是因为一个Web应用的故障不会影响到其他Web应用,也不会影响http.sys,每一个Web应用由W3SVC单独地监视其健康状况。安全性的提高是由于应用程序不再象IIS 5.0和IIS 4.0的进程内应用那样用System帐户运行,默认情况下,w3wp.exe的所有实例都在一个权限有限的“网络服务”帐户下运行,如图六所示,必要时,还可以将工作进程配置成用其他用户帐户运行。

  对,这里,这里就是我们解决的核心。

  我们把每一个网站都分配一个独立的应用程序池,并赋予不同的权限。不就能解决这个问题了吗?

  具体如何做呢,下面我就针对建立一个网站来做一个示范:

  首先,我们为网站创建两个用户(一个是app_test_user、密码为appuser,一个是iis_test_user、密码为iisuser)

  1. 打开 计算机管理器

  2. 单击控制台树中的用户→计算机管理→系统工具→本地用户和组→用户

  3. 单击“操作”菜单上的“新用户”输入用户名为。app_test_user、密码为appuser

  4. 在对话框中键入适当的信息。

  5. 选中复选框:

   用户不能更改密码

   密码永不过期

  6. 单击“创建”,然后单击“关闭”。

  按照此方法在创建iis_test_user账户

  然后分别把app_test_user添加到iis_wpg组,把iis_test_user添加到Guests组。删除其他组。

  然后,建立相应的应用程序池。

  依次打开Internet 信息服务→本地计算机→应用程序池→新建→应用程序池

  新建一个名字为test的应用程序池

  编辑test应用程序池的属性→标示→配置→用户名→浏览→把用户名改为我们刚才建立的app_test_user并输入相应的密码

  其次建立相应的网站。

  依次打开Internet 信息服务→本地计算机→网站→新建→test的网站,目录为d:test →编辑test网站的属性→主目录→应用程序池→app_test_user →目录安全性→身份验证和访问控制→编辑,选择我们刚才建立的iis_test_user,并输入相应的密码iisuser→保存并退出。

  最后设定服务器的安全。

  C:只给administrators和system完全控制的权利,删除掉其他所有的权限,不替换子目录

  C:Documents and Settings继承父项,并替换子目录。

  C:Program Files继承父项,并替换子目录,并把C:Program FilesCommon FilesMicrosoft Shared继承属性删除并复制现有属性,增加users的读取权限并替换子目录(这样做是为了能够让asp,asp.net使用access等数据库)。

  C:windows删除继承,并复制现有属性,只给予administrators,system完全控制和users读取的权限并替换子目录。

  其余所有的盘都只给于administrators和system用户的完全控制权限,删除其他所有用户并替换子目录。

  D:test(用户网站目录)继承现有属性并增加app_test_user和iis_test_user完全控制的权限并替换子目录。

  以后每增加一个网站都以此类推。

  但是,至此,system.io还是对c:windows又读取权限的,(怀疑network servers用户属于users组,但是好多服务都要使用users组来执行的,所以不能把c:windwos去掉users组的读取权限)但必须知道系统路径,有两种方案解决。

  1、 再安装系统的时候使用无人值守安装,更换c:windows默认安装路径,如更改为c:testtest(要符合dos的命名规则,不能超过8个字符)。这个是必需的

  2、 以下位置具有指派给 IIS_WPG 的权限:

  %windir%helpiishelpcommon – 读取
  %windir%IIS Temporary Compressed Files – 列出、读取、写入
  %windir%system32inetsrvASP Compiled Template – 读取
  Inetpubwwwroot(或内容目录)- 读取、执行

  此外,IIS_WPG 还具有以下用户权限:

  忽略遍历检查(SeChangeNotifyPrivilege)

  作为批处理作业登录(SeBatchLogonRight)

  从网络访问此计算机(SeNetworkLogonRight)

  当然两种方法结合起来算是最安全的方案,一般使用第一种方案已经算是很安全的,毕竟是用一个webshell来猜测8位字符的目录还是需要花费时间的。使用防火墙很容易就能察觉出来,并加以控制。

  第二种可能根据所安装软件不同还要相应增加目录的读取权限,详细情况要根据软件来确定。

  如果主机用户比较多,这将是一个相当大的劳动量,推荐使用程序来解决问题,下面给出网上不常见的针对iis应用程序池操作的代码和针对iis虚拟目录的操作代码。

  操作iis应用程序池

using System;
using System.DirectoryServices;
using System.Reflection;

namespace ADSI1
{
 ///
 /// Small class containing methods to configure IIS.
 ///
 class ConfigIIS
 {
  ///
  /// The main entry point for the application.
  ///
  [STAThread]
  //主程序入口,可以选择用哪些,我为了方便,全部功能都写上去了。
  static void Main(string[] args)
  {
   string AppPoolName = "MyAppPool";
   string newvdir1 = "MyVDir";
   DirectoryEntry newvdir = CreateVDir(newvdir1);

   CreateAppPool(AppPoolName);
   AssignAppPool(newvdir, AppPoolName);

   ConfigAppPool("Stop",AppPoolName);
  }

  //创建虚拟目录
  static DirectoryEntry CreateVDir (string vdirname)
  {
   DirectoryEntry newvdir;
   DirectoryEntry root=new DirectoryEntry("IIS://localhost/W3SVC/1/Root");
   newvdir=root.Children.Add(vdirname, "IIsWebVirtualDir");
   newvdir.Properties["Path"][0]= "c:\inetpub\wwwroot";
   newvdir.Properties["AccessScript"][0] = true;
   newvdir.CommitChanges();
   return newvdir;
  }

  //创建新的应用程序池。
  static void CreateAppPool(string AppPoolName)
  {
   DirectoryEntry newpool;
   DirectoryEntry apppools=new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
   newpool=apppools.Children.Add(AppPoolName, "IIsApplicationPool");
   newpool.CommitChanges();
  }

  static void AssignAppPool(DirectoryEntry newvdir, string AppPoolName)
  {
   object[] param={0, AppPoolName, true};
   newvdir.Invoke("AppCreate3", param);
  }

  //method是管理应用程序池的方法,有三种Start、Stop、Recycle,而AppPoolName是应用程序池名称
  static void ConfigAppPool(string method,string AppPoolName)
  {
   DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
   DirectoryEntry findPool = appPool.Children.Find(AppPoolName,IIsApplicationPool");
   findPool.Invoke(method,null);
   appPool.CommitChanges();
   appPool.Close();
  }

  //应用程序池的列表
  static void AppPoolList()
  {
   DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
   foreach(DirectoryEntry a in appPool.Children)
   {
    Console.WriteLine(a.Name);
   }
  }

  private void VDirToAppPool()
  {
   DirectroryEntry VD = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT/ccc");
   Console.WriteLine(VD.Properties["AppPoolId"].Value.ToString());
  }
 }
}

  iis6操作的例子

using System;
using System.DirectoryServices;
using System.Collections;
using System.Text.RegularExpressions;
using System.Text;

namespace Wuhy.ToolBox
{
 /// </summary>

 public class IISAdminLib
 {
  #region UserName,Password,HostName的定义
  public static string HostName
  {
   get
   {
    return hostName;
   }
   set
   {
    hostName = value;
   }
  }

 public static string UserName
 {
  get
  {
   return userName;
  }
  set
  {
   userName = value;
  }
 }

 public static string Password
 {
  get
  {
   return password;
  }
  set
  {
   if(UserName.Length <= 1)
   {
    throw new ArgumentException("还没有指定好用户名。请先指定用户名");
   }
  password = value;
 }
}

public static void RemoteConfig(string hostName, string userName, string password)
{
 HostName = hostName;
 UserName = userName;
 Password = password;
}

private static string hostName = "localhost";
private static string userName;
private static string password;
#endregion

#region 根据路径构造Entry的方法

/// <summary>
/// 根据是否有用户名来判断是否是远程服务器。
/// 然后再构造出不同的DirectoryEntry出来
/// </summary>
/// <param name="entPath">DirectoryEntry的路径</param>
/// <returns>返回的是DirectoryEntry实例</returns>

public static DirectoryEntry GetDirectoryEntry(string entPath)
{
 DirectoryEntry ent;
 if(UserName == null)
 {
  ent = new DirectoryEntry(entPath);
 }
 else
 {
  // ent = new DirectoryEntry(entPath, HostName+"\"+UserName, Password, AuthenticationTypes.Secure);
  ent = new DirectoryEntry(entPath, UserName, Password, AuthenticationTypes.Secure);
 }
 return ent;
}

#endregion
#region 添加,删除网站的方法

/// <summary>
/// 创建一个新的网站。根据传过来的信息进行配置
/// </summary>
/// <param name="siteInfo">存储的是新网站的信息</param>

public static void CreateNewWebSite(NewWebSiteInfo siteInfo)
{
 if(! EnsureNewSiteEnavaible(siteInfo.BindString))
 {
  throw new DuplicatedWebSiteException("已经有了这样的网站了。" + Environment.NewLine + siteInfo.BindString);
 }
 string entPath = String.Format("IIS://{0}/w3svc", HostName);
 DirectoryEntry rootEntry = GetDirectoryEntry(entPath);
 string newSiteNum = GetNewWebSiteID();
 DirectoryEntry newSiteEntry = rootEntry.Children.Add(newSiteNum, "IIsWebServer");
 newSiteEntry.CommitChanges();
 newSiteEntry.Properties["ServerBindings"].Value = siteInfo.BindString;
 newSiteEntry.Properties["ServerComment"].Value = siteInfo.CommentOfWebSite;
 newSiteEntry.CommitChanges();
 DirectoryEntry vdEntry = newSiteEntry.Children.Add("root", "IIsWebVirtualDir");
 vdEntry.CommitChanges();
 vdEntry.Properties["Path"].Value = siteInfo.WebPath;
 vdEntry.CommitChanges();
}

/// <summary>
/// 删除一个网站。根据网站名称删除。
/// </summary>
/// <param name="siteName">网站名称</param>

public static void DeleteWebSiteByName(string siteName)
{
 string siteNum = GetWebSiteNum(siteName);
 string siteEntPath = String.Format("IIS://{0}/w3svc/{1}", HostName, siteNum);
 DirectoryEntry siteEntry = GetDirectoryEntry(siteEntPath);
 string rootPath = String.Format("IIS://{0}/w3svc", HostName);
 DirectoryEntry rootEntry = GetDirectoryEntry(rootPath);
 rootEntry.Children.Remove(siteEntry);
 rootEntry.CommitChanges();
}

#endregion
#region Start和Stop网站的方法

public static void StartWebSite(string siteName)
{
 string siteNum = GetWebSiteNum(siteName);
 string siteEntPath = String.Format("IIS://{0}/w3svc/{1}", HostName, siteNum);
 DirectoryEntry siteEntry = GetDirectoryEntry(siteEntPath);
 siteEntry.Invoke("Start", new object[] {});
}

public static void StopWebSite(string siteName)
{
 string siteNum = GetWebSiteNum(siteName);
 string siteEntPath = String.Format("IIS://{0}/w3svc/{1}", HostName, siteNum);
 DirectoryEntry siteEntry = GetDirectoryEntry(siteEntPath);
 siteEntry.Invoke("Stop", new object[] {});
}

#endregion
#region 确认网站是否相同

/// <summary>
/// 确定一个新的网站与现有的网站没有相同的。
/// 这样防止将非法的数据存放到IIS里面去
/// </summary>
/// <param name="bindStr">网站邦定信息</param>
/// <returns>真为可以创建,假为不可以创建</returns>

public static bool EnsureNewSiteEnavaible(string bindStr)
{
 string entPath = String.Format("IIS://{0}/w3svc", HostName);
 DirectoryEntry ent = GetDirectoryEntry(entPath);
 foreach(DirectoryEntry child in ent.Children)
 {
  if(child.SchemaClassName == "IIsWebServer")
  {
   if(child.Properties["ServerBindings"].Value != null)
   {
    if(child.Properties["ServerBindings"].Value.ToString() == bindStr)
    {
     return false;
    }
   }
  }
 }
 return true;
}

#endregion
#region 获取一个网站编号的方法
/// <summary>
/// 获取一个网站的编号。根据网站的ServerBindings或者ServerComment来确定网站编号
/// </summary>
/// <param name="siteName"></param>
/// <returns>返回网站的编号</returns>
/// <exception cref="NotFoundWebSiteException">表示没有找到网站</exception>

public static string GetWebSiteNum(string siteName)
{
 Regex regex = new Regex(siteName);
 string tmpStr;
 string entPath = String.Format("IIS://{0}/w3svc", HostName);
 DirectoryEntry ent = GetDirectoryEntry(entPath);
 foreach(DirectoryEntry child in ent.Children)
 {
  if(child.SchemaClassName == "IIsWebServer")
  {
   if(child.Properties["ServerBindings"].Value != null)
   {
    tmpStr = child.Properties["ServerBindings"].Value.ToString();
    if(regex.Match(tmpStr).Success)
    {
     return child.Name;
    }
   }
   if(child.Properties["ServerComment"].Value != null)
   {
    tmpStr = child.Properties["ServerComment"].Value.ToString();
    if(regex.Match(tmpStr).Success)
    {
     return child.Name;
    }
   }
  }
 }

 throw new NotFoundWebSiteException("没有找到我们想要的站点" + siteName);
}

#endregion
#region 获取新网站id的方法
/// <summary>
/// 获取网站系统里面可以使用的最小的ID。
/// 这是因为每个网站都需要有一个唯一的编号,而且这个编号越小越好。
/// 这里面的算法经过了测试是没有问题的。
/// </summary>
/// <returns>最小的id</returns>

public static string GetNewWebSiteID()
{
 ArrayList list = new ArrayList();
 string tmpStr;
 string entPath = String.Format("IIS://{0}/w3svc", HostName);
 DirectoryEntry ent = GetDirectoryEntry(entPath);
 foreach(DirectoryEntry child in ent.Children)
 {
  if(child.SchemaClassName == "IIsWebServer")
  {
   tmpStr = child.Name.ToString();
   list.Add(Convert.ToInt32(tmpStr));
  }
 }
 list.Sort();
 int i = 1;
 foreach(int j in list)
 {
  if(i == j)
  {
   i++;
  }
 }
 return i.ToString();
}
#endregion
}

#region 新网站信息结构体

public struct NewWebSiteInfo
{
 private string hostIP; // The Hosts IP Address
 private string portNum; // The New Web Sites Port.generally is "80"
 private string descOfWebSite; // 网站表示。一般为网站的网站名。例如"www.dns.com.cn"
 private string commentOfWebSite;// 网站注释。一般也为网站的网站名。
 private string webPath; // 网站的主目录。例如"e:tmp"
 public NewWebSiteInfo(string hostIP, string portNum, string descOfWebSite, string commentOfWebSite, string webPath)
 {
  this.hostIP = hostIP;
  this.portNum = portNum;
  this.descOfWebSite = descOfWebSite;
  this.commentOfWebSite = commentOfWebSite;
  this.webPath = webPath;
 }
 public string BindString
 {
  get
  {
   return String.Format("{0}:{1}:{2}", hostIP, portNum, descOfWebSite);
  }
 }
 public string CommentOfWebSite
 {
  get
  {
   return commentOfWebSite;
  }
 }
 public string WebPath
 {
  get
  {
   return webPath;
  }
 }
}
#endregion
}

  至此,一个相对安全的.net主机就建立起来了,随着.net2.0的发布越来越逼近,希望ms能针对此问题作一个妥善的防范。

  我们已经简单的介绍了一下ASP.NET中关于文件IO系统的漏洞的防治方法,这一方法有些繁琐,但是却可以从根本上杜绝一些漏洞,我们讨论的只是很少的一部分,更多的解决放法需要大家共同来探索、学习。

计算机组装DIY(Do It Yourself)至少要看懂的五十三个英文单词和缩写

  也许英语单词对大部分的电脑玩家不算是很困难的,但是对于一些老年用户来说,这些英语单词和英语缩写往往就象“天书”一样晦涩难懂,为了方便这部分用户,小编特别收集了一些简单易懂的英语单词和缩写,在这里提供给大家,希望能为大家大来一些帮助。

·PC:个人计算机Personal Computer
·CPU:
中央处理器Central Processing Unit
·CPU Fan:
中央处理器的“散热器”(Fan)
·MB:
主机板MotherBoard
·RAM:
内存Random Access Memory,以PC-代号划分规格,如PC-133,PC-1066,PC-2700
·HDD:
硬盘Hard Disk Drive
·FDD:
软盘Floopy Disk Drive
·CD-ROM:
光驱Compact Disk Read Only Memory
·DVD-ROM:
DVD光驱Digital Versatile Disk Read Only Memory
·CD-RW:
刻录机Compact Disk ReWriter
·VGA:
显示卡(显示卡正式用语应为Display Card)
·AUD:
声卡(声卡正式用语应为Sound Card)
·LAN:
网卡(网卡正式用语应为Network Card)
·MODM:
数据卡或调制解调器Modem
·HUB:
集线器
·WebCam:
网络摄影机
·Capture:
影音采集卡
·Case:
机箱
·Power:
电源
·Moniter:
屏幕,CRT为显像管屏幕,LCD为液晶屏幕
·USB:
通用串行总线Universal Serial Bus,用来连接外围装置
·IEEE1394:
新的高速序列总线规格Institute of Electrical and Electronic Engineers
·Mouse:
鼠标,常见接口规格为PS/2与USB
·KB:
键盘,常见接口规格为PS/2与USB
·Speaker:
喇叭
·Printer:
打印机
·Scanner:
扫描仪
·UPS:
不断电系统
·IDE:
指IDE接口规格Integrated Device Electronics,IDE接口装置泛指采用IDE接口的各种设备
·SCSI:
指SCSI接口规格Small Computer System Interface,SCSI接口装置泛指采用SCSI接口的各种设备
·GHz:
(中央处理器运算速度达)Gega赫兹/每秒
·FSB:
指“前端总线(Front Side Bus)”频率,以MHz为单位
·ATA:
指硬盘传输速率AT Attachment,ATA-133表示传输速率为133MB/sec
·AGP:
显示总线Accelerated Graphics Port,以2X,4X,8X表示传输频宽模式
·PCI:
外围装置连接端口Peripheral Component Interconnect
·ATX:
指目前电源供应器的规格,也指主机板标准大小尺寸
·BIOS:
硬件(输入/输出)基本设置程序Basic Input Output System
·CMOS:
储存BIOS基本设置数据的记忆芯片Complementary Metal-Oxide Semiconductor
·POST:
开机检测Power On Self Test
·OS:
操作系统Operating System
·Windows:
窗口操作系统,图形接口
·DOS:
早期文字指令接口的操作系统
·fdisk:
“规划硬盘扇区”-DOS指令之一
·format:
“硬盘扇区格式化”-DOS指令之一
·setup.exe:
“执行安装程序”-DOS指令之一
·Socket:
插槽,如CPU插槽种类有SocketA,Socket478等等
·Pin:
针脚,如ATA133硬盘排线是80Pin,如PC2700内存模块是168Pin
·Jumper:
跳线(短路端子)
·bit:
位(0与1这两种电路状态), 计算机数据最基本的单位
·Byte:
字节,等于8 bit(八个位的组合,共有256种电路状态),计算机一个文字以8 bit来表示
·KB:
等于1024 Byte
·MB:
等于1024 KB
·GB:
等于1024 MB

五十一个步骤教你轻松装配电脑

  装机其实是一个比较烦琐的工作,很多朋友在自己装机的时候常常搞的手忙脚乱,耗费了大量的时间和精力却装不好一台电脑,为此小编特意整理了网友的装机经验,在这里介绍给大家,有兴趣的朋友不妨打印出来,装机的时候一步一步照办,相信能够提高装机的效率。(注:完成一个步骤后请在□打勾。)

□以双手短暂触摸机箱后才拿主板:防手上静电损坏电子零件
□在MB上设定CPU外频跳线(或DIP Switch):如需调整的话/参看主板手册
□检查主板芯片风扇电源线是否接在主板上:PS.如需调整的话/参看主板手册
□CPU安装至主板:注意CPU插座斜角与针脚方位/正上方摆入/压杆扣住
□散热膏涂抹于CPU:只要薄薄涂在表面上
□CPU Fan安装至CPU:先放垫片/注意风扇方位/扣具正确扣法
□CPU Fan电源线安装至主板:位置参看主板手册
□内存安装至主板:注意主板与插槽位置/两端同时压下紧扣
□决定安装存储装置与适配卡的位置:装置间隔以利散热
□机箱拆下两面侧板后平摆:小心割手/螺丝依序分别排放/记住侧板装回原位的方法
□四个防滑垫安装至机箱底部(底部朝自己/主板托盘在下):如有电源也先拆下
□拆掉预设安装适配卡位置的挡板:用一字形起子与尖嘴钳
□拆掉背板所有输出入埠的挡板:用一字形起子与尖嘴钳
□拆下机箱面板与面板活动式回填片:小心不要扯断面板指示灯讯号线
□拆掉预设安装CDRW,FDD位置的挡板:用一字形起子与尖嘴钳
□装回面板与保留的面板活动式回填片:面板指示灯讯号线稍作缩短整理
□斜拿主板小心放入机箱:与所有输出入埠紧合
□标示主板锁在托盘上的六个洞位:以油性签字笔在托盘上标示洞位
□小心拿出主板:按照主板装回原位的方位上下比邻机箱平摆
□托盘六个洞位装上高脚螺母:高脚螺母上各置一绝缘垫片/锁紧定型后轻轻旋出螺丝
□主板六洞位外的其它洞位由MB底下插入塑料螺丝垫–防止插IDE排线用力过猛压断主板
□主板安装至托盘:所有输出入埠紧合后才让主板对准六个洞位轻轻接触托盘锁紧
□面板指示灯讯号线安装至主板:一一对照主板手册/注意正负极
□CDROM调跳线(设Master):参看CDROM附图
□CDROM排线安装至CDROM:注意排线连接端,第一支针脚方向(近电源)是否正确/排线稍作缩短整理
□CDROM音源线安装至CDROM:参看CDROM附图
□CDROM(含排线,音源线)安装至机箱:建议安装在最上面/音源线接主板/排线接主板/位置参看主板手册
□FDD排线安装至FDD:注意排线连接端,第一支针脚方向(近电源)是否正确
□FDD(含排线)安装至机箱:与硬盘间有空格/FDD退片钮在右下角/排线接上主板/排线稍作缩短整理
□硬盘调跳线(设Master):参看硬盘附图
□硬盘排线安装至硬盘:注意排线连接端,第一支针脚方向(近电源)是否正确/排线稍作缩短整理
□硬盘(含排线)安装至机箱:建议安装在最下面/排线接上主板/位置参看主板手册
□输出主电源线→主板:注意勾扣的方向/参看主板手册 /电源线线稍作缩短整理
□电源安装至机箱:其它输出电源线接CDROM,FDD,硬盘/注意斜角方向/电源线线稍作缩短整理
□输入电源线安装至主机:注意斜角方向/参看主板手册
□机箱风扇安装至机箱:吸入或吹出方向是否正确/电源线接妥/参看主板手册
□显示卡安装至主板:注意插槽方向/如果显示卡附有风扇也顺便检查是否接上电源/参看主板手册
□键盘安装至主机:注意接头颜色与插入方向/参看主板手册
□Mouse安装至主机:注意接头颜色与插入方向/参看主板手册
□屏幕讯号线安装至主机:注意接头插入方向/要锁紧/参看主板与显示器手册
□喇叭安装至主机:注明SPK或Line Out/参看主板手册
□喇叭电源线接上三孔插座:打开喇叭电源开关/音量关小
□屏幕电源线接上三孔插座:先关闭屏幕才插上
□主机(Power输入)电源线接上三孔插座:电源线插头如为三孔需转为两孔
□三孔插座电源线(含转接头)接上墙壁电源插座:打开三孔插座电源开关
□启动主机电源开关:听有无检测正常时会发出的一声短响(哔)
□打开显示器电源开关:看有无出现侦测结果与寻找开机文件失败的讯息(属正常现象)
□ (一切正常的话)关闭主机电源开关:按住4秒才放手/拔掉电源线/如有不正常则另行检查
□锁上机箱两面侧板–完成组装/整理光盘包装盒工具与清理弃物/电源线插回主机
□重开电源:进入BIOS做设置
□其它组件待操作系统,驱动程序,升级套件,性能调校,Ghost后才一一安装,免除困扰。

  我们要提高对音乐的鉴赏能力,一定要多听、多做比较。每一种乐器都有其独特的频谱、音色,播放一首乐曲时,音箱系统放出的音色与实际乐器演奏的音色有那些不同,偏离多少等。为了进行听力对比,首先应该来了解一些声学名词概念、人耳的听觉特性和音响设备的主要技术参数指标。 

一、电声学名词解释 

1. 纯音:它有两种含义:(1)指瞬时声压随时间作正弦变化的声波;(2)指具有明确单一音调的声音。 

2.基音:是指复合音中频率最低的成分。 

3.泛音:复合音中频率高于基音的成分,其频率可以是基音频率的整倍数,也可以不是。各种乐器用不同演奏方法能产生数量和强弱各不相同的泛音成分,即使基音相同也能具有不同的音色。 

4.声波:弹性媒质中传播的一种机械波,起源于发声体的振动。声波范围为20Hz-20KHz、频率高于20KHz的声波为超声波,频率低于20Hz的声波为次声波,超声波和次声波一般不能引起听觉,只有频率在两者之间的声波才能听 到,我们把能够听到的声波称为音波或可听声。 

5.声场:指媒质中有声波存在的区域。不同的声源和环境可以形成不同的声场。 

6.响度:又称"音量",人耳对音量大小的一种感受。取决于声强、频率和波形。 

7.音色:又叫"音品",主要由其谐音的多寡及各谐音的相对振幅所决定。 

二、人耳的听觉特性 

人耳对声音的方位、响度、音调及音色的敏感程度是不同的,存在较大的差异。 

1.方位感:人耳对声音传播方向及距离、定位的辨别能力非常强。人耳的这种听觉特性称之为“方位感”。 

2.响度感:对微小的声音,只要响度稍有增加人耳即可感觉到,但是当声音响度增加到某一值后,即使再有较大的增加,人耳的感觉却无明显的变化。通常把可听声按倍频关系分为3份来确定低、中、高音频段。即:低音频段20Hz-160Hz、中音频段160Hz-2500Hz、高音频段2500Hz一20KHz。 

3.音色感:是指人耳对音色所具有的一种特殊的听觉上的综台性感受。 

4.聚焦效应:人耳的听觉特性可以从众多的声音中聚焦到某一点上。如我们听交响乐时,把精力与听力集中到小提琴演奏出的声音上,其它乐器演奏的音乐声就会被大脑皮层抑制,使你听觉感受到的是单纯的小提琴演奏声。这种抑制能力因人而异,经常做听力锻炼的人抑制能力就强,我们把人耳的这种听觉特性称为"聚焦效应"。多做这方面的锻炼,可以提高人耳听觉对某一频谱的音色、品质、解析力及层次的鉴别能力。 

三、影响音质、音色的主要技术指标 

1.频率范围(单位Hz):功率放大器在规定的失真度和额定输出功率条件下的工作频带宽度,即功率放大器的最低工作频率至最高工作频率之间的范围。 

2.频率响应(单位:分贝dB):功率放大器的输出增益随输入信号频率的变化而提升或衰减和相位滞后随输入信号频率而变的现象。这项指标是考核功率放大器品质优劣的最为重要的一项依据,该分贝值越小,说明功率放大器的频率响应曲线越平坦,失真越小,信号的还原度和再现能力越强。一套好的音响器材,除要把各种乐器的音韵再现外,还要把各种乐器演奏的位置、距离、场面再现出来。 

四、高保真的含义 

  无论个人偏爱的是哪种色调或机型,如果播放出来的音色与原来乐器演奏的音色有听觉上的差异,就不能算是一台好设备。高保真音响(Hi-Fi)的真正含义是高还原度。如果你的音响设备不能还原出原有乐器的音色韵味,那么就称不上高保真设备。当我们利用主观听觉判断某一音响设备时,要充分注意这一点,不要因个人的偏爱而影响正确的判断与鉴别能力的提高。

RepairEXE

REGEDIT4

[HKEY_CLASSES_ROOTexefileshellopencommand]
@=""%1" %*"