wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftp.wu-ftpd.org下载最新版本的源代码包。用wu-ftpd架设FTP服务器 2001-04-13 08:46 一、前言 当我们架设的网站需要提供下载功能时,除了使用http的方式连接外,也可以另外提供ftp服务供用户直接连线下载。事实上,ftp是个存在已久的服务,它的设计是用来传输两台电脑之间的数据,以避免太多的远端执行。如果要传送的文件比较大时,若以http的方式连线传输会占用一些网站的资源(例如可连线的人数),这时就要用到ftp了。ftp是一个以TCP/IP为基础的应用程序,所以一般的ftp服务程序都会以内嵌于inetd的执行方式。 ftp分为两个部分,一个是服务器端的程序,一个是用户端的。在Unix上的ftp服务程序非常多,不同的操作系统所内建的版本也都不一样,常见的有wu-ftpd、proftpd、Troll ftpd、ncftpd和Bero ftpd等等。其中最常用的最受欢迎的的是wu-ftpd,它是当初由华盛顿大学wuarchive.wustl.edu开发出来的,是一个以效率以及稳定性为考量的程序,它提供了原始码以及开放学术单位免费使用。 二、安装与设定 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][ absolute或relative指文件是用绝对路径还是相对路径 allow=retrieve--设定哪些文件可以下载 allow[absolute/relative][ loginfails--设置登入错误可尝试的次数本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/yongwu-ftpdjiasheFTPfuwuqi_7578.shtml当用户连线时可能打错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 ftpown@virtual.site.com.bj 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表示密码检查不过只出现警告信息。本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/yongwu-ftpdjiasheFTPfuwuqi_7578_2.shtmldeny=email--拒绝特定的email当密码 path-filer--摄定哪些文件名不可使用 path-filer<错误信息文件><允许字符><不允许字符> upload--设定upload权限 upload[absloute/relative][ >[dirs/nodirs][d_mode] 用来对我们要设定的目录做权限设定: absoulte/relative使用绝对路径或是相对路径 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等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/yongwu-ftpdjiasheFTPfuwuqi_7578_3.shtml 地址>地址>用户>信息文件>信息文件>远端地址列表>文件>子目录列表>不允许字符>允许字符>错误信息文件>地址>地址>外部IP>用户>用户>用户>用户>用户>用户>用户>用户>字母>路径>文字>断线倒数>拒绝倒数>分>时>日>月>年>在我们常用的局域网中,有许多计算机的操作系统是Windows,并且有一部分的系统是Linux。如何使用两个不同的系统之间实现文件的共享,这个问题经常会发生。除了使用FTP、NFS、Telnet之外,在Linux上构架SMB服务也是一种非常高效、简捷的选择。Samba的使用http://www.linuxaid.com.cn 01-06-13 18:32 1956p dracula 在我们常用的局域网中,有许多计算机的操作系统是Windows,并且有一部分的系统是Linux。如何使用两个不同的系统之间实现文件的共享,这个问题经常会发生。除了使用FTP、NFS、Telnet之外,在Linux上构架SMB服务也是一种非常高效、简捷的选择。一、SMB的介绍 SMBServer Messages Block,信息服务块,是一种在局域网上共享文件和打印机的一种协议,它为局域网内的Windows和Unix系统提供文件及打印机等资源的共享服务。 SMB的工作原理是让Netbios与SMB这两种协议运行在TCP/IP的通信协议上,并且使用Netbios nameserver让Linux机器在Windows的网络领导上被看到,这样就可以在系统间相互访问了。这种协议最早是由Microsoft和Intel在1987年开发实现的。 在Linux上运行SMB的软件很多,最常用的是samba和TAS(Total Net Advanced Server)。Tas是由Syntax公司开发的产品,是一种强大的client/server系统,用来解决不同操作系统间的共享问题。它能对不同类型的SMB客户提供基于SMB的连接,包括LAN Manager,LAN Server,DEC pathworks等。但这么强大的功能,自然价格也不便宜。 samba是用来实现SMB的又一种软件,由澳大利亚的Andrew Tridgell开发,是一种在Linux(unix)环境下运行的免费软件。通过它,Linux和Windows之间可以进行文件的传输,实现打印机的共享: ·共享Linux磁盘给Win95/NT ·共享Win95/NT磁盘给Linux机器 ·共享Linux打印机给win95/NT ·共享win95/NT打印机给Linux机器。二、Samba的安装 Samba这套软件中包含了Samba服务器程序和samba客户程序,将samba安装配置好以后,可以在网络间实现资源的共享。随着RedHat 6.x发布的samba的版本是2.0.3,挂起光盘,然后使用RPM命令: #mount /dev/cdrom /mnt/cdrom #cd /mnt/cdrom/RedHat?RPMS #rpm -Uvh samba-2.0.3-8.i386.rpm 你也可以在ftp://ftp.samba.org/pub/samba下载新的版本,如果下载的是RPM的版本,就照上面的方法安装。如果得到是tar软件包,则必须手动编译了。 在得到samba-2.x.x.tar.gz后,随便将其拷贝到一个目录中.ie./tmp。然后使用下面的命令将其展开: #tar zxvf samba-2.x.x.tar.gz 然后会产生samba-2.x.x这个目录,请先阅读目录中的README文件,如果想看man page的话,可以到docs/manpages目录中执行: #man ./filename 这样,可以得到一些信息。 由于samba可适用于多种Unix系统,所以下一步工作就是将其source/目录中的Makefile文件修改成你需要的,找出其中定义Linux的部分,然后将前面的#号删除。如果要在装有shadw passwor和quota的Linux系统中安装samba,则应该将Makefile文件中的下面部分的注释号#去掉: #FIAGSM=-03 -M486 -DLINUX-DSHADOW_PWD-DQUOTAS #LIBSM=-lshadow 并且在srouce目录中执行: #ln -s /usr/include/linux/quota.h /usr/include/sys/quota.h #ln -sf /usr/src/quota-1.50 quota 如果在/usr/src目录下没有quota-1.50请自己去下载其源程序,因为在编译samba时要使用到quota的源程序。 注意,无论选取哪一种系统,都应该保证Makefile中只有一种操作系统起作用,否则samba将无法正确安装。 修改好了Makefile文件之后,只要在source目录中以root权限执行make命令就可以了开始编译了: #make 成功之后,会得到好几个可执行文件。但是,运行samba服务器程序或客户程序最需要的应该是”smbd”和”nmbd”,它们是一个samba服务器的守护进程和samba客户机的守护进程。接下来执行: #make install(make revert(删除旧版本并安装新的版本)) 命令来安装samba。 一般安装在/usr/bin中。而两个守护进程则被放到/usr/sbin目录下。三、samba的配置 samba的配置有几中方式,一种是用普通的文字编辑器如vi,joe等将/etc/samba目录下的smb.conf文件进行修改。另一种方法是使用X-Windows下的SWAT对samba进行配置。后一种方法比较方便,并且比较适合于初学者,所以着重介绍。 SWAT在Samba 2.x.x及之后版本中已经存在了它是:Samba Web Administration Tool的缩写,它可以大大方便Samba的配置。 在使用SWAT之前,你必须先配置好你的X-windows,使它可以正常工作。然后编辑在/etc目录下的services文件,找到: #swat 901/tcp 然后将它前面的#号删除。保存services文件。 这一步是将swat的服务器端口901打开,以提供swat的服务及访问。如果这一步不作,那么在X-windows下将不能使用swat。 如果你使用的是Redhat 7.x则 可以输入命令: #setup 在system services设置中找到swat,然后在前打*号,以下一个步骤可以跳过了。修改/etc/inetd.conf,在其中加入: swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat 这行的意思是说明swat程序的位置以及驱动的相关参数。 重新激活inetd:用ps -auxww|grep inetd找出inetd的PID,然后给予一个HUP的信号使其重新激活inetd: ps -auxww|grep inetd kill -HUP xxx(PID号) 或者并且重新启动。 然后在X-Windows下,找开浏览器(netscape)然后在地址栏中输入:http://localhost:901/,然后回车。 然后请用root帐号登录。 由于Swat界面非常友好,所以一般用户用鼠标就可以设置了。 下面以一个简单的范例来解释它的用法: (1)让一个目录被共享,但用户只能有读的权限,并且只有guest帐号的用户可以访问;本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Sambadeshiyong_7579.shtml(2)让一个Linux的打印机被网络中所有的win95/nt机器共享。 首先,先选择GLOBALS主图标按钮,然后在其中的workgroup中输入你所在的局域网中,需要访问你的SMB服务器的机器的工作组名称,比如:mysite。 接下来的netbios name:这是你的Linux主机在win95/NT中的网络邻居中显示出的名称:比如:host Server String:这是对SMB服务器的描述,随便输入一些内容:比如:It’s a samba server。 interface:这是网络界面的设置。注意格式为x.x.x.x/x.x.x.x前面是你的Linux主机的IP地址,/之后是子网掩码。 比如:192.168.1.100/255.255.255.0 接下来的几行可以不管,如果需要进一步深入了解,请察看samba-howto。 然后是guest account:这里是来宾帐号,你就输入guest。 host allow和host deny中设置的分别是你特别指定的允许和不允许访问SMB服务器的机器的IP地址,注意其格式为:x.x.x.x,x.x.x.x。 如:192.168.1.22,192.168.1.33 接下来几行不要管,然后是socket optons: 如果你输入: TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 这样可以提高系统的效率,很显然,这是对于TCP/IP协议而言的。请看一下smb的man,这不再深究。 然后点击commit changes,保存结果。 然后再点击主图标按钮SHARES 然后输入你所要共享的资源的名称,随便输入一个比如:share 然后Create Share建立资源。 comment中输入该共享资源的名称。 Path:在此输入共享资源的绝对路径。如:/home/guest guest accout:在此输入工作站的guest帐号名称,该帐号必须存在!你可以通过:linuxconf来设置帐号,请查看有关资料,这里不再多讲。 read only下拉列表框:表示是否只允许读取,如果是Yes选项,则无法写入或删除文件。 guest ok下接列表:表示是否允许其它用户以guest方式登录,也就是登录者不一定要有密码就可以使用该共享资源。如果该共享资源是私人拥有,而且不希望其它人登入,最好设为No。 host alow文本框:允许访问你的机器的IP地址,以,分开,也可以203.71.204.来定义整个C Class网络,如果设有host alow则只有这些机器可以登录,其它一 律拒绝! host deny:不允许访问你的机器的IP地址,格式同上,若设有deny则除该机器之外,则一律允许. browseable:表示是否让该资源被windows的网上邻居浏览到。 available:则是代表是否开放外界联机这个共享资源。 然后Commit change确认保存。 然后是PRINTERS主图标按钮 如果你已经在print tools中成功地设置了打印机,则在会已经存在一个打印资源名,然后选择choose printer。 comment:是对打印机的描述,随便输入一些,比如:printer。 path:你的打印机spool的路径:比如:/var/spool/samba。 guest accout:意义同上面的share设置 guest ok:意义同上面的share设置 hosts allow,hosts deny:意义同上面的share设置 print ok:yes print name:你的打印机名 browseable和available意义同上面的share设置。 STATUS主图标按钮是表明了当前Samba运行的状态,用户可以它来启动和停止 samba进程。 VIEW图标按钮是浏览了/usr/local/samba/lib/smb.conf的内容。四、运行Samba 启动samba有两种方式,一种是以stand-alone方式运行,另一种是由inetd启动。二者各有其优缺点,如果采用stand-alone方式运行,运行速度较快,但是守护 进程将一直会产生子进程来服务,这样,资源被占用地较多,如果你的机器资源足够,并且访问的要求非常高,那么你可以考虑这个高效率的方式。而以inetd方式运行 samba的话,情形正好相反,占用系统资源较少,但是速度相对较慢。两个方法你只可以选择其中的一种,不能都使用,如果这样,会出现错误。 (1)使用inetd启动samba 为了以inetd方式启动samba需要修改/etc/inetd.conf和/etc/services文件。首先编辑/etc/inetd.conf文件,在该文件中加入下面两行: netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd 修改/etc/services 需要加入下面六行数据: netbios-ns 137/tcp nbns netbios-ns 137/udp nbns netbios-dgm 138/tcp nbdgm netbios-dgm 138/udp nbdgm netbios-ssn 139/tcp nbssn netbios-ssn 139/udp nbssn 因为安装samba的时候,系统已经自动在/etc/services文件中添加好了,所以不需要再动手添加,但是,如果打算以stand-alone方式运行samba的话,就应该在这几行前面各加一个#注释起来。 然后杀死inetd进程,并重新启动它。 (2)以stand-alone方式启动samba 只要将/etc/rc.d/rc.local文件中国入: /usr/local/samba/bin/smbd -D -d1 /usr/local/samba/bin/nmbd -D -d1 -n samba 注意,smbd和nmbd的路径一定要正确,请用:whereis smbd和whereis nmbd来找一下。经过这样的设置samba就基本上可以运行了。本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Sambadeshiyong_7579_2.shtml
在一个网络上,可能不只有LINUX系统,还会存在着象Windows NT、Windows95等其它操作系统。如何让这些安装不同操作系统的机器进行文件级的资源共享呢?下面我们就一起来探讨这个问题。Linux组网入门(4):文件服务器 原创 02-04-17 17:38 1565p fjxufeng 在一个网络上,可能不只有LINUX系统,还会存在着象Windows NT、Windows95等其它操作系统。如何让这些安装不同操作系统的机器进行文件级的资源共享呢?下面我们就一起来探讨这个问题。9.1 让LINUX成为文件服务器安装Samba服务器9.1.1 什么是Samba Samba可以想象成一个局域网上的文件服务器。它可以为在同一个了网中的客户(如Win95、WinNT等)提供文件服务和打印服务。也就是说,Samba服务器可以让LINUX实现象Novell Netware文件服务器提供的功能。9.1.2 Samba工作原理 Samba的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMA(Server Message Block)这两个协议运行于TCP/IP通信协议之上,并且使用Windows 95的NETBEUI协议让LINUX可以在网络邻居上被Windows 95看到。 其中最重要的就是SMB协议(Server Message Block),这是一个用于不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)的协议。SMB协议是一个非常重要的协议,在所有 的Microsoft Windows系列操作系统中广为应用。 Samba是SMB服务器在类UNIX系统上的实现。它是开放源代码的GPL自由软件。目前Samba可以在几乎所有的UNIX变种上运行。9.1.3 安装Samba服务器 在RedHat LINUX操作系统中,只要在安装的时候选择了Samba,那么它就会在安装LINUX的同时安装Samba。如果没有选择的话,也可以在光盘上找到Samba的RPM安装包,使用RPM安装它就可以了。9.1.4 配置Samba 配置Samba的工作其实就是对它的配置文件smb.conf进行相应的设置。Smb.conf关系着Samba服务器的权限设置,以及共享的目录、打印机和机器所属的工作组等各种细致的选项。 文件smb.conf的语法非常明确。文件被分成段,每一段的名字用一个方括号括起来。在每一段内用名称=值的格式来设置参数。最前面加分号表示该句为注释。在后面的讲述中,我们只说明最常用到的最基本的一些部分,而更加深入的设置,请大家阅读这个文件的注释段。 整个配置文件中最基本是三个特殊段。 1. Global段:配置服务器在整个过程中用到的参数,并为其它段提供缺省值。 [global] workgroup=MYGROUP; hosts allow = 192.168.1. 192.168.2. 127. printcap name = /etc/printcap load printers = yeslog file = /var/log/samba/log.%m 1) 第一句workgroup用来指定机器在网络邻居所处的工作组。默认值为MYGROUP,大家可以根据自己的喜爱进行相应的修改。 2) 而hosts allow是一个用来指定在局域网中哪些机器可以使用Samba服务的描述。一般情况,无须设置,所以最前面用一个;开始,表示将这句注释掉。 3) 而第三句则是告诉Samba,打印机名称的位置。 4) 第四行load printers = yes则是告诉Samba服务器,允许浏览所有的打印机。 5) 最后一句则是指定了log日志文件的存放地址。 2.Homes段:这个段是用来表示允许客户机连接的用户主目录。在smb.conf文件中没有这个目录的特定内容。当发出服务请求时,就在smb.conf文件的其它部分寻找这种特定的服务。如果没有发现这种服务,并且提供了homes段时,就搜索密码文件去发现用户的主目录。通过分解Homes段,Samba使用户主目录作为共享而使用。下面是这个段的最基本的几个设置。 [homes] comment=Home Directory browseable=no writable=yes 1) 其中comment提定客户机在服务器上可以使用的共享。 2) browseable则设置Samba在网络浏览表是否显示目录,建议改为browseable=yes。 3) 最后一句则是表示是否具有写权限。 3. Printers段:设置打印机的共享状况。样板如下表所示: [printers] comment=All printers browseable=no printable=yes 建议将browseable=no改为browseable=yes。 一般地,在默认的smb.conf文件中已经做了最基本的设置,不加修改就可以应用在多种情况之中。所以建议初学者可以不用修改它。当然如果必要的话,可以参考注释语句进行一些尝试。 也就是说,如果大家不对smb.conf作修改,客户机已经能够使用最基本的Samba服务.9.1.4 启动Samba服务器 启动Samba服务器的方法有两种。一种是standalone方式,另一种是Inted方式: 启动方式 占有资源 反应速度 Standalone方式 多 快 Inted方式 少 慢 我们建议使用Inted方式启动Samba服务器,要注意的是,我们不能同时采用两种方式运行,否则将造成Samba服务工作不政常。而默认状态下也是使用这种启动方式。 1. 使用Inted方式启动 安装Samba时,会在/etc/services文件中增加类似的以下几行: netbios-ns 137/tcp netbios-ns 137/udp netbios-dgm 138/tcp netbios-dgm 138/udp netbios-ssn 139/tcp netbios-ssn 139/udp 而在/etc/inetd.conf文件中也新增了以下几行: netbios-ssn stream tcp nowait root /usr/sbin/smbd smbdnetbios-ns dgram udp wait root /usr/sbin/nmdb nmdb 如果你想要用下一种方式启动,请在它们前面加上一个注释符号#,然后执行inetd命令使修改生效。 2. 使用Standalone方式启动 如果你要使用这种方式启动,请在/etc/rc.d/rc.local文件中加入以下几行: echo Startting Samba Server…… /usr/local/samba/bin/smbd D -d1 /usr/local/samba/bin/nmbd D d1 n LINUX9.1.5 使用Samba服务本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Linuxzuwangrumen-4–wenjianfuwuqi_7580.shtml以Windows 9x为例,我们只要打开网上邻居,就可以发现一个新的工作组MYGROUP, 下面还有这台LINUX主机。我们就可以使用Samba服务了。9.2 网络文件系统NFS 请在安装LINUX的时候选中NFS,让LINUX系统将这项服务安装到系统中来。接着我们就可以十分容易地使用它了。9.2.1 共享LINUX的文件 通过NFS共享LINUX的文件很简单,只要修改/etc/exports文件就可以了。例如,我们想将/home/nfstest这个目录共享给202.101.55.5这台机器,并且赋予它读、写权限,那么只要将如下信息写入/etc/exports这个文件中去就可以了。 /home/nfstest 202.101.55.5(rw)9.2.2 在LINUX中将共享的文件挂进来 接着,如果我们可以在202.101.55.5这台机器(202.101.55.1)上将/home/nfstest外挂进来。我们只要简单地执行命令: mount t nfs 202.101.55.1:/home/nfstest /mnt/nfstest 这样就将202.101.55.1上的/home/nfstest目录挂到了202.101.55.5的/mnt/nfstest目录下了。 本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Linuxzuwangrumen-4–wenjianfuwuqi_7580_2.shtml
在众多的网络应用中,FTP(File Transfer Protocol)有着非常重要的地位。在Internet中一个十分重要的资源就是软件资源。而各种各样的软件资源大多数都是放在FTP服务器中的。可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。Linux组网入门(2):FTP服务器 原创 02-04-17 17:08 2050p fjxufeng 在众多的网络应用中,FTP(File Transfer Protocol)有着非常重要的地位。在Internet中一个十分重要的资源就是软件资源。而各种各样的软件资源大多数都是放在FTP服务器中的。可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上。 FTP服务可以根据服务对象的不同分为两类:一类是系统FTP服务器,它只允许系统上的合法用户使用;另一类是匿名FTP服务器,Anonymous FTP Server,它使用任何人都可以登录到FTP服务器上去获取文件。5.1 选择和安装FTP服务器软件 如果你在安装LINUX系统的时候,在选择启动进程的时候选择了ftpd这一项的话,安装完LINUX系统后,它已经将一个默认的FTP服务器安装到系统中去了。我们已经可以利用它来实现系统FTP服务器的功能了。我们只需在此基础上根据我们的需要进行一些个性化设定就可以了。 在绝大多数的LINUX发行版本中都选用的是Washington University FTP,它是一个著名的FTP服务器软件,一般简称为wu-ftp。它功能强大,能够很好地运行于众多的UNIX操作系统,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。 wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求: 1) 可以在用户下载文件的同时对文件做自动的压缩或解压缩操作; 2) 可以对不同网络上的机器做不同的存取限制; 3) 可以记录文件上载和下载时间; 4) 可以显示传输时的相关信息,方便用户及时了解目前的传输动态; 5) 可以设置最大连接数,提高了效率,有效地控制了负载。5.2 wu-ftp的组成 安装了wu-ftp后,你将在/bin目录下看到以下五个可执行文件: ftpd FTP服务器程序 ftpshut 用于关闭FTP服务器程序 ftpcount 显示目前在线人数 ftpwho 查看目前FTP服务器的连接情况 ckconfig 检查FTP服务器的设置是否正确 除了这些可执行文件以外,它还在/etc和/var目录下生成了七个配置文件: /etc/ftpusers /etc/ftpaccess /var/run/ftp.pids /etc/ftpconversions /var/log/xferlog /etc/ftpgroups /etc/ftphosts 系统安装了wu-ftp后,会建立一个特殊的用户ftp,并在/home目录下建立了一个ftpd目录,当用户以匿名登录上来时,将会自动定位于这个目录下。在这个目录下一般会建立几个子目录。 /home/ftpd/bin:存放一些供FTP用户使用的可执行文件 /home/ftpd/etc:存放一些供FTP用户使用的配置文件 /home/ftpd/pub:存放供下载的信息 /home/ftpd/incoming:存放供上载信息的空间5.3 wu-ftp的配置 5.3.1 查看、修改/etc/inetd.conf文件 /etc/inetd.conf文件是LINUX系统的超级服务器inetd的配置文件。它负责监听多个TCP/IP端口。当它收到请求,就根据配置文件派生一个相应的服务器。通过使用超级服务器,其他服务就可以只在需要时才派生,从而大大节省了系统资源。 而wu-ftp就是利用超极服务器inetd来监听请求的。当超级服务器inetd收到了客户端的FTP请求时,就根据配置文件打开一个FTP服务进程。所以我们如果要使用wu-ftp,就必须确认在超级服务器inetd的配置文件inetd.conf中有这样一句: ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd 以便当超级服务器收到FTP请求的时候,能够派生一个wu-ftp的FTP服务进程。(注:要确认是否有这样一行时,可以使用文件内容查找命令来确认: cat /etc/inetd.conf | grep ftp 如果没有,则用手工加入或手工修改。5.3.2 wu-ftpd的命令选项 wu-ftpd就是wu-ftp的服务进程。它可以不带参数执行,也可以带参数执行。下面简单介绍一下wu-ftpd的执行参数。 -d 当FTP服务器发生错误时,将错误入系统的syslog中; -l 将每次FTP客户端进行连接的入系统的syslog中; -t 设置FTP客户端连接几分钟无操作就切断连接; -a 使wu-ftp使用/etc/ftpaccess的设定; -A 使wu-ftp不使用/etc/ftpaccess的设定; -L 将FTP客户端连线后所执行的程序记录在系统的syslog中; -I 将FTP客户端上载文件的日志记录在/usr/adm.xferlog文件中; -o 将FTP客户端下载文件的日志记录在/usr/adm/xferlog文件中。 通过对以上参数的理解,我们建议,将上面系统安装时的那条默认配置改为: ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd a I5.3.3 提供自动压缩、解压缩的功能 如果想让FTP服务器有自动压缩、解压缩的功能,必须先将一些压缩、解压缩的命令文件如tar、gzip、gunzip、compress、uncompress等命令文件拷贝到/home/ftpd/bin目录下。5.3.4 关于/etc/ftpaccess的设置 这个配置文件是FTP服务器上最重要的配置文件,它直接关系到你的FTP服务器能否正常工作,还有许多权限上的设置。下面是一个典型的配置实例。 loginfails 3 class local real * class remote anonymous guest * limit remote 100 Any /etc/ftpd/toomany. msgmessage /etc/ftpd/welcome.msg login compress yes local remote tar yes local remote private yes passwd-check rfc822 warn log commands real log transfer anonymous guest inbound outbound log transfer real inbound shutdown /etc/ftpd/shut.msg delete no anonymous,guest本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Linuxzuwangrumen-2–FTPfuwuqi_7582.shtmloverwrite no anonymous,guest rename no anonymous chmod no anonymous,guest umask no anonymous upload /home/ftpd * no upload /home/ftpd /bin no upload /home/ftpd /etc no upload /home/ftpd /pub yes real 0644 dirs upload /home/ftpd /incoming yes real guest anonymous 0644 dirs alias in /incoming email guest@xxx.net email guest@yyy.net deny .com.tw /etc/ftpd/deny.msg 下面我们逐句进行讲解,并给出每条设置的含义,以便大家触类旁通,以便根据自己FTP服务器的具体情况进行合理的设置。 1. 格式:loginfails [次数] 功能:设定当用户登录到FTP服务器时,允许用户输错密码的次数。 实例:loginfails 3:密码输入错误三次就切断连接。 2. 格式:class [类名] [real/guest/anonymous] [IP地址] 功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许某部分的IP地址或全部的IP地址访问。而在FTP服务器上的用户基本上可以分为以下三类: real 在该FTP服务器有合法帐号的用户; guest 有记录的匿名用户; anonymous 权限最低的匿名用户 实例:class local real *:定义一个名为local的类,它包含了在任何地方登录(代表所有IP地址)的real用户。 class remote anonymous guest *:定义一个名为remote的类,它包含了在任何地方登录的anonymous用户和guest用户。 3. 格式:limit [类别] [人数] [时间] [文件名] 功能:这个指令的功能为设置指定的时间内指定的类别允许连接的指定人数上限。当达到人数上限的时候,显示指定文件的内容。 实例:limit remote 100 Any /etc/ftpd/toomany.msg:在任何时间内,remote类的访问用户达到100人时,将不再允许无法产生新的连接,当第101位客户要连接时,连接将失败,并象用户出示文件/etc/ftpd/toomany.msg的内容。 4. 格式:message [文件名称] [指令] 功能:当用户执行所指定的指令时,系统将指定的文件内容显示出来。 实例:message /etc/ftpd/welcome.msg login:当用户执行login命令时,也就是登录到FTP服务器上的时候,系统将显示文件/etc/ftpd/welcome.msg的内容。 5. 格式:compress [yes/no] [类别] 功能:设置哪一个类别的用户可以使用compress(压缩)功能。 实例:compress yes local remote:允许local和remote两个类别的用户都能使用compress(压缩)功能。 6. 格式:tar [yes/no] [类别] 功能:设置哪一个类别的用户可以使用tar(归档)功能。 实例:tar yes local remote:允许local和remote两类的用户都能使用tar功能。 7. 格式:private [yes/no] 功能:设定是否支持群组对文件的取用。 实例:private yes:支持群组对文件的取用。 8. 格式:passwd-check [none/trivial/rfc822] [enforce/warn] 功能:设定对匿名用户anonymous的密码使用方式。 none 表示不做密码验证,任何密码都可以登录; trival 表示只要输入的密码中含有字符@就可以登录; rfc822 表示密码一定要符合RFC822中所规定的E-Mail格式才能登录; enfore 表示输入的密码不符合以上指定的格式就不让登录; warn 表示密码不符合规定时只出现警告信息,仍然能够登录。 实例:passwd-check rfc822 warn:希望能够得到符合规定的E-Mail作为密码,但如果不是,也允许登录。 9. 格式:log command [real/guest/anonymous] 功能:设置哪些用户登录后的操作记录在文件/usr/adm/xferlog中。 实例:log command real:当real用户登录后,将他的操作记录下来。由于其它用户权限较低,所以操作不会引起太大的安全隐患,所以一般只需记下real用户的操作就可以了。 10. 格式:log transfers [real/guest/anonymous] [inbound/outbound] 功能:设置哪些用户的上载(inbound)和下载(outbound)操作做日志。 实例:log transfer anonymous guest inbound outbound:对于匿名用户要更加的关注它们的文件操作,所以无论上载、下载都进行记录。 log transfer real inbound:对于合法用户则只记录他的上载记录。 11. 格式:shutdown [文件名] 功能:FTP服务器关闭的时间可以设置在后面所指定的文件中,当设置的时间一到,便无法登录FTP服务器了,要恢复的话只有将这个文件删掉。而这个文件必须由指令/bin/ftpshut来生成。 实例:shutdown /etc/ftpd/shut.msg 12. 格式:delete [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用delete命令删除文件。默认是允许。 实例:delete no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行delete命令。 13. 格式:overwrite [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户覆盖同名文件。默认是允许。 实例:overwrite no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户覆盖同名文件。 14. 格式:rename [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用rename命令来为文件改名。默认是允许。 实例:delete no anonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行rename命令改变文件名。而对有记录的匿名用户则适当的放宽,允许他们使用改名命令。 15. 格式:chmod [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用chmod命令更改文件权限。默认是允许。 实例:delete no anonymous,guest:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行chmod命令更改文件权限。 16. 格式:umask [yes/no] [real/anonymous/guest] 功能:设置是否允许指定用户使用umask命令。默认是允许。 实例:delete no anonymous:为了更好地管理FTP服务器,一般情况下,我们不允许匿名用户执行umask命令。本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Linuxzuwangrumen-2–FTPfuwuqi_7582_2.shtml17. 格式:upload [根目录] [上载目录] [yes/no] [用户] [权限] [dirs/nodirs] 功能:对可以上载的目录进行更加详细的设置。 实例:upload /home/ftpd * no:表示在子目录/home/ftpd下不允许上载;upload /home/ftpd /bin no:表示在子目录/home/ftpd/bin下不允许上载;upload /home/ftpd /etc no:表示在子目录/home/ftpd/etc下不允许上载;upload /home/ftpd /pub yes real 0644 dirs:允许用服务器上的合法用户在子目录/home/ftpd/pub目录下能上载权限为0644(也就是-rw-r–r–)的文件,而且在这个目录下可以新建子目录。 upload /home/ftpd /incoming yes real guest anonymous 0644 dirs:允许所有的用户在子目录/home/ftpd/incoming下能上载权限为0644的文件,而且在这个目录下可以新建子目录。 18. 格式:alias [目录别名] [目录名] 功能:给指定目录设置一个别名,在切换目录时就可以使用较短的目录别名。 实例:alias inc: /incoming:为子目录incoming设置一个别名inc:。 19. 格式:email [guest的E-Mail地址] 功能:只要将某些E-Mail地址设置在这个地方,那么这些用户登录到FTP服务器时,他的身份将为guest,一般权限比real低一些,比anonymous高。 实例:email guest@xxx.net email guest@yyy.net:这里仅是一个示例,实际上可以包含多个符合规范的E-Mail地址。 20. 格式:deny [IP地址/域名] [说明文件] 功能:这个设置可以限制哪一些IP地址或域名的用户无法登入FTP服务器。 实例:deny *.com.tw /etc/ftpd/deny.msg:设置凡是域名是以.com.tw结束的域名,都禁止其访问。而将/etc/ftpd/deny.msg的内容显示给用户看。5.3.5 设置/etc/ftpuser,禁止某些用户登录 有时我们需要禁止一些用户使用FTP服务。其实这个设置是十分简单的,只需要将要禁止的用户帐号写入文件/etc/ftpuser中。由于从系统的安全考虑,一般我们是不希望权限过大的用户和一些与命令名相同的用户进入FTP服务器。所以在缺省的配置中,一般以下用户已经被列入了黑名单。 root uucp news bin adm nobody lp sync shutdown halt mail5.3.6 设置/etc/ftphosts,禁止某些来自指定机器上的登录 如果你需要拒绝来自某些主机的登录,一种方法就是在/etc/ftpaccess中设置deny命令,另一种更加简单的方法就是在/etc/ftphosts中写入你要禁止的主机的IP地址或域名。5.3.7 使新的配置生效 到此为止,我们已经能够根据自己的需要对FTP服务器配置进行必要的修改和调整。而让我们重新配置后,就必须使其生效。一般的,对/etc/ftpaccess的配置是直接作用于设置后的下一次FTP服务进程。而其它的则要对inetd进程重新启动。5.4 wu-ftp相关的其他一些命令的使用5.4.1 连接数统计命令ftpcount 我们可以使用ftpcount命令十分清楚地统计出当前连接到FTP服务器上的用户数目,并且同时列出上限。命令输出如下所示: Service class local 0 Users(20maximum) Service class remote 5 Users(100maximum)5.4.2 在线用户查看命令ftpwho 我们可以使用ftpwho命令十分清楚地列出当前连接的用户的详细情况。5.4.2 FTP关闭文件生成命令ftpshut 我们可以使用ftpshut命令生成一个在/etc/ftpaccess中设置的shut.msg文件,用于关机设定。ftpshut命令的格式为: Ftpshut <-l min> <-d min> time <说明> -l 这个参数设定在关闭FTP服务器功能前多少分钟时停止用户的连接; -d 这个参数设定在关闭FTP服务器功能前多少分钟时切断用户连接; time 指定关闭FTP服务器的时间。例如6:20分则写为0620;本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Linuxzuwangrumen-2--FTPfuwuqi_7582_3.shtml说明>
现在在Internet上最热门的服务之一就是WWW(World Wide Web)服务。如果你想通过主页向世界介绍自己或自己的公司,就必须将主页放在一个WEB服务器上,当然你可以使用一些免费的主页空间来发布Linux组网入门(1):WEB服务器原创 02-04-17 17:08 2624p fjxufeng 现在在Internet上最热门的服务之一就是WWW(World Wide Web)服务。如果你想通过主页向世界介绍自己或自己的公司,就必须将主页放在一个WEB服务器上,当然你可以使用一些免费的主页空间来发布。但是如果你有条件,你可以注册一个域名,申请一个IP地址,然后让你的ISP将这个IP地址解析到你的LINUX主机上。然后,在LINUX主机上架设一个WEB服务器。你就可以将主页存放在这个自己的WEB服务器上,通过它把自己的主页向外发布。4.1 选择和安装WEB服务器软件 目前,在世界各地有许多公司和学术团体,根据不同的计算机系统,开发出不同的服务器,如Apache、CERN、Microsoft Internet Information System、NCSA、WebSite等。它们各有所长。而在许多LINUX的发行版本中,已经集成了一个免费的、使用广泛的、技术成熟的WEB服务器软件Apache。 笔者经过实际的试用,发觉Apache与LINUX的配合还是十分理想的,所以在此笔者就具体地介绍一下Apache在Red Hat Linux 6.0下的配置与实现。 如果我们在安装LINUX的选择启动进程中选中httpd选项。这样Apache就会将自动完成安装,并且能够满足日常的应用需要,我们只需要进行一些更具体的设置工作就行了。4.2 Apache的组成 在Red Hat Linux 6.0中,Apache将自己的所有配置文件和日志文件放在了/etc/httpd目录下,其中/etc/httpd/conf下为配置文件,/etc/httpd/log下为日志文件。 同时,它将建立/home/httpd目录,并在其下建立三个子目录:html/:在这个目录下存放HTML(主页)文件;cgi-bin/:在这个目录下可以存放一些CGI程序;icons/:在这个目录下是服务器自带的一些图标。4.3 Apache的设置 Apache服务器软件的配置文件主要有:access.conf:用于设置系统中的存取方式和环境;httpd.conf:用于设置服务器启动的基本环境;srm.conf:主要用于做文件资源上的设定;mime.type:记录Apache服务器所能识别的MIME格式。 在具体讲解之前,我们必须告诉大家,LINUX系统已经在安装时就采用了一系列的缺省值,而大家可以根据下面的讲解来理解这些设置的意义,然后根据自己的实际情况做一些细微的调整,以更加适合于你的具体应用。 4.3.1 access.conf的配置 当我们使用vi来打开它的时候,我们会发现,就象LINUX一样,内容十分繁多,看得人头晕眼花的。请大家一定要明确,凡是最前面是以#号开头的,表示这一行是注释语句,是帮助大家理解文件内容的,而不是配置文件本身。在下面的讲解中,我们也将把这些注释语句略去不说。 该文件的第一段非注释部分如下: <Directory /home/httpd/html> Option Indexes Includes ExecCGI FollowSymLink AllowOverride None Order allow , deny allow from all</Directory> 大家应该注意到,这一个部分是以<Directory /home/httpd/html>开始,以</Directory>结束的。这表示在其中间的部分都是针对指定目录/home/httpd/html而言的。 1.Option命令有很多的参数,各个参数的意义如下所示: All:准许以下所有功能(MultiViews除外); MultiViews:准许内容协商的Multiviews; Indexes:若该目录下无index文件,则准许显示该目录下的文件以供选择; IncludesNOEXEC:准许SSI(Server-side Includes),但不可使用#exec和#include功能; Includes:准许SSI; FollowSymLinks:准许符号链接到其他目录; ExecCGI:准许该目录下可以使用CGI。 2.而AllowOverride命令则是用来决定是否准许在access.conf文件中设定的权限是否可以被在文件.htaccess中设定的权限覆盖。它有两个参数: All 准许覆盖;None 不准许覆盖。 3.Order命令:用来设定谁能从这个服务器取得控制。它也有两个参数: allow 可以取得控制;deny 禁止取得控制。 现在我们一起来看看关于目录/home/httpd/html的设置的含义:它使得这个目录,如果不存在index.htm文件时,列出目录信息以供选择,准许SSI,允许执行CGI程序,开启了动态连接。它不允许再使用在文件.htaccess中设定来覆盖这里所设置的权限。使所有的人都可以取得控制。 该文件的第二段非注释部分如下: <Directory /home/httpd/cgi-bin> Option ExecCGI AllowOverride None </Directory> 这个表示目录/home/httpd/cgi的设置为,当前目录下可以执行CGI程序。不允许再使用在文件.htaccess中设定来覆盖这里所设置的权限。 需要说明的是,不同的LINUX系统中,可以在这个文件中看到的信息不完全相同,但是根据这里给出的信息,大家可以参照命令的解释自行理解文件中的设置,以及根据自己的需要进行相应的修改。4.3.2 httpd.conf的配置 这个文件中有许多设定命令,用来设置服务器的运行环境。以下是一些常用的部分: 1. ServerType命令,用来设定服务器的启动方式。它的命令格式如下: 命令格式: ServerType [standalone/inted] standalone参数表示WEB服务进程以一个单独的守候进程的方式在后台侦听是否有客户端的请求,如果有就生成一个子进程来为其服务。 inetd参数表示WEB服务不是以一个单独的守候进程的形式支持。而是由Inetd这个超级服务器守候进程进行代劳,当它收到一个客户端的WEB服务请求的时候,再启动一个WEB服务进程为其服务。 在此建议使用standalone参数。 2. Port命令,为服务器的服务指定端口号(套接字)。一般来说,WEB服务使用知名端口号80,如果你设定了别的端口号,别人再使用你的WEB服务时,就必须输入http://xxx.xxx.xxx:端口号,这样是不方便的。所以,建议这里设置为Port 80。本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Linuxzuwangrumen-1–WEBfuwuqi_7583.shtml命令格式: Port 端口号例:Port 80 3. Server Admin命令,用来设置WEB管理员的E-Mail地址。这个地址会出现在系统连接出错的时候,以便访问者能够将情况及时地告知WEB管理员。 命令格式: Server Admin [you E-Mail address] 例:Server Admin admin@xxx.com 4. BindAddress命令,用来设定要从哪个地址来接受服务。 命令格式: BindAddress [/IP/FQDN] 例:BindAddress IP 表示只接受输入IP地址的访问者 BindAddress FQDN 表示只接受输入域名地址的访问者 BindAddress * 表示接受以上两种方式的访问者 5. ErrorLog命令,用来指定错误记录文件名称和路径。 命令格式: ErrorLog [log filename]例:ErrorLog /var/httpd/error.log 6. CacheNegotiatedDocs命令,让代理服务器将数据留在缓存中。在很多情况下,默认为不让代理服务器将数据留在缓存中的,所以这条设定命令是被注释掉的。 7. Timeout命令,只要客户端超过这里设定的秒数还没有完成一个请求的话,服务端将终止这次请求服务。如果网络速度较慢的话,建议在此设置较大的数值。以给客户端更多机会。 命令格式: Timeout [second]例:Timeout 120 8. KeepAlive命令,设置是否开启连续请求的功能。 命令格式: KeepAlive [on/off] 9. MinSpareServer命令,用于设置WEB服务进程的最小空闲个数。当WEB服务进程空闲个数小于此设置时,系统将会自动打开更多的服务进程以使得空闲的WEB服务进程的最小空闲个数。 命令格式: MinSpareServer [number]例:MinSpareServer 5 要注意的是,这个数字太大的话,则空闲的进程在浪费系统资源,大大减少了整个系统的资源。如果太小,则有可能造成频繁的连接使得系统应接不瑕。设置的原则是,如果这个服务器是专用的WEB服务器,则将这个值尽量地设大,否则就设置得够用就可以。 10. MaxSpareServer命令,这个命令则是设置WEB服务进程的最大空闲个数。 命令格式: MaxSpareServer [number]例:MaxSpareServer 10 这个命令与前一个相配合,可以使得WEB服务进程在内存中所占资源最合理。 11.StartServers命令,用来设置刚开启WEB服务器时生成几个服务进程。 命令格式: StartServers [number]例:StartServers 5 12.MaxClients命令,用来设置接受客户端请求的最大数目,以使得维护系统稳定性,避免系统负载过大。 命令格式: MaxClients [number]例:MaxClients 1504.3.3 srm.conf的配置 这个文件主要用来指定主页文档的位置。下面介绍三个最常用的命令。 1. Do**entRoot命令,用来指定主文档的地址。 命令格式: DoentRoot [Path]例:Do**entRoot /home/httpd/html 2. UserDir命令,用来指定个人主页的位置。如果你有一个用户test,那么它主目录是/home/test,当客户端输入 http://yourdomain/~test,系统就会到对应的目录/home/test/UserDir/中去寻找。其中UserDir就是在UserDir命令中设置的指定目录。 命令格式: UserDir [Path]例: UserDir Public_html 3. DirectoryIndex命令,用来声明首页文件名称。一般地,我们使用index.html或index.htm作为首页的文件名。如果这样设置后,那么客户端发出WEB服务请求时,将首先调入的主页是在指定目录下文件index.html或index.htm。 命令格式: DirecotryIndex [filename]例:DirecotryIndex index.html4.3.4 使新的配置生效 在上面,我们可能已经根据新的需求更改了相应的配置选项,如果我们要使得这个新的配置立即生效。我们就必须重新启动WEB服务进程。 在LINUX中,我们可以十分方便地使用命令行来使得WEB服务进程重启。 /etc/rc.d/init.d/httpd restart4.4 为用户开辟个人主页空间 如果我们利用了LINUX系统架设了一台WEB服务器,我们不仅可以存放公司的主页,而且还可以为公司的每一个员工提供一块个人主页的空间。 1. 首先,为需要个人主页空间的员工在LINUX上开设一个帐号。这样,它就拥有了一个用户主目录/home/用户帐号名。 addusr 用户帐号名passwd 用户帐号名 2. 在用户主目录下建立一个目录public_html,然后为其设置相应的权限。 cd ~用户帐号名mkdir public_htmlchmod 755 public_html 3. 确认在srm.conf文件中的UserDir命令设置的是public_html目录。 4. 让员工将自己的个人主页上传到自己用户主目录下的public_html目录中。 5. 现在就可以使用http://www.company.com/~用户帐号名来访问员工的个人主页了。4.5 用Apache实现虚拟主机服务4.5.1 什么是虚拟主机服务 所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事提供主机代管服务,它为其它企业提供WEB服务。那么它肯定不是为每一家企业都各准备一台物理上的服务器,而是用一台功能较强大的大型服务器,然后用虚拟主机的形式,提供多个企业的WEB服务,虽然所有的WEB服务就是这台服务器提供的,但是让访问者看起来却是在不同的服务器上获得WEB服务一样。 具体地说,就是,我们可以利用虚拟主机服务将两个不同公司www.company1.com与www.company2.com的主页内容都存放在同一台主机上。而访问者只需输入公司的域名就可以访问到它想得到的主页内容。 用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于名字的虚拟主机,下面我们分别介绍一下它们的实现方法。以便大家在具体的应用中能够选择最合适的实现方法。4.5.2 设置实现基于IP地址的虚拟主机服务
<VirtualHost 202.101.2.2> ServerAdmin webmaster@yourdomain.com Do**entRoot /home/httpd/www.company1.com ServerName www.company1.com ErrorLog /var/log/httpd/www.company1.com/error.log </VirtualHost> 5)建立相应的目录。 mkdir /home/httpd/www.company1.com mkdir /var/log/httpd/www.company1.com/error.log 6)将相应的主页内容存放在相应的目录中即可。 3.不利因素 这种虚拟主机的实现方法有一个严重的不足,那就是,每增加一个虚拟主机,就必须增加一个IP地址。而由于IP地址空间已经十分紧张,所以通常情况下是无法取得这么多的IP地址的。而且从某种意义上说,这也是一种IP地址浪费。4.5.3 设置实现基于名字的虚拟主机服务 而基于名字的虚拟主机服务,是比较适合使用的一种方案。因为它不需要更多的IP地址,而且配置简单,无须什么特殊的软硬件支持。现代的浏览器大都支持这种虚拟主机的实现方法。当然,这也就是指一些早期的客户端浏览器也许不支持这种虚拟主机的实现方法。 正是以上原因,我们没有理由不使用基于名字的虚拟主机服务而使用基于IP地址的虚拟主机服务。 配置基于名字的虚拟主机服务需要修改配置文件: /etc/httpd/conf/httpd.conf,在这个配置文件中增加以下内容。 NameVirtualHost 202.101.2.1<VirtualHost 202.101.2.1> ServerAdmin webmaster@yourdomain.com DoentRoot /home/httpd/www.company1.com ServerName www.company1.com ErrorLog /var/log/httpd/www.company1.com/error.log </VirtualHost><VirtualHost 202.101.2.1> ServerAdmin webmaster@yourdomain.com Do***entRoot /home/httpd/www.company2.com ServerName www.company2.com ErrorLog /var/log/httpd/www.company2.com/error.log </VirtualHost>也就是在基于IP地址的配置基础上增加一句:NameVirtualHost 202.101.2.1而已。在本例中,为了体现只需要增加一次,所以特别地设置了两个虚拟主机服务。 最后也是建立相应的目录,将主页内容放到相应的目录中去就可以了。 本篇文章来源于 Linux爱好网|www.linux-love.com 原文链接:http://www.linux-love.com/server/20080408/Linuxzuwangrumen-1–WEBfuwuqi_7583_3.shtml
ubuntu下好用的FTP服务器软件:Proftpd+gproftpd
beryl让我们Linux体验到了超越VISTA的炫目特效。现在compiz 又与beryl合并,从此就诞生了compiz fusion,即compiz 与 beryl的合并后的一个溶合体。Compiz Fusion在综合了Compiz及Beryl特效的基础上,还提供更多的功能,同时与beryl相比,所需的系统资源更少,效果更为出色。 下面,我们就来安装compiz fusion: 1、得到密匙 代码: sudo wget http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add - 2、添加源: 代码: deb http://download.tuxfamily.org/3v1deb feisty eyecandy deb-src http://download.tuxfamily.org/3v1deb feisty eyecandy 3、更新: 代码: sudo apt-get update sudo apt-get dist-upgrade 4、安装Compiz及Compiz fusion 代码: sudo apt-get install compiz compiz-gnome sudo apt-get install compizconfig-settings-manager sudo apt-get install compiz-fusion-* 5、运行Compiz Fusion 现在你就可以享受Fusion带来的惊喜啦,同时你也可以关闭Compiz及Beryl啦,在“系统-首选项-会话”新建一个新的会话如下: 代码: compiz –replace 6、Compiz 使用emerald 主题: 代码: sudo apt-get install emerald emerald –replace 这样,系统就可以在开机后自动加载Compiz Fusion啦。 为防止风险,我是删除了beryl。 在“系统-首选项”里有Compiz Fusion的设置程序Compizconfig Settings Manager,运行Compizconfig settings Manager,可以看到非常多的选项.特效演示是视频:http://www.youtube.com/watch?v=E4Fbk52Mk1w&v3
Ubuntu软件安装与删除相关命令 安装软件 命令: apt-get install softname1 softname2 softname3…… 卸载软件 命令: apt-get remove softname1 softname2 softname3…… 卸载并清除配置 命令: apt-get remove --purge softname1 更新软件信息数据库 命令: apt-get update 进行系统升级 命令: apt-get upgrade 搜索软件包 命令: apt-cache search softname1 softname2 softname3…… Deb软件包相关安装与卸载 安装deb软件包 命令: dpkg -i xxx.deb 删除软件包 命令: dpkg -r xxx.deb 连同配置文件一起删除 命令: dpkg -r --purge xxx.deb 查看软件包信息 命令: dpkg -info xxx.deb 查看文件拷贝详情 命令: dpkg -L xxx.deb 查看系统中已安装软件包信息 命令: dpkg -l 重新配置软件包 命令: dpkg-reconfigure xxx
本来的标题可能是:“Windows Vista:M$葬礼的开始”,或者“Windows Vista:逃离的时刻”。后来,想想大家都是出来混的,人家M$也砸进去60亿的美金才搞出来的东西,所以就换了这个相对温和公正的标题: “Windows Vista: PC时代的殉葬品”。换了标题后,一直没写东西,因为觉得没有太大必要了,从95年到现在,人类的认知能力在进步,即使生活在中国这片神奇土地上的人类也 应该在进步,但昨晚电视上看到Bill Gates要砸五亿美金作广告,还情绪激昂的宣称Windows Vista是一场技术革命,不免有些担心,还是写点东西。 Windows Vista是不是一场技术革命? 用我日常的说话方式来总结:革他妈鸟的命,出来卖的就好好的卖,不要立着“技术革命”的牌坊来卖!已经半老徐娘,不要因为你多擦些粉,就把自己当成十八岁的大姑娘;更不能因为你自己擦粉投入的钱$太多,就要把自己卖大姑娘的价,这他妈的是欺诈。 我们总爱受这种欺骗,看完了《英雄》,看《无极》,看《夜宴》,看《黄金甲》!智商就不能提高点,满屏幕黄黄的像一坨坨大便似的,除了权谋、杀戮, 没有任何属于“人”的东西,怎么就卖了几个亿?有位教授(不是叫兽)总结的好:那是得了手的骗子。所以,我非常担心Windows Vista在中国成为下一个“得了手的骗子”。 说M$是骗子有些过分,我们客观承认M$是PC时代的领导者,这一点毫无 疑问。但M$是不是PC时代技术变革的推动者,还需要讨论。今天,我们确实面对一场技术变革,但Windows Vista不是这场变革的发起者,而是这场技术变革的“被革命对象”。这场技术变革就是:个人电脑(PC)时代的终结,网络就是计算机时代的来临。 SUN是一个伟大的公司,他们在多年前就提出“网络就是计算机”的概念,当时大多数人都以为那是一个比较遥远的时代。可事情的发展往往超出人们的想 象,今天“网络就是计算机”的时代正在来临。我们看到了太多的互联网技术、应用开启了新时代的大门,例如Google的Docs、Calendar、 GMap等等,我们今天所讨论的WEB2.0也许只是这场变革的开始,这个开始的特征是:WEB即平台,软件即服务!未来几年,大量的PC应用将迅速向 WEB迁移,这不是从所谓的C/S向B/S的迁移,而是由原来独立的、封闭的、单一的PC应用,向开放的、在线托管的、可协作的WEB服务和应用迁移。这 个迁移最终将导致网络操作系统,或者有人称为WEB操作系统的诞生,进入“网络就是计算机的时代”。 我们很难准确定义和描述“网络操作系统”或“WEB操作系统”,但可以作一个简单的想象: 一台瘦的互联网终端,非常小的操作系统,只负责基本的硬件管理、互联网连接和WEB浏览;不再有庞大的本地硬盘,所有的数据可以安全的存储在海量的 互联网存储上;所有的应用,例如办公软件,都从互联网加载。全世界,只需要少量几个核心的计算和服务供应网络,终端用户只需要按需租赁。 尽管这一形态的“网络操作系统”还需时间,但这个方向是不可避免的。我们回头来看看Windows Vista这个鸟东西,个人终端操作系统应该越来越瘦小、便宜,个人终端用户应该越来越多的使用在线服务的时候,Windows Vista却朝着相反的方向,把个人终端变得庞大、复杂且昂贵。根据网上的测评,据说需要2G内存和N多显存,才能平稳的运行Vista,这完全是与技术 变革的方向背道而驰。 Windows Vista的项目本身异常庞大,开发周期非常长,并延期了3年时间。大家不要认为,M$之所以耗费如此大的开支,是想为用户推出一款完美的操作系统;事实 上,我个人觉得,M$更多是为了实现对PC绝对统治的个人野心而已,他们想做一个无所不能的,可以一统PC江湖的家伙。从技术变革的角度将, Windows Vista本身是一款完全赌错了方向的产品,当PC时代即将终结的时候,“一统PC时代“的操作系统还有意义吗?顶多是PC时代的殉葬品! 从软件项目开发的角度讲,Windows Vista项目本是失败的。所有作软件开发的人,几乎都看过《人月神话》,我认为微软陷入了文中所说的“焦油坑(The Tar Pit)”,与“IBM 360系统”开发非常相似的困境。Vista在拖延了3年,砍掉了很多Gates认为的杀手级应用之后,也远远未达到产品级应用,更不用提完美和变革。 Vista的开发无论预算和发布时间都严重超支,而且我相信后期的项目维护也会是一场噩梦。那么,我们能期望从一个失败的软件项目中诞生一个成功的软件产 品,甚至是“变革性”的产品吗? Windows Vista是不是一个技术变革的产品,只需要一点点时间去验证,但我相信下面一段话所预言的事:有人的地方,就有江湖。江湖上,死的最惨的都是那些妄想一统江湖称霸武林的家伙,无论那些家伙打着什么旗号。 Windows Vista: 没有远景 没有“远景”,连眼前的风景都没有。昨晚东方卫视介绍Windows Vista,Gates在台上激动的”WOW”,然后主持人介绍了几个特性,没有一个让我”WOW”起来。另外,总感觉Gates的煽情很别扭,完全没有Steve Jobs令人信服。 首先,介绍了一个桌面3D切换,看似很炫。这他妈的在MAC上,N年前就有了,MAC不仅可以3D切换窗口,你还可以3D切换四个桌面。 然后,介绍了一个小功能,好像是有个鸟工具,可以支持你直接用命令行启动桌面程序,号称“不需要在菜单中寻找,快速启动应用程序”。这也能拿出来 秀,不是电视台的编辑脑袋有问题,就是微软市场人员的脑袋有问题。从Linux/Unix诞生开始,你就可以用命令行启动任何应用程序,通过脚本自由的组 合应用程序。Ubuntu的桌面栏,可以让你在一个入口启动应用程序、打开文件、查阅字典、网络搜索关键字。 其他功能的介绍,就不太记得了,反正始终没有”WOW”起来,没看到远景,也没有任何风景。 今天,打开Windows Vista中国的主页,特意去看看M$罗列的可以让用户”WOW“的理由,顺便拷贝几条过来分析分析。 第三条: 3. 迄今为止最为安全的 Windows 版本 Windows Vista 具有 Windows Defender、反垃圾邮件软件、仿冒网站筛选以及家长控制等新的安全工具,因此它可以为您的 PC、个人信息和家人提供比之前任何的 Windows 版本都安全的保护。 自动备份、性能自行配置和内置诊断帮助您保护数据并确保 PC 正常运行。 有一点 分析能力的人都会觉得这是非常无耻的一条,难道Windows以前是裸体跑的?以前如此不安全的Windows拿出来卖,算什么?算欺诈?那个鸟逼的 IE、IIS害了多少用户,每个中国的Windows用户都被木马、流氓软件插过,80%是通过IE插进来的。现在,你穿了衣服,不裸奔了(我们还不确认 是不是半裸),居然厚颜无耻的让我们来”WOW”。另外,你什么时候听说“这是目前为止最安全的Unix\Linux“,或者Jobs说“这是目前为止最 安全的MAC”? 第十条: 10. 更安全地进行网上冲浪 在您联机时,Windows Internet Explorer 7 中的动态安全保护帮助保护您的 PC 和个人信息的安全。 Internet Explorer 7 还包括很多设计用于防止恶意软件的新功能。 鉴于IE种种恶劣的历史记录,包括其过去以卑鄙的手段击败Netscape,现在阻挠Canvas标签以及SVG的应用与技术创新等,这一条基本上 可以忽略。从我半年前试用那个Bug百出的IE7 Beta的经验上看,IE7无论在性能、稳定性、安全上,仍然无法与Opera、Fire Fox相提并论,IE7所谓的新功能在Opera、FireFox上早以实现。Opera9.x 5M左右的安装文件,却实现了业界最高效的WEB浏览,最易用的EMAIL客户端,以及IRC、新闻组、RSS、BT下载集成,还可支持小Widget控 件,更不用提弹出窗口拦截、恶意脚本检测、反钓鱼网站等安全特性。 第XXX条: 12. 按您的时间安排节目 Windows 媒体中心M 14. 使任意房间都可以成为一个媒体中心 拥有 Windows 媒体中心M 19. 在 PC 上观看实况电视 Windows 媒体中心M 很多条上,Windows Vista都在宣传它的“多媒体中心”。看看MAC吧,www.apple.com/macosx/leopard/index.html 否则你还以为M$干了多了不起的事情。抄不是错,抄的像原创一样就有点恶心了。 M$总共罗列了100条,我没有耐心去看下去,感觉上基本是对以前Windows缺陷的改进,抄袭MAC的功能等等,没有看到什么“变革性”的可以让人眼前一亮,可以”WOW”的东西。 Windows Vista:逃离的开始 Windows Vista漫长的开发期间里,Linux社区诞生了Ubuntu;MAC发布了Tiger,接下来是Leopard;互联网迎来了WEB2.0, Google发布了无数的在线应用,包括在线Office。Windows Vista的来临,也许是我们逃离Windows,奔向这些新世界的开始。 Ubuntu:拥抱Linux的自由世界 几个月前,我将笔记本的操作系统从Windows XP切换到Ubuntu,加入Linux的自由世界。Ubuntu在Linux桌面易用性方面,确实有了非常大的改进。无论安装,兼容性,系统升级都非常 简单。基于Debian的集中软件管理系统尤其值得称道,大量的GNU应用程序可以直接从网络安装,自动升级,并安全卸载。完全避免了Windows上独 立安装卸载应用程序,和维护令人发指的注册表的烦恼。我觉得不在Windows操作系统上开发什么鸟.NET之类的程序员,都可以转向Ubuntu,享受 一个集成了易用的桌面,Linux命令行和Shell脚本,大量GNU应用包括LAMP的操作系统。 Google在线服务:WEB即平台,软件即服务的世界 然后,我们把很多文档上传至http://docs.google.com,由Goolge Docs来在线管理这些文档。我和同事们开始在线编写各种文档,然后不需要再通过PC共享,或EMAIL的方式发布文档,只需要通过 “Collaborate”在线协作。我们可以在任何有互联网的地方自由访问这些文档,不再需要U盘等拷贝文档的方式。我觉得Google Docs开启了所有PC应用向互联网迁移的大门,如果Office都可以迁移到WEB上,那还有什么应用不可以呢?这也许是“网络就是计算机”的雏形应 用。 OS X Leopard:完美主义者的操作系统 如果你一定要一个华丽而又完美的操作系统,任何一 款Windows都不是,包括Windows Vista在内。M$的价值观与完美主义相去甚远,你知道最初的DOS是什么缩写吗?是”Quick and Dirty Operation System”,Gates拿过来把Quick去掉然后卖给IBM。现在,一个陷入泥潭软件项目,一个错误方向赌博,一个充满野心的产品Vista,距完 美更远!Windows Vista的界面华丽吗?易用吗?去试试Apple的OS X后在说! 我们在Gates身上永 远找不到Steve Jobs偏执的完美主义信仰,苹果产品做得美轮美奂,简单易用,其实都带有Jobs个人性格的烙印。Gates只是一个实用主义者,所有的Windows 产品也同样都有这样的烙印。所以,我们只要期望Windows Vista能用就可以了,不要提什么完美与“变革”,基本上是扯谈。如果你想要一个完美的操作系统,就去向Steve Jobs要。 重要一点,按目前Windows Vista的配置需求,我觉得安装Vista的PC或笔记本在价格上应该与MAC的价格相差不多。既然如此,如果你追求完美主义,为何不直奔MAC而去! 这也是我们身边很多人的想法,在今年春季拥有一台OS X Leopard操作系统的MAC,在Vista发布的时候逃离Windows。 结尾 总的来讲,看过《无极》之后,我就再也不看国内所谓的大片;用了这么多年的Windows之后,我也不再有任何兴趣去尝试Vista,何况是一个或许成为PC时代殉葬品的Vista
二十一世纪到了,每个人都强调自己的个性,于是一种叫做DIY的东西悄然兴起。 操作系统作为全人类智慧的结晶,自然DIY起来难度极大,因而DIY出一个操作系统成就感绝对比买宜家的东西的成就感大。 为了不至于从头开始编写一个操作系统,我们当然把采用现成的操作系统作为一个底线。 当然,我们可以通过LFS让我们爽到底,但是,能够做到LFS的人可真的是凤毛麟角。而且更重要的是LFS简直在挑战我的忍耐程度。 我的这篇文章,教大家如何DIY一个自己的ubuntu发行版。在非常节省时间的情况下,达到耍酷的目的。 就好比LFS一样,我们需要一个创作基地。我们首先建立一个变量。建立这个变量的好处很明显,即使你不用~/diy_ubuntu这个目录,一样可以照着这个文章继续做下去。 $ export WORK=~/diy_ubuntu $ mkdir -p $WORK 然后我们把光盘镜像文件挂到/mnt $ sudo mount -t iso9660 -o loop dapper-live-i386.iso /mnt $ cd $WORK 复制文件光盘文件 $ mkdir ubuntu-livecd $ cp -a /mnt/. ubuntu-livecd $ chmod -R u+w ubuntu-livecd $ sudo umount /mnt 由于光盘中包含了很多windows下面的自由软件,我们来把不必要的文件删除。当然你可以保留。 $ rm -rf $WORK/ubuntu-livecd/programs 把光盘中的压缩文件挂起来,这个样子以后你可以在$WORK/old目录中看到一个完整的linux操作系统的目录。 $ mkdir $WORK/old $ sudo mount -t squashfs -o loop,ro $WORK/ubuntu-livecd/casper/filesystem.squashfs $WORK/old 我们建立一个2GB大小的文件系统,然后把这个文件当作一个设备文件格式化,结果系统给出了一个警告,别理会它,选择是就是。 $ sudo dd if=/dev/zero of=$WORK/ubuntu-fs.ext2 bs=1M count=2147 $ sudo mke2fs $WORK/ubuntu-fs.ext2 然后我们把这个空文件系统挂起来。 $ mkdir $WORK/new $ sudo mount -o loop $WORK/ubuntu-fs.ext2 $WORK/new 复制linux操作系统的文件.由于我们事先得到的linux是压缩的,所以我们把它解压了。 $ sudo cp -a $WORK/old/. $WORK/new 当然现在$WORK/old就没有用处了。废掉它 $ sudo umount $WORK/old 我们首先进入刚才得到的那个操作系统 $ sudo cp /etc/resolv.conf $WORK/new/etc/ $ sudo mount -t proc -o bind /proc $WORK/new/proc $ sudo chroot $WORK/new /bin/bash 现在你就进入系统了,高喊linux for human beings,大炼ubuntu,想干什么就干什么。
…. #更多的配置 最后离开你的那个操作系统
$ sudo umount $WORK/new/proc $ sudo rm $WORK/new/etc/resolv.conf 现在你已经回到了你的初始状态中 把manifest重新整一遍 $ sudo chroot $WORK/new dpkg-query -W –showformat=’${Package} ${Version}\n’ > $WORK/ubuntu-livecd/casper/filesystem.manifest 然后做一下“磁盘清理” $ sudo dd if=/dev/zero of=$WORK/new/dummyfile $ sudo rm $WORK/new/dummyfile 重新压缩系统 $ sudo rm $WORK/ubuntu-livecd/casper/filesystem.squashfs $ cd $WORK/new $ sudo mksquashfs . $WORK/ubuntu-livecd/casper/filesystem.squashfs 你的改动都保存了。现在把$WORK/new废掉 $ cd $WORK $ sudo umount $WORK/new 把文件的md5重新算一下 $ cd $WORK/ubuntu-livecd $ sudo find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt 建立光盘镜像,命令很长,忍受着点。 $ cd $WORK $ sudo mkisofs -o ubuntu-new.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V “My Cool Ubuntu Live CD” -cache-inodes -J -l ubuntu-livecd 然后你就可以用iso把光盘烧了 然后你就可以在别人前面耍酷了。最后,王子和公主过着幸福的生活。