2008年10月14日星期二
Fedora 10面对Windows 7与Ubuntu 8.10的双重压力
Fedora 10躲得非常快,Fedora 10的上市被推到了11月份。Ubuntu 8.10原计划在本月30号全球上市,不过它将受到微软的Windows 7 Pre-Beta强烈挤压,这是一个预览测试版,从中可以看出很多Windows 7的新特征。据微软方面介绍Windows 7有非常多的改善,它将继承Windows XP的优良传统,在界面视觉及系统管理上堪称一绝。 据称Windows 7 Pre-Beta与Ubuntu 8.10几乎是同步发布,微软是在将Ubuntu一军,截止用户倒向Linux这边,同时抢尽Ubuntu 8.10的风头,使其上市变得无人问津。Windows 7在兼容及安全上将全新出世,彻底消灭以Ubuntu为首的Linux,Ubuntu在Linux桌面份额中约占四成,可以说Linux用户群多是Ubuntu发烧友。 Ubuntu 8.10这个在刀锋上活着的Linux恐怕是凶多吉少了,因为任何IT软件发布碰到微软的产品发布都会变得暗淡无光。虽然Ubuntu 8.10的目标是苹果操作系统,不过Windows 7强大的功能及界面足可以灭掉二个加起来不超过10%份额的操作系统。当然你别忘了,Fedora 10会从后方再燃起Linux大火。
来自:http://www.linuxidc.com/Linux/2008-10/16462.htm
这个说的很不错.但是现在从市场面上看也各有春秋吧.....该用linux的还是用linux.用win的也会再去试试新出来的win7吧.....但是用linux的就会更少去使用win7吧.最多也只是去体验一下.
2008年10月13日星期一
邮件列表mailman安装配置案例 - 结合Postfix
由 copywu 于 2008年 3月 21日 14:04
推荐结合我们推出的免费邮件系统解决方案使用,本案例已经在实际环境中验证通过,其中域名部分请按照您的实际情况修改http://bbs.freesinno.com/viewtopic.php?f=10&t=15下载mailman程序并安装# cd /tmp# wget http://jaist.dl.sourceforge.net/sourcef ... -2.1.9.tgz# tar xvf mailman-2.1.9.tgz# cd mailman-2.1.9# ./configure --prefix=/opt/FreeSInno/Mail/mailman \--with-username=freesinno.com \--with-groupname=freesinno.com \--with-mail-gid=1111 \--with-cgi-gid=1111 \--with-mailhost=lists.freesinno.com \--with-urlhost=lists.freesinno.com# make# make install配置mailman# cd /opt/FreeSInno/Mail/mailman# touch data/aliases# touch data/virtual-mailman# vi Mailman/mm_cfg.py增加如下部分
代码: 全选
DEFAULT_EMAIL_HOST = 'lists.freesinno.com'DEFAULT_URL_HOST = 'lists.freesinno.com'DEFAULT_URL_PATTERN = 'http://%s/mailman/'MTA = 'Postfix'POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.freesinno.com','freesinno.com']add_virtualhost('lists.freesinno.com','freesinno.com')DEFAULT_SERVER_LANGUAGE = 'zh_CN'# 执行配置自动检查和修复# ./bin/check_perms -f# ./bin/genaliases# 创建邮件列表mailman# ./bin/newlist mailmanEnter the email of the person running the list: (这里输入邮件列表所有者的邮件地址)Initial public password: (这里输入管理密码)Hit enter to notify public owner...(回车)# 把用户添加到邮件列表里测试一下,建一个文本文件,比如members.txt,一行一个邮件地址,然后执行如下命令# ./bin/add_members -n members.txt mailman# 修改mailman管理界面的管理员密码,以便通过界面认证后能够通过界面创建和操作邮件列表# ./bin/mmsitepass配置Postfix# vi /etc/postfix/main.cf
代码: 全选
#myorigin = $mydomain #建议注释掉myorigin(不注释该行mailman将无法使用,原因暂时不明)virtual_alias_domains = lists.freesinno.comrecipient_delimiter = +owner_request_special = noalias_maps = hash:/opt/FreeSInno/Mail/mailman/data/aliasesvirtual_alias_maps = hash:/opt/FreeSInno/Mail/mailman/data/virtual-mailman,mysql:/opt/FreeSInno/Mail/postfix/etc/mysql_virtual_alias_maps.cftransport_maps = hash:/etc/postfix/transport# vi /etc/postfix/transport
代码: 全选
insert into transport set domain='lists.freesinno.com',destination='local:';# /opt/FreeSInno/Mail/postfix/sbin/postmap /etc/postfix/transport配置mailman的web配置,这里以httpd.conf的虚拟主机为例# vi /opt/FreeSInno/LAMPP/etc/apache/wwwconf/maillists.conf
代码: 全选
Postfix 邮件路由和传输研究2008-10-13 23:58
本文最初发表于 http://hi.baidu.com/delphiss/blog/item/9f6c71cead14423bf9dc6148.html转载请注明出处作者:wdy
postfix从各种渠道收到邮件后,先由cleanup程序处理收件地址,就是把一些不规范的发件和收件地址域名“清理”一下,比如没有的补全,改写等等。
cleanup清理后的邮件被队列管理器交给trivial-rewrite来决定下一步的路由。
postfix下一步的传输前需要获得几个目标地址数据:
mydestination:本地标识; virtual_mailbox_domains:虚拟邮箱域名; relay_domains:转发域。
路由信息包括邮件一下步的传输者(transport)和收件域名(next-hop destinations)。
传输者是指 local 或 smtp 这样的在master.cf 里定义的记录。next-hop destinations 包括 主机或域名等。
trivial-rewrite 判定的过程如下:
如果收件域出现在mydestination里,或目标收件ip地址与 $inet_interfaces 或 $proxy_interfaces 匹配,trivial-rewrite把邮件交给 [local_transport]; [local_transport]的缺省设置是 local:$myhostname。表示transport是local(master.cf里定义的),邮件域名改写为$myhostname。
如果收件域出现在virtual_mailbox_domains里,表示是个虚拟域的邮件,把邮件交给 [virtual_transport]; [virtual_transport] 缺省的设置是 virtual: ,表示用 virtual 投递,路由收件域名不变,还是收件地址中的虚拟域名。 virtual 根据 virtual_mailbox_base 来确定邮箱根目录,根据 virtual_mailbox_maps 来确定邮箱的存储路径,根据 virtual_uid_maps 和 virtual_gid_maps 来确定保存邮件使用的uid和gid。 当然现在大多数都使用 maildrop 来进行虚拟域的投递,安装好maildrop后先在master.cf里把maildrop配置成一个transport,然后设置 : virtual_transport = maildrop:
如果收件域出现在relay_domains里,就说明发件者因为各种原因无法把信件投递到收件域的主MX服务器了,自己正做为备用MX服务器接收了这些邮件。 postfix收下邮件后将尝试连接主MX服务器,交出之前收到的邮件。 如果邮件在队列里保留时间超过maximal_queue_lifetime规定的时间,就会发一份退信通知给发信人。 [relay_transport] 的缺省设置是 relay: 。 如果 relay_transport 设置里next-hop destinations为空,则依次查询 sender_dependent_relayhost_maps, relayhost 来确定,如果都为空则next-hop destinations 为收件地址域名不变。 如果收件域是需要远程投递的其他的域,把邮件交给 [default_transport]。 [default_transport] 的缺省设置是 smtp: 。 smtp MDA会先查询收件域名的mx记录,查询出ip后连接25端口进行投递。 如果 default_transport 设置里next-hop destinations为空,则依次查询 default_transport, sender_dependent_relayhost_maps, relayhost来确定,如果都为空则next-hop destinations 为收件地址域名不变。
以上是postfix缺省的邮件路由方式,如果我们要自己指定一些路由方式,比如把 abc.com 所有邮件转发到另外一台主机让它来投递,把 root@xyz.com 的邮件拒收等等,我们就需要用到transport_maps查询表。transport_maps比缺省的postfix路由方式优先级要高。
transport_maps数据项的键名为收件地址,键值为 transport:nexthop收件地址可以是一个域名,表示匹配这个域名下所有的收件地址。transport必须是master.cf里定义的传输方式。 nexthop 的形式为 host:port。host只能搭配 inet 或 unix 类型的传输方式。如果 host 是个域名,则先查询mx记录确定ip地址。如果 host 本身就是个ip或是个A记录,则需要用方括号括起来。port指定要连接的端口,缺省是25。
举几个例子:
abc.com smtp:[192.168.12.34]:20025发送给abc.com的邮件使用smtp MDA传送到192.168.12.34的20025端口上。
xyz.com maildrop发送给xyz.com的邮件交给maildrop投递。
root@abc.com error:No mail accepted for root当场拒收给root@abc.com的邮件,并给出错误信息:No mail accepted for root
spam@mydomain.com spam这个是dspam里的设置,表示把发给spam@mydomain.com的邮件交给spam(同样,spam在master.cf里设置)。
CentOS 5.1下 postfix + extmail + dovecot + maildrop 最新版安装笔记2008-10-11 12:28
本文最初发表于 http://hi.baidu.com/delphiss/blog/item/38571c94f7a7d50e7af48052.html转载请注明出处作者:wdy
安装环境是 CentOS 5.1,分区的时候 对 /var/spool/postfix 和 /var/vmail 进行了单独分区。
/var/spool/postfix 是postfix存储队列的地方, /var/vmail 是用来存储虚拟账号邮件的。
CentOS提供了很方便的yum在线安装,我的基本原则是非重要、对版本不敏感的模块尽量用yum安装,邮件系统主要模块则用源码编译安装。
首先用yum安装的模块有: mysql mysql-server mysql-devel db4-devel openssl gcc libxml2 libxml2-devel gcc-c++
几个模块都需要用到PCRE, 前面说的 gcc-c++ 是安装PCRE必须的。下载安装 RCRE:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz
先说明一下几个模块的搭配。
MTA 用的是 postfix的最新版本 postfix-2.5.5。
web模块是最先需要确定的,因为它决定了mysql表结构,这里选用国产的extmail,其他的根据extmail的需要倒推来确定。
webmail 使用 extmail-1.0.5 ,web管理模块用 extman-0.2.5
最新版本的extmail对maildrop的自动回复、转发等提供了很好的支持,所以MDA采用最流行的maildrop(2.0.4 )
这里面简单说一下为什么要用maildrop。
对虚拟用户投递的支持,postfix自带了一个投递代理(MDA):virtual
virtual投递代理在 master.cf 里描述为:virtual unix - n n - - virtual
如果我们在main.cf 里 设置 virtual_transport = virtual ,就表示对于包含在 virtual_mailbox_domains 域名里的邮件,都使用virtual进行投递。
postfix自带的virtual只提供了最基本的QUOTA功能,如果想使用更复杂的功能,如自动转发,自动回复,邮件自定义过滤等,就需要换成更高级的MDA。
当然可选择的MDA有很多种,比如 procmail, maildrop 等。我这里选用maildrop,为啥?大家都用这个。。。
用户信息存储方式也有很多可选的,比如mysql,ldap等。这里选mysql,原因是各个模块,包括extmail等对这个支持最好最方便最简单。
maildrop 在投递邮件的时候,需要确定一些数据,比如收件用户的Maildir的路径,保存邮件用的uid,gid,邮箱容量等,这些数据需要maildrop的同门师兄 courier-authlib 来提供,所以要先吧courier-authlib装好。
下面要说的是SMTP 的 SASL认证(这个说来话长,有空补上)。postfix的模块化设计在这里也体现出比qmail高明的地方。
postfix 2.3 以后sasl支持三种模块:Cyrus SASL version 1 Cyrus SASL version 2 Dovecot protocol version 1
网上大部分的文章都是讲用 Cyrus SASL 2(并用Cyrus IMAP 提供POP3/IMAP服务),本文采用后起新秀 Dovecot 做为 sasl模块,Dovecot同时提供 POP3/IMAP 服务。
Dovecot使用最新的dovecot-1.1.4 。
开始安装!
下载 postfix-2.5.5.tar.gz
postfix安装的是需要指定几个专门的用户和组,先创建
#groupadd -g 2001 postfix#useradd -g postfix -u 1001 -s /sbin/nologin -M postfix#groupadd -g 2002 postdrop#useradd -g postdrop -u 2002 -s /bin/false -M postdrop
编译#make makefiles CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" \-DHAS_PCRE -DHAS_MYSQL \-I/usr/include/ -I/usr/local/include -I/usr/include/mysql/' \AUXLIBS='-L/usr/local/lib -L/usr/lib/mysql -lmysqlclient -lpcre'#make#make install
make install的提问全部回车默认。注意参数 -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" 表示启用SASL身份认证,并默认使用dovecot。mysql的几个路径可以根据实际情况做修改,我这里的目录都是yum默认安装的。
先导入mysql表结构和数据。
下载extman-0.2.5.tar.gz解开后进入 docs目录
建库建表:#mysql -u root -p < extmail.sql(注意extmail.sql里配置的数据库,用户名,口令都是extmail)
导入初始数据:#mysql -u root -p < init.sql(先吧 init.sql 文件里的 extmail.org 改成你自己的域名)
把目录下 mysql_*.cf 全部拷贝至 /etc/postfix# cp mysql_*.cf /etc/postfix/
下载 dovecot-1.1.4.tar.gz
#./configure --prefix=/usr/local/dovecot --sysconfdir=/etc/dovecot --with-sql --with-sql-drivers --with-mysql --with-ssl=openssl#make#make install
注:dovecot的安装参考了javaeye unixboy的文章,略有改动
配置dovecot.conf#cd /etc/dovecot#cp dovecot-example.conf dovecot.conf#vi dovecot.conf-------------分割线---------------base_dir=/var/run/dovecotprotocols=imap imaps pop3 pop3slisten=*disable_plaintext_auth = no ssl_disable = yes mail_location = maildir:/var/vmail/%d/%n/Maildirpop3_uidl_format=%08Xu%08Xv
auth default {...mechanisms = plain login digest-md5 cram-md5 # 去掉注释passdb sql { args = /etc/dovecot/dovecot-sql.conf}...# 去掉注释userdb sql { args = /etc/dovecot/dovecot-sql.conf}...socket listen { ... client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix }}}-------------分割线---------------
配置dovecot-sql.conf#cp dovecot-sql-example.conf dovecot-sql.conf#vi dovecot-sql.conf-------------分割线---------------driver = mysqlconnect = host=localhost dbname=extmail user=extmail password=extmaildefault_pass_scheme = MD5-CRYPT
password_query = SELECT username AS user, password AS password \ FROM mailbox WHERE username = '%u' AND active = '1'
user_query = \SELECT maildir as home,2001 as uid ,2001 as gid \FROM mailbox WHERE username='%u' and active='1'
-------------分割线---------------
创建符号链接#ln -s /usr/local/dovecot/sbin/dovecot /usr/bin/dovecot
继续配置 postfix
#mv /etc/aliases /etc/aliases.old#ln -s /etc/postfix/aliases /etc/aliases#/usr/bin/newaliases
# vi main.cf
myhostname = mail.abc.commydomain = abc.commyorigin = $mydomainmydestination = $myhostname localhost localhost.$mydomainmynetworks = 127.0.0.0/8inet_interfaces = allhome_mailbox = Maildir/
sendmail_path = /usr/sbin/sendmailnewaliases_path = /usr/bin/newaliasesmailq_path = /usr/bin/mailqsetgid_group = postdrophtml_directory = nomanpage_directory = /usr/local/mansample_directory = /etc/postfix
#=====================Vritual Mailbox settings=========================virtual_mailbox_base = /var/vmail/virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cfvirtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cfvirtual_alias_domains =virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cfvirtual_uid_maps = static:2001virtual_gid_maps = static:2001virtual_transport = virtual
#====================QUOTA========================message_size_limit = 52428800mailbox_size_limit = 209715200virtual_mailbox_limit = 209715200virtual_create_maildirsize = yesvirtual_mailbox_extended = yesvirtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cfvirtual_mailbox_limit_override = yesvirtual_overquota_bounce = yes
#====================SASL ESMTP Authenticat=================smtpd_sasl_auth_enable = yessmtpd_sasl_type = dovecot#smtpd_sasl_path 注意这个是dovecot的sasl路径,与 dovecot.conf 里的对应smtpd_sasl_path = private/authbroken_sasl_auth_clients = yessmtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destinationsmtpd_sasl_local_domain =smtpd_sasl_security_options = noanonymoussmtpd_banner=$myhostname ESMTP
readme_directory = nocommand_directory = /usr/sbindaemon_directory = /usr/libexec/postfixqueue_directory = /var/spool/postfixmail_owner = postfixdata_directory = /var/lib/postfix
启动服务dovecotpostfix start
如果出错,看看 /var/log/maillog
未完待续...
2008年10月10日星期五
FreeBSD, Debian, CentOS一个网卡绑定多个IP
配置/etc/rc.conf
ifconfig_interface="inet 192.168.1.5 255.255.255.0"
ifconfig_interface_alias0="inet 192.168.1.6 255.255.255.0"
注意interface是网卡设备名.
2. Debian
/etc/network/interfaces
auto eth0iface eth0 inet staticaddress 192.168.1.145
netmask 255.255.255.0
network 192.168.1.0gateway 192.168.1.1
另外一个IP
auto eth0:1iface eth0:1 inet staticaddress 192.168.1.146
netmask 255.255.255.0
network 192.168.1.0gateway 192.168.1.1
3.CentOS:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0ONBOOT=yesHWADDR=00:0C:29:16:39:5FNETMASK=255.255.255.0IPADDR=192.168.1.147GATEWAY=192.168.1.1TYPE=Ethernet
绑定另外一个IP, 创建另外一个文件, ifcfg-eth0
DEVICE=eth0 // 注意还是eth0, 指示此IP绑定到eth0ONBOOT=yesHWADDR=00:0C:29:16:39:5FNETMASK=255.255.255.0IPADDR=192.168.1.148GATEWAY=192.168.1.1TYPE=Ethernet
内容来自:http://www.jb51.net/os/Unix/1567.html
http://www.jb51.net/os/Unix/1567.html
CentOS网络设置
这里介绍一下Linux下的网络设置文件,这是网络计算机服务器的前提条件。
1.网络的基本设置
我们在设置网络环境的时候,提前要弄清楚以下的相关信息。
IP IP地址
Netmak 子网掩码
Gateway 默认网关
HostName 主机名称
DomainName 域名
DNS DNS的IP
2.网络设置文件
无论是通过网络配置命令(下文将提到)来配置网络,还是通过图形化的配置界面,最终的配置信息都将写入到某某的文件中,也就是说一旦我们知道了这些信息都写到了什么文件中或哪儿个文件中,我们就可以通过直接的修改某某文件来直接进行配置,下面就说明一下网络设置将要涉及到的几个主要的文件。不光是 CentOS,其他的UNIX系的OS都可以通过这个方法来配置网络,不过系统的不同定义也不同,比如说有些系统会说到通过直接修改文件的方法配置网络信息会导致网络环境的不稳定,提倡使用图形界面或配置命令的形式来配置网络,这里要特别的注意。
(1)文件 /etc/sysconfig/network
这个/etc/sysconfig/network文件是定义hostname和是否利用网络的不接触网络设备的对系统全体定义的文件。
设定形式:设定值=值
/etc/sysconfig/network的设定项目如下:
NETWORKING 是否利用网络
GATEWAY 默认网关
IPGATEWAYDEV 默认网关的接口名
HOSTNAME 主机名
DOMAIN 域名
(2)文件 /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts在这个目录下面,存放的是网络接口(网卡)的制御脚本文件(控制文件),ifcfg- eth0是默认的第一个网络接口,如果机器中有多个网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg- eth3......(这里面的文件是相当重要的,涉及到网络能否正常工作)
设定形式:设定值=值
设定项目项目如下:
DEVICE 接口名(设备,网卡)
BOOTPROTO IP的配置方法(static:固定IP, dhcpHCP, none:手动)
HWADDR MAC地址
ONBOOT 系统启动的时候网络接口是否有效(yes/no)
TYPE 网络类型(通常是Ethemet)
NETMASK 网络掩码
IPADDR IP地址
IPV6INIT IPV6是否有效(yes/no)
GATEWAY 默认网关IP地址
这里有一个例子:
CODE:
[root@linux ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0
2 BOOTPROTO=static
3 BROADCAST=192.168.1.255
4 HWADDR=00:0C:2x:6x:0x:xx
5 IPADDR=192.168.1.23
6 NETMASK=255.255.255.0
7 NETWORK=192.168.1.0
8 ONBOOT=yes
9 TYPE=Ethernet
(3)文件 /etc/resolv.conf
这个文件是用来配置主机将用的DNS服务器信息。在这个文件中如果不设置DNS服务器的IP地址,那么在通信的时候,将无法指定像[url=../] [url=http://www.centospub.com[/url]www.centospub.com[/url[/url]]这样的域名。(DNS是Domain Name
System的简称,中文名称域名解析服务器,主要是IP和域名转换功能)/etc/resolv.conf的设定项目:
domain ←定义本地域名
search ←定义域名和搜索列表
nameserver←定义被参照的DNS服务器的IP地址(最多可指定3个)
一般来说最重要的是第三个nameserver项目,没有这项定义,用域名将无法访问网站,并且yum等服务将无法利用
(4)文件 /etc/hosts
/etc/hosts这个文件是记载LAN内接续的各主机的对应[HostName和IP]用的。在LAN内,我们各个主机间访问通信的时候,用的是内网的IP地址进行访问(例:192.168.1.22,192.168.1.23),从而确立连接进行通信。除了通过访问IP来确立通信访问之外,我们还可以通过HostName进行访问,我们在安装机器的时候都会给机器起一个名字,这个名字就是这台机器的HostName,通过上图可以看到,HostA的 hostname是centos1,HostB的hostname是centos2那我们怎么能不但通过IP确立连接,通过这个IP对应的 HostName进行连接访问呢?解决的办法就是这个/etc/hosts这个文件,通过把LAN内的各主机的IP地址和HostName的一一对应写入这个文件的时候,就可以解决问题。
要在HostA上用ssh访问HostB的时候,在命令行下做这样的操作:
[ - ]CODE:
[root@centos1 ~]# ssh 192.168.1.23
[email=root@192.168.1.23's]root@192.168.1.23's[/email] password:
Last login: Mon Dec 25 15:04:58 2006 from centos1
[root@centos2 ~]#
访问成功后,我们看到hostname的地方变化了。
那么我们用hostname试试看:
[ - ]CODE:
[root@centos1 ~]# ssh centos2
ssh:centos2: Name or service not known ←提示错误,不知道主机
[root@centos1 ~]#
那么我们编辑/etc/hosts文件,将HostB的IP和hostname的对应关系写入这个文件,如果主机有域名,可以将域名写在IP地址之后hostname之前,并且用空格隔开,形式如第三行127.0.0.1的设置。
[ - ]CODE:
[root@centos1 ~]# cat -n /etc/hosts
1 # Do not remove the following line, or various programs
2 # that require network functionality will fail.
3 127.0.0.1 localhost.localdomain localhost
4 192.168.1.23 centos2
[root@centos2 ~]#
然后我们再从复#ssh centos2的操作
[ - ]CODE:
[root@centos1 ~]# ssh centos2
[email=root@centos2's]root@centos2's[/email] password:
Last login: Mon Dec 25 15:05:07 2006 from centos1
[root@centos2 ~]#
可以看到访问成功了,这个文件就是这样的,倘若你要用windowsXP访问局域网中的linux你也可以用上面的方法,只不过在 windowsXP下面你也要修改hosts这个文件,文件路径:C:\WINDOWS\system32\drivers\etc\hosts,在这个文件中添加你要访问的局域网中的主机的IP和hostname,就能通过主机名访问主机了。
3.网络基本命令
(1)network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。例如:
[root@linux ~]#/etc/init.d/networkrestart
同样也可以用service这个命令来操作网络服务例如:
[root@linux ~]#service network restart
start ←启动
stop ←停止
restart ←再启动
reload ←和再启动一样(..)
status ←状态表示
如果服务器软件采用rpm的方式安装,以上的内容大多数都对应。
(2)network管理命令网络管理还有一些常用的命令,下面介绍几个常用的命令。
ifconfig
netstat
hostname
ping
traceroute
ifconfig
这个命令可以用于,网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个ifconfig可以表示网络接口的状态。例如:
[root@linux ~]# ifconfig
eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45
inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe61:445/64 Scopeink
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:472 errors:0 dropped:0 overruns:0 frame:0
TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:35804 (34.9 KiB) TX bytes:53012(51.7 KiB)
Interrupt:185 Base address:0x1080
lo Link encapocal Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:8 errors:0 dropped:0 overruns:0 frame:0
TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:560 (560.0 b) TX bytes:560 (560.0b)
[root@linux ~]#
看看ifconfig的输出内容
1. Link encap ←
2. HWaddr ←MAC地址
3.inet addr ←IP地址(IPV4)
4. Bcast ←广播地址
5. Mask ←衍码
6. inet6 addr ←IP地址(IPV6)
7. UP ←启动中
8. BROADCAST ←广播地址有效
9. RUNNING ←动作
10. MTU ←网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
11. Metric ←
12. RX packets ←受信包数
13. TX packets ←送信包数
14. collisions ←
15. interrupt ←IRQ号码
16. Baseaddress ←I/O地址
通过这个命令还可以up(开启)和down(关闭)某个网络接口(网卡),例如我们关闭eth0可以用下面的命令:
[root@linux ~]#ifconfigeth0 down
相反的开启如下:
[root@linux ~]#ifconfigeth0 up
通过这个命令还可以设置网络接口(网卡),例如我们将eth0的IP设置成192.168.1.11,子网衍码设置成255.255.255.0如下:
[root@linux ~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0
假如有多个网络接口的情况下,ethX的X部分用网络接口码(数字,例如eth0,eth1,eth2代替)。
netstat
这条命令是显示网络各种情况的命令,在不跟随任何参数被执行的情形下,将表示Active Internet connections和ActiveUNIX domain sockets的情报。
看看下面的输出信息:
这里是192.168.1.56正在通过ssh连接192.168.1.81的情形
[root@linux ~]#netstat
Active Internetconnections (w/o servers)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0 ::ffff:192.168.1.81:ssh ::ffff:192.168.1.56:4757 ESTABLISHED
Active UNIX domainsockets (w/o servers)
Proto RefCntFlags Type State I-Node Path
unix 11 [ ] DGRAM 5202 /dev/log
unix 2 [ ] DGRAM 5997 @/var/run/hal/hotplug_socket
unix 2 [ ] DGRAM 2536 @udevd
unix 2 [ ] DGRAM 7474
unix 3 [ ] STREAM CONNECTED 5995 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 5994
unix 3 [ ] STREAM CONNECTED 5974
unix 3 [ ] STREAM CONNECTED 5973
unix 2 [ ] DGRAM 5933
unix 2 [ ] DGRAM 5923
unix 2 [ ] DGRAM 5876
unix 2 [ ] DGRAM 5819
unix 2 [ ] DGRAM 5805
unix 2 [ ] DGRAM 5786
unix 2 [ ] DGRAM 5723
unix 3 [ ] STREAM CONNECTED 5388
unix 3 [ ] STREAM CONNECTED 5387
unix 2 [ ] DGRAM 5280
unix 2 [ ] DGRAM 5210
[root@linux ~]#
主要的选项:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ipconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
以上的选项可以结合使用,例如我们想知道正在开放的TCP端口,可以用下面的形势执行察看:
[root@linux ~]#netstat -at
Active Internetconnections (servers and established)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0 *:617 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:ipp *:* LISTEN
tcp 0 0 linux.xiaoqi.ddo.jp:smtp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 132 ::ffff:192.168.1.81:ssh ::ffff:192.168.1.56:4757 ESTABLISHED
[root@linux ~]#
其他使用方法可以自己尝试…..
Hostname
这个命令是表示hostname和设置hostname用的,在不跟随任何选项被执行的情形下,将表示现在的hostname,例如下面的输出:
[root@linux ~]#hostname
linux.xiaoqi.ddo.jp
[root@linux ~]#
如果是root的登陆情形下,可以更改hostname,例如我们把现在的hostname改称centos的情形如下:
[root@linux ~]#hostname centos
[root@linux ~]#hostname
centos
[root@linux ~]#
ping
这条命令是通过向目标地址发送ICMP信息包的方式,来确定目标主机是否在工作或网络联通与否。参数是目标主机的IP地址,例如我们要知道自己的主机的网络配置是否正常,可通过ping自己主机来判断,情形如下:
[root@linux ~]# pinglocalhost // 这个地方的localhost可以用127.0.0.1来代替,或目标地址IP地址或域名,通常还用这条命令来访问DNS服务器来取得目标主机的IP地址或域名等用法
PING linux.xiaoqi.ddo.jp (127.0.0.1) 56(84) bytes ofdata.
64 bytes fromlinux.xiaoqi.ddo.jp (127.0.0.1): icmp_seq=0 ttl=64 time=0.999 ms
64 bytes fromlinux.xiaoqi.ddo.jp (127.0.0.1): icmp_seq=1 ttl=64 time=0.630 ms
---linux.xiaoqi.ddo.jp ping statistics ---
2 packetstransmitted, 2 received, 0% packet loss, time 1001ms // 注意这个地方有一个0%表示网络正常,当此处的X%的X是0以外的数字就表明网络有问题,或者当ping 命令被执行后,将会显示time out之类的字样。
rtt min/avg/max/mdev= 0.630/0.814/0.999/0.186 ms, pipe 2
[root@linux ~]#
Ping命令的主要选项如下:
-c 数目在发送指定数目的包后停止。
-d 设定SO_DEBUG的选项。
-f 大量且快速地送网络封包给一台机器,看它的回应。
-I 秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l 次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q 不显示任何传送封包的信息,只显示最后的结果。
-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s 字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
2008年10月9日星期四
zimplit—新概念的CMS开源程序

zimplit是一款免费的PHP的CMS系统,也是一款比较新概念的CMS系统:
简单为其最大特点,整个站点一个32k的文件即可搞定;没有后台管理;不需数据库,所有的数据都在 HTML 页面;
zimplit自称100%对搜索引擎友好;
网站管理者只要登陆进去即可管理,所有添加页面管理编辑内容都在左上方的小菜单完成;
可以自己设计、或网上下载使用任何HTML /CSS 主题; Tags: CMS, web2.0, Webdesign
Related posts
为你的网站选择最完美的颜色搭配 (1)
WidgetBucks—注册即送25美圆 (0)
WebToJepg—在线网页截屏 (1)
templatr—在线定制WordPress模板 (1)
taggify—为你站上的图片加上各种说明 (0)
printwhatyoulike—只打印想要的
部分网站提供了打印样式表实现了CSS对打印的控制,设定欲打印的内容也大多是浏览者想要的内容,从而为浏览者提供了方便,但是也有相当一部分没有加入这样的功能,浏览者通常只有借助word才能完成这以工作,但是有了printwhatyoulike,就大大简化了这一工作,只要在printwhatyoulike首页输入欲打印的网页地址,然后就可以像在word中那样对页面中的元素进行编辑了,当然所能进行的操作没有word那样多,但是足以进行这些元素的取舍,位置的调动等方面的操作。下面是一个演示,文字不足以详尽,看图便知其妙处:
Ubuntu 8.10 正式版发布时间的WEB倒计时


各位还记得 Ubuntu 8.04 正式版发布之前 Ubuntu 官方提供离 Ubuntu 8.04 正式版发布时间的WEB倒计时吗?也许你在那个时候还把 Ubuntu 8.04 正式版发布的倒计时嵌在了你的网站或是 Blog 中来宣传 Ubuntu 。现在 Ubuntu 官方已经提供了 Ubuntu 8.10 正式版发布时间的WEB倒计时。如果你有网站或 Blog ,把这个倒计时加进去吧,一起向世界传播 Ubuntu !添加的时候非常的简单,你只需要复制到你的网页里,而且每天图片将会自动更新显示离 Ubuntu 8.10 正式版发布的天数。
深色的倒计时:
代码:
浅色的倒计时:代码:
把代码粘贴到你的网页的合适的位置,广大的Ubuntuer们,我们一起来来宣传 Ubuntu 并一天一天地见证 Ubuntu 8.10正式版的发布吧!
获取代码:
http://www.ubuntu.com/getubuntu/countdown
查看倒计时在网页里的展示效果请点击OwnLinux或者LDCN
Ubuntu 单网卡架设VPN并NAT共享上网办法
服务器使用shorewall作为防火墙,实际上shorewall只是作为iptables的一个配置程序而已,实际上防火墙还是iptables;首先是建立VPN,使用软件包PPTPD,这样做的好处是方便认证,也支持windows,安全性不如openvpn,但是简单实用;
服务器环境:OS:ubuntu server 8.04.1firewall: shorewallIP:192.168.2.100安装:
sudo apt-get install pptpd
修改配置文件:/etc/pptpd.conf
修改localip remoteip
localip 192.168.250.1remoteip 192.168.250.234-238,192.168.250.245
这里随便找了个IP段localip相当于拨号后的服务器地址,可以写成本机IP,或者和remoteip的IP段相同的一个IP地址
remoteip是客户机分配的IP段,这里分配了12个IP地址,也就只允许12个机器同时通过VPN连接,再增加就不能分配到IP地址了
修改配置文件:/etc/ppp/chap-secrets
这个文件里面设置登陆用的账号密码等信息
设置格式是:
# client server secret IP addresses
abc * 123456
第一个是用户名 然后是服务器地址 然后是登陆所用的密码 最后是为客户拨号后分配的IP地址,不指定的话就是系统自动分配
以上过程之后,咱的PPTPD就配置好了哈
由于服务器采用了shorewall防火墙,需要开放端口1723,47和gre协议
编辑/etc/shorewall/rules
增加:
ACCEPT net $FW greACCEPT net $FW tcp 1723ACCEPT net $FW tcp 47
然后重启下shorewall:
sudo shorewall restart
开始测试在windows上VPN拨号吧
windows下VPN连接建立方法就不多说了哈
OK,测试VPN可以拨通了,但是还不能通过服务器的网络连接互联网,可能你会发现,除了访问服务器,其他你什么都干不了
下面来做NAT,不过这个地方我也没做得很好,还有点缺陷,希望以后能解决这个问题
拨通VPN后,在服务器上使用ifconfig可以看到多了一个PPP*的网络连接,例如我这里是ppp0
做NAT我也使用shorewall来做
修改/etc/shorewall/interface
增加:
ppp0 ipv4
修改/etc/shorewall/zones
增加:
ppp ppp0
修改/etc/shorewall/masq
增加:
eth0 ppp0
OK,然后重启shorewall
sudo shorewall restart
NAT配置好了
这里要注意的是ppp0一定要存在,否则shorewall要报错,这个就是shorewall不足的地方了,不够灵活。
如果你不用shorewall 防火墙,直接使用iptables指令进行dnat操作,就不会因为没有ppp0连接而报错了。
感谢 P.A.R.F 的投递
实用的 Linux 命令壁纸

对 Linux 新手来说,可能有点担心的是众多难以记住的 Linux 命令。这张实用的 Linux 命令壁纸兴许能够让你派上用场。它将常用的基本 Linux 命令集中到一块,以桌面壁纸的方式呈现,非常便于参考。screen.width*0.6) {this.width=screen.width*0.6;this.alt='此图已经缩小,点击察看原图。
来自:http://tuxtraining.com/2008/10/02/handy-wallpaper-for-basic-linux-commands/
Linux 包管理速查表
任务
aptDebian, Ubuntu
zyppopenSUSE
yumFedora, CentOS
安装包
apt-get install
zypper install
yum install
移除包
apt-get remove
zypper remove
yum erase
更新包列表
apt-get update
zypper refresh
yum check-update
更新系统
apt-get upgrade
zypper update
yum update
列出源
cat /etc/apt/sources.list
zypper repos
yum repolist
添加源
(edit /etc/apt/sources.list)
zypper addrepo
(add
移除源
(edit /etc/apt/sources.list)
zypper removerepo
(remove
搜索包
apt-cache search
zypper search
yum search
列出已安装的包
dpkg -l
rpm -qa
rpm -qa
任务
urpmiMandriva
slackpkgSlackware
pacmanArch
安装包
urpmi
slackpkg install
pacman -S
移除包
urpme
slackpkg remove
pacman -R
更新包列表
urpmi.update -a
slackpkg update
pacman -Sy
更新系统
urpmi --auto-select
slackpkg upgrade-all
pacman -Su
列出源
urpmq --list-media
cat /etc/slackpkg/mirrors
cat /etc/pacman.conf
添加源
urpmi.addmedia
(edit /etc/slackpkg/mirrors)
(edit /etc/pacman.conf)
移除源
urpmi.removemedia
(edit /etc/slackpkg/mirrors)
(edit /etc/pacman.conf)
搜索包
urpmf
--
pacman -Qs
列出已安装的包
rpm -qa
ls /var/log/packages/
pacman -Qii
任务
conaryrPath, Foresight
pisiPardus
emerge Gentoo
安装包
conary update
pisi install
emerge
移除包
conary erase
pisi remove
emerge -C
更新包列表
pisi update-repo
emerge --sync layman -S [for added repositories]
更新系统
conary updateall
pisi upgrade
emerge -NuDa world
列出源
pisi list-repo
layman -L
添加源
pisi add-repo
layman -a
移除源
pisi remove-repo
layman -d
搜索包
conary query
pisi search
emerge --search
列出已安装的包
conary query
pisi list-installed
cat /var/lib/portage more
参考
Apt 使用参考
Dpkg 常用指令操作快速参考
Pacman ── Arch Linux 的包管理工具
[via DistroWatch]
在 U 盘上安装 slitaz 系统
slitaz是一个非常小的linux发行版(使用了BusyBox)。可以方便的装在U盘上。
然后就可以在其他机器上启动啦。
台湾的penk对其进行了改进,加入了中文输入法(不过好像是繁体的)。
下载地址:ftp://mirror.nttu.edu.tw/livecd/PUD/slitaz/slitaz.tw-04162008.iso
首先保证U盘上已经装了个grub。没有的话可以马上装一个。
在U盘上建个boot文件夹,然后在boot下建个grub文件夹,把/boot/grub下的文件复制到U盘上相应的位置。
进入grub的命令行(在shell中输入grub,或者开机进入grub是按c),然后setup(fd0)就可以了。(fd0根据实际情况修改,使用TAB键提示。)
然后把slitaz的那个iso的文件解压出来放到U盘上(可以在U盘上建个文件夹,如slitaz,然后把解压出来的文件放到这个文件夹下),然后修改menu.lst,加入如下内容(假定解压的文件放在slitaz下):title SliTaz GNU/Linuxkernel /slitaz/boot/bzImage root=/dev/ram0 vga=771 ramdisk_size=100000initrd /slitaz/boot/rootfs.gz
保存,重启,选择从U盘启动即可
来自:Ubuntu中文星球
2008年10月8日星期三
15个在线做笔记的网站推荐
NoteSake
对中文的支持没有问题。可以给笔记添加课程分类和Tag以便于搜索,还可以通过Group的形式与同学一起分享笔记。采用独特的Textile标记,更好地管理笔记的格式。支持latex标记,方便输入数学公式。支持将笔记导出成为PDF和DOC文件。
http://notesake.com/
Notely
专门为学生设计的站点,帮助你更有组织计划的进行学习。提供的功能也是非常之多:笔记功能,日历,to-do list,task list,联系人以及上传功能。同样支持课程分类,支持pdf,doc以及txt格式的笔记导出下载,并且可以通过email直接转发。个人感觉,将课 程,日历,笔记等功能集合在一起,非常适合学生的需要,就像一般的pim软件一样,非常容易的通过calendar添加对应日记的任务以及笔记。好友功能 也非常不错,可以添加facebook上的好友。大家可以通过网站上的Demo功能先行体验。
http://www.notely.net/
MyNoteIt
功能也非常之多的一个站点:除了笔记功能之外,Calendar,Group,to-do list,书签,好友等功能都具有。对于课程方面有着不错的功能,可以添加课程,针对每门课程添加单独课程,笔记,分数以及作业,并可以保存授课老师的联 系方式;借助于mynoteIT Mobile可以通过手机浏览你的笔记;支持上传word以及openoffice文件,还包括图片,扫描的笔记以及音频文件。同样提供体验功能。
http://www.mynoteit.com/
EverNote
EverNote相信很多朋友也都知道,功能也是非常不错,只是因为自己一直使用ubuntu的原因,所以一直没有用过。EverNote可以通过文 本,截图,手写等各种方式创建笔记;可以与手机或者PDA进行同步;通过IM软件或者Email和同学更快的分享你们的笔记;通过Google Desktop Search更加迅速的查找笔记,不过估计大家的笔记还没有多到这个程度。最新的EverNote2.2又提供了不少新功能,大家可以自己了解一下。
http://www.evernote.com/en/
OurNotePad
比较突出的功能是分享功能,支持一栏和四栏的笔记布局。可以让同一个group的人更好的了解工作的进程,使得老师能够更好的和学生进行合作。从界面到 操作都属于非常朴实的那种,如果大家喜欢Web2.0的风格,这个站点可能不会受到大家的欢迎。还有一些其他的功能,比如提醒,calendar和在线存 储等等,我没有更多的去了解,如果大家有兴趣,可以去看看。
http://ournotepad.com/
WikiPad
这是一款开源的,类似wiki的笔记工具。无论是windows,linux还是MacOS都可以使用这个软件。同时还有很多不错的功能:支持to-do list, 支持自动保存,支持导出成为html文件,采用纯文本的方式来保存所有的数据。你可以把它当做笔记本来使用,也可以写自己的wiki,甚至建立自己的 PIM或者PKM都可以。
http://www.jhorman.org/wikidPad/
NoteCentric
现在已经成为facebook的一个application,可以非常有效稳定的管理你的笔记。同样支持课程分类,提供相关笔记的功能,笔记的编辑非常容易上手,支持笔记的分享功能,通过RSS订阅提供了很好的提醒功能。
http://www.notecentric.com/
Writeboard
版本控制功能相当不错,可以了解到每次的更新,并且比较不同版本之间的区别,有些类似svn的感觉,并且可以通过订阅rss了解到所有笔记内容的变化, 所以对于group work相当适合。在你创建了一个write board之后,可以邀请你的同学或者朋友加入进来,对于每个人的修改都会有一个副本被保存下来。
http://writeboard.com/
ZohoWriter
这个站点我觉得很多人可能也推荐过。非常不错的在线笔记站点,支持多人访问,WYSIWYG的编辑模式,支持导入 doc,odt,sxw,html,rtf,jpg,gif,png等格式,支持导出为doc,pdf,sxw,odt,rft,txt以及html格 式,非常方便的分享功能,特殊符号的输入功能。如果想阅览之前版本的笔记,也可以通过History访问。对于英文的笔记,还提供了spell checking的功能。
http://writer.zoho.com/
YourDraft
通过WYSIWYG的编辑方式,非常轻松的创建自己的笔记。同时能够设置他人的访问权限,你可以允许别人阅读甚至给你的笔记添加评论或者回复。其实是通 过创建一个页面,内容可以由你个人自由添加,甚至可以很容易的将你创建的页面在你的博客或者网站当中使用,站点的说明里提供了这个功能的解释。
http://www.yourdraft.com/
Backpack
我很喜欢的一个站 点,能够将笔记,to-do list,一些想法,calendar很好的进行管理。不仅仅是作为一个笔记站点,使用方式也相当之多,可以用来设置提醒,制定任务列表,管理照片。通过 tagging page的方式使得管理页面也非常容易;通过提醒功能,你可以不用担心自己错过任何的事情。其实用处之多是我难以想像的,站点上游专门的example uses,大家可以去看看。
http://www.backpackit.com/
YahooNotePad
这个不如和Google Notebook一起来介绍,其实感觉没什么可说的了,大家都知道google的,yahoo的感觉上也差不多,可以和Outlook以及Palm Desktop进行同步,不过感觉速度一般,可能是我这里的网络问题。 不过这个和我所期望的笔记功能还是有区别的,如果大家对google notebook审美疲劳了,可以试试yahoo的。
http://notepad.yahoo.com/
MyYellowPad
可以通过myyellowpad管理你的购物列表,任务列表,电话号码,联系人名单,笔记,生日等等,不过整体感觉一般,说不定你会很喜欢的。
http://www.myyellowpad.com/
Jjot
第一感觉有些象google notebook,可以非常方便的将自己的想法,在网页上看到的内容保存下来,不过我觉得仅仅是这些功能,大家可能更加愿意使用google note,不知道大家怎么觉得。也有些类似KDE下面的Knote,这个是我经常在laptop上面使用的。
http://jjot.com/
SyncNotes
正如名字一样,这个站点的同步功能也许是最大的特色。你需要首先下载一个SyncNotes的客户端软件,这样你就可以通过你的笔记本电脑或者PDA管 理,添加你的笔记了。同时可以通过浏览器或者支持上网功能的手机将你的笔记内容和SyncNotes服务器进行同步。
http://www.syncnotes.com/
资料来源:IT世界
2008年9月18日星期四
Linux:SSH实用技巧及常用命令使用说明
CD 改变目录
LS 列出文件
MKDIR
RMDIR
PWD
CHGRP
CHOWN
CHMOD
LN OLDNAEM NEWNAME
RM PATH
RENAME OLDNAME NEWNAEM
EXIT 推出
LCD PATH 改变当前目录到本机目录
LLS
LMKDIR
LPWD L=LOCALHOST
PUT LOCALHOST_PATH HOST_PATH
PUT 本机目录或者文件
GET 远程主机目录文件 本机目录
GET 远程主机目录或者文件
GET *
GET *.RPM
# $OpenBSD: sshd_config,v 1.59 2002/09/25 11:17:16 markus Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22 SSH 默认的坚挺端口
#Protocol 2,1 选择SSH的版本
#ListenAddress 0.0.0.0 监听的IP地址
#ListenAddress ::
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key SSH VERSION 1 使用的密钥
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key SSH VERSION 2 使用的RSA私钥
#HostKey /etc/ssh/ssh_host_dsa_key SSH VAESION 2 使用的 DSA私钥
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 3600 版本一的密钥从新生成时间间隔
#ServerKeyBits 768 SERVER_KEY 的长度
# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH SSH登陆系统 记录信息 记录的位置 默认是/VAR/LOG/SECUER
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#UserLogin no 在SSH 下不接受LOGIN 程序登陆
#LoginGraceTime 120
#PermitRootLogin yes 是否让ROOT用户登陆
#StrictModes yes 用户的HOST_KEY 改面的时候不让登陆
#RSAAuthentication yes 是否使用纯的RAS认证 针对VERSION 1
#PubkeyAuthentication yes 是否使用PUBLIC_KEY 针对VERSION 2
#AuthorizedKeysFile .ssh/authorized_keys 使用不需要密码登陆的的帐号时帐号的存放文件所在的文件名
# rhosts authentication should not be used
#RhostsAuthentication no 本机系统不使用 RHOSTS 使用RHOSTS 不安全
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes 是否取消上面的认证方式 当然选是
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no 不使用针对 VERSION 1 使用RHOSTS 文件在/ETC/HOSTS.EQUIV 配合RAS进行认证 不建议使用
# similar for protocol version 2
#HostbasedAuthentication no 针对VERSION 2 也是上面的功能
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no 是否忽略主目录的 ~/.ssh/known_hosts文件记录
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes 是否需要密码验证
#PermitEmptyPasswords no 是否允许空密码登陆
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes 挑战任何密码验证
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#AFSTokenPassing no
# Kerberos TGT Passing only works with the AFS kaserver
#KerberosTgtPassing no
# Set this to 'yes' to enable PAM keyboard-interactive authentication
# Warning: enabling this may bypass the setting of 'PasswordAuthentication'
#PAMAuthenticationViaKbdInt no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes 是否显示上次登陆信息
#PrintLastLog yes 显示上次登陆信息
#KeepAlive yes 发送连接信息
#UseLogin no
#UsePrivilegeSeparation yes 用户权限设置
#PermitUserEnvironment no
#Compression yes
#MaxStartups 10 连接的画面的设置 从连接就是登陆画面
# no default banner path
#Banner /some/path
#VerifyReverseMapping no
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
DenyUsers * 设置受阻的用户 代表全部用户
DenyUsers test
DenyGroups test
SSH 自动登陆设置
1设置CLIENT端建立PUBLIC_KEY 和 PRIVATE_KEY
[TEST@TEST TEST] SSH-KEYGEN –T RSA //-T 说明使用RSA 加密算法
生成密钥的文件夹 $HOME/.SSH/ID_RSA
上传PUBLIC_KEY 到SERVER
SFTP TEST@TEST
LCD /HOME/.SSH
PUT ID_RSA.PUB
EXIT
登陆到SERVER
执行命令
[TEST@TEST SSH] CAT ../ID_RSA.PUB >> AUTHORIZED_KEYS
相关的安全设置
/ETC/SSH/SSHD_CONFIG
/ETC/HOSTS.ALLOW
/ETC/HOSTS.DENY
IPTABLES
编辑/ETC/HOSTS.DENY
SSHD : ALL :SPAWN (/BIN/ECHO SECURITY NOTICE FROM HOST `/BIN/HOSTNAME` ;\
/BIN/ECHO ; /USR/SBIN/SAFE_FINGER @%H )\
/BIN/MAIL –S “%d -%H SECURITY” ROOT@LOCALHOST &\
:TWIST (/BIN/ECHO –E “\N\nWARNING connection not allowed. You attempt has been logged. \n\n\n 警告信息
来源:赛迪网
Snort 中文手册
Snort 用户手册
第一章 snort简介
snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
嗅探器
所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的控制台上。首先,我们从最基本的用法入手。如果你只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令:
./snort -v
使用这个命令将使snort只输出IP和TCP/UDP/ICMP的包头信息。如果你要看到应用层的数据,可以使用:
./snort -vd
这条命令使snort在输出包头信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令:
./snort -vde
注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价:
./snort -d -v –e
数据包记录器
如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort就会自动记录数据包:
./snort -dev -l ./log
当然,./log目录必须存在,否则snort就会报告错误信息并退出。当snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名,例如:192.168.10.1
如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。为了只对本地网络进行日志,你需要给出本地网络:
./snort -dev -l ./log -h 192.168.1.0/24
这个命令告诉snort把进入C类网络192.168.1的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。
如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是tcpdump程序使用的格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中:
./snort -l ./log -b
注意此处的命令行和上面的有很大的不同。我们勿需指定本地网络,因为所有的东西都被记录到一个单一的文件。你也不必冗余模式或者使用-d、-e功能选项,因为数据包中的所有内容都会被记录到日志文件中。
你可以使用任何支持tcpdump二进制格式的嗅探器程序从这个文件中读出数据包,例如: tcpdump或者Ethereal。使用-r功能开关,也能使snort读出包的数据。snort在所有运行模式下都能够处理tcpdump格式的文件。例如:如果你想在嗅探器模式下把一个tcpdump格式的二进制文件中的包打印到屏幕上,可以输入下面的命令:
./snort -dv -r packet.log
在日志包和入侵检测模式下,通过BPF(BSD Packet Filter)接口,你可以使用许多方式维护日志文件中的数据。例如,你只想从日志文件中提取ICMP包,只需要输入下面的命令行:
./snort -dvr packet.log icmp
还有更多的.就看这里....http://man.chinaunix.net/network/snort/Snortman.htm
修改的postfix 邮件提示信息
我修改的postfix 邮件提示信息
postfix的提示信息存储在/etc/postfix/bounce.cf
修改完成后,运行postconf -b /etc/postfix/bounce.cf重新加载,加载后会显示内容。看一下是否修改成功。
代码:
#
# Do not edit this file. This file shows the default delivery status
# notification (DSN) messages that are built into Postfix.
#
# To change Postfix DSN messages, perhaps to add non-English text,
# follow instructions in the bounce(5) manual page.
#
#
# The failure template is used when mail is returned to the sender;
# either the destination rejected the message, or the destination
# could not be reached before the message expired in the queue.
#
failure_template = <<EOF
Charset: utf-8
From: MAILER-DAEMON (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
Postmaster-Subject: Postmaster Copy: Undelivered Mail
这里是 $myhostname 邮件服务器。
This is the mail system at host $myhostname.
很抱歉通知您,你的邮件无法投递到一个或者多个地址,
如果需要更多帮助,请将此邮件转发给邮件管理员。
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to <postmaster>
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
EOF
#
# The delay template is used when mail is delayed. Note a neat trick:
# the default template displays the delay_warning_time value as hours
# by appending the _hours suffix to the parameter name; it displays
# the maximal_queue_lifetime value as days by appending the _days
# suffix.
#
# Other suffixes are: _seconds, _minutes, _weeks. There are no other
# main.cf parameters that have this special behavior.
#
# You need to adjust these suffixes (and the surrounding text) if
# you have very different settings for these time parameters.
#
delay_template = <<EOF
Charset: utf-8
From: MAILER-DAEMON (Mail Delivery System)
Subject: Delayed Mail (still being retried)
Postmaster-Subject: Postmaster Warning: Delayed Mail
这里是 $myhostname 邮件服务器。
This is the mail system at host $myhostname.
####################################################################
# 这只是一条警告信息,你不需要再次发送你的邮件 #
# THIS IS A WARNING ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
####################################################################
你的邮件发送不成功,系统会在$maximal_queue_lifetime_days day(s)内每$delay_warning_time_hours hour(s)再次重新发送
如果需要更多帮助,请将此邮件转发给邮件管理员。
Your message could not be delivered for more than $delay_warning_time_hours hour(s).
It will be retried until it is $maximal_queue_lifetime_days day(s) old.
For further assistance, please send mail to <postmaster>
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
EOF
#
# The success template is used when mail is delivered to mailbox,
# when an alias or list is expanded, or when mail is delivered to a
# system that does not announce DSN support. It is an error to specify
# a Postmaster-Subject: here.
#
success_template = <<EOF
Charset: utf-8
From: MAILER-DAEMON (Mail Delivery System)
Subject: Successful Mail Delivery Report
这里是 $myhostname 邮件服务器。
This is the mail system at host $myhostname.
你的邮件已经成功投递到目标地址。
Your message was successfully delivered to the destination(s)
listed below. If the message was delivered to mailbox you will
receive no further notifications. Otherwise you may still receive
notifications of mail delivery errors from other systems.
The mail system
EOF
#
# The verify template is used for address verification (sendmail -bv
# address...). or for verbose mail delivery (sendmail -v address...).
# It is an error to specify a Postmaster-Subject: here.
#
verify_template = <<EOF
Charset: utf-8
From: MAILER-DAEMON (Mail Delivery System)
Subject: Mail Delivery Status Report
这里是 $myhostname 邮件服务器。
This is the mail system at host $myhostname.
你请求的邮件投递报告随此邮件附上。
Enclosed is the mail delivery report that you requested.
The mail system
EOF来自:http://www.iredmail.org/bbs/viewthread.php?tid=84&pid=1171&page=1&extra=
看 Wietse 教你如何在 3 小时内投递 1000000 封邮件
原文地址:
http://marc.info/?l=postfix-users&m=100153886212837&w=2
代码:
List: postfix-users
Subject: Re: 1.000.000 email posted in a single delivery process
From: wietse () porcupine ! org (Wietse Venema)
Date: 2001-09-26 21:14:15
[Download message RAW]
If you want to deliver 1000000 queue files in 3 hours, that is 10
milliseconds per file. That seems a bit optimistic to me, considering
the latencies of real disks (every file needs to be read from disk,
the cache is cold) and of real networks (having a local DNS server
should really make a difference).
Neither qmail nor Postfix currently has connection caching, which
can make a difference sending mail to sites that have slow servers.
0 - In the /etc/syslog.conf file, put a - in front of the maillog
filename, so that the stupid syslogd does not hammer the disk
after writing each logfile record.
1 - The default settings of two levels of directory hashing in the
queue should suffice. If you disagree, change this with:
postconf -e hash_queue_depth=3
postfix reload
2 - Configure an adequate number of delivery agents in the master.cf
file: 500+. On your typical Linux box, this will run the kernel
out of resources and Postfix will slam on the brakes until you
fix it.
3 - Test the setup with the smtp-source and smtp-sink programs.
For the test, specify a relayhost name that points to the
smtp-sink program, and send messages with thousands of recipients
into Postfix, and have Postfix perform one-recipient deliveries.
On the Postfix host:
postconf -e relayhost=smtp-sink.host:9999 \
smtp_destination_recipient_limit=1
On the mail sink host (can be same as postfix host, if you have
enough memory and process slots and space for open files):
./smtp-sink -c :9999 1000
On the smtp-source host (can be same as postfix host):
./smtp-source -c -m 1000 -s 10 -r 10000 -t foo@postfix.host postfix.host
Postfix breaks up the deliveries into transactions of 1 recipient
each, so one message with 10000 recipients will keep lots of
delivery agents busy.
4 - Before submitting the real mail:
postconf -e defer_transports=smtp relayhost= \
smtp_destination_recipient_limit=\$default_destination_recipient_limit
postfix reload
(and don't let anyone execute a "sendmail -q" command).
5 - SUBMIT THE MAIL VIA SMTP, not via /usr/sbin/sendmail. Otherwise
you are throwing away all the performance.
6 - On Doomsday,
postconf -e defer_transports=
postfix reload
sendmail -q
7 - From here on, do not touch the box. Each time you stop or reload
Postfix, or do a sendmail -q, it slows down dramatically.
Wietse
Alexander:
> (I've posted this message in QMAIL and EXIM mailing list.
> Many people say me that POSTFIX can do a good work)
>
> This is a case study and it's NOT for create a spamming system or other
> terrible mail bombing system.
> I HATE them !
>
> Title: the best mode to deliver 1.000.000 email messages (recipient are ALL
> different and email are ALL different) in few hours during a single delivery
> session.
>
> You suppose to have a SMP Linux server (i.e. dual P-III 800 Mhz, 512 MB Ram,
> SCSI Raid 5, kernel 2.4.9 and RaiserFS) and a good internet connection (4
> Mbit/sec full bandwidth) and a fast DNS server near me.
>
> During the night a program running on the same server creates 1 million of
> email (getting user data and infos data from a SQL DB).
> This process need about 3 hours. Meanwhile email are created, they are
> "injected" in MTA queue (i.e. using qmail-inject or
> exim -odq -t) and they are NOT delivered: they stay in queue.
> The email are all different but short: about 800-1000 bytes each and the
> recipients are all different and are all remote.
> Yes, we can have a vary big number of different recipient domain but
> statistically we also have a large number of email directed on mass email
> system (Hotmail, Yahoo...)
>
> So 1.000.000 x 1.000 bytes = 1 GBytes data. Yes, like a technical
> information email system with personalized info for each recipient.
>
> Then every day at 8.00 AM the remote delivery needs to start (exim -q ,
> qmail-remote) and delivery is done once per day.
>
> Target: send 1 million of email in a very short time, shortest as possibile,
> it must end as soon as possibile. Bandwidth occupation is not a problem: we
> can use all 4 Mbit/sec (about 1 GB / 500 Kbytes/sec = about 2000 seconds , 1
> hour and few minutes. 2 or 3 hours are ok anyway).
>
> And now the questions:
>
> 1) QMAIL vs EXIM vs POSTFIX: which is the best MTA to manage 1.000.000 email
> in queue ?
> (EXIM with option "split_spool_directory" and QMAIL patched to have a more
> "deep" in queue tree, POSTIFIX ??)
>
> 2) EXIM can deliver all messages during a single SMTP session to the same
> email system (useful for mass system like HOTMAIL,YAHOO, ....), QMAIL no.
> Is it faster to have either for example 300 (more or less) qmail-remote
> process running and sending 1 messages each or for example 20 (more or
> less) "exim -q" process running sending more messages in a single SMTP
> connection ? Remember: the target is to use less time than possible.
>
> Thanks for any suggestion about.
> POSTFIX ,I've never used it, can be an alternative ?
>
>
>
-
To unsubscribe, send mail to majordomo@postfix.org with content
(not subject): unsubscribe postfix-users来自:http://www.iredmail.org/bbs/viewthread.php?tid=76&pid=1170&page=1&extra=#pid1170
IRedMail-doc-MySQL-0.2
在这里帮忙为新的开发软件iRedMail做个堆广.也给自己留下一个笔记.好让自己想要找的时候可以找的更快.想复习的时候也可以再学习.
注意:本文档只适用于 iRedMail-0.2 版本。
如果您发现文档里有错误、不准确的地方,请您务必 联系我们,以便我们能尽快修正问题。感谢您的反馈。
Tutorial
iRedMail 安装要求
Overview
iRedMail 安装前的准备
建立 vmail 用户,作为所有邮件的拥有者
Apache 与 PHP
MySQL:存储邮件虚拟域和用户
Postfix:SMTP 服务
Dovecot:提供 POP3/IMAP 服务及 SASL 认证
Policyd:有效防止垃圾邮件
Amavisd-new:MTA 与 Anti-Spam,Anti-Virus 软件的桥梁
Roundcubemail:使用 AJAX 技术的 web mail 程序
phpMyAdmin:最好的 MySQL 数据库管理工具
PostfixAdmin:web 界面的虚拟域、虚拟用户管理程序
ClamAV:为邮件服务加上防病毒功能
SpamAssassin:为邮件服务加上基于邮件内容的发垃圾邮件功能
SPF: Sender Policy Framework
DKIM: DomainKeys Identified Mail
其它文档
Cyrus-SASL:为邮件服务提供用户验证功能
SquirrelMail:WebMail
参考文档
iRedMail 反垃圾邮件心得与总结
取自"http://www.iredmail.org/wiki/index.php?title=IRedMail-doc-MySQL-0.2&variant=zh-cn"
Red Hat Enterprise Linux AS 5 下载地址及安装号码
RHEL5 i386 FTP无限制全速下载!!!
不限速,不限流,不限线程,建议多线程下载!
ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc1.isoftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc2.isoftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc3.isoftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc4.isoftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc5.iso
2008年9月17日星期三
远程桌面连接--安装使用nomachine NX free edition.(不是freeNX)
来自:http://forum.ubuntu.org.cn/viewtopic.php?t=98089&start=0&postdays=0&postorder=asc&highlight=&sid=ec4dc116958f4e8a7fc564b15832a4c3
Oracle 10g RAC的安装和配置管理
BOracle RAC(Real Application Cluster)是构建大规模数据库系统的必要手段。做RAC实验需要两台以上的机器,还需要共享磁盘。多数网友不具备这个条件。本视频介绍了如何利用虚拟机技术,在一台机器上配置两个Linux虚拟机和共享磁盘,在这样的硬件基础上安装配置Oracle 10g RAC。本视频适合RAC的初学者。
Oracle 10g RAC的安装和配置管理[1/5] ==> 下载
Oracle 10g RAC的安装和配置管理[2/5] ==> 下载
Oracle 10g RAC的安装和配置管理[3/5] ==> 下载
Oracle 10g RAC的安装和配置管理[4/5] ==> 下载
Oracle 10g RAC的安装和配置管理[5/5] ==> 下载
来自:http://www.boobooke.com/html/10/0/29/1.htm在RHEL4中配置vsftpd服务
1. 安装和启动
# cd /media/cdrom/RedHat/RPMS //进入安装目录
# rpm -ivh vsftpd-2.0.1-5.i386.rpm //安装vsftpd服务器软件(在第1第光盘中)
# service vsftpd start //启动vsftpd服务即可进行只读访问
# iptables –F //关闭防火墙
2. vsftpd的相关文件及位置
/etc/vsftpd/vsftpd.conf //vsftpd主配置文件
/etc/vsftpd.ftpuser /保存不允许进行ftp登录的本地用户帐号
/etc/init.d/vsftpd //vsftpd服务器的启动脚本
/var/ftp //匿名用户登录目录
/etc/vsftpd.user_list //与vsftpd.conf配合实现对vsftpd.user_list中指定帐号进行访问控制
包含的配置项
结果
userlist_enable=YES
vsftpd.user_list文件中的帐号被禁止进行FTP登录
userlist_deny=YES
userlist_enable=YES
只有vsftpd.user_list文件中的用户帐号能够进行FTP登录
userlist_deny=NO
3. vsftpd服务的简单应用
1) 允许匿名用户上传
# vi /etc/vsftpd/vsftpd.conf //编辑vsftpd主配置文件,去掉下列内容前面注释
anon_upload_enable=YES
anon_mkdir_write_enable=YES
# service vsftpd restart //重启vsftpd服务使设置生效
# cd /var/ftp/
# chmod 777 * //设置相应权限,以便用户可以上传
2) 将FTP本地用户禁锢在宿主目录中
# vi /etc/vsftpd/vsftpd.conf //编辑vsftpd主配置文件,添加如下配置行
chroot_local_user=YES //添加文档末尾即可
# service vsftpd restart //重启服务使设置生效
二、 配置FTP服务器的虚拟用户
1. 建立虚拟用户口令库文件
# vi /root/logins.txt //默认不存在,需手动建立, 奇数行表示虚拟用户名,偶数行设置用户口令
mike
123
john
123
2. 生成vsftpd的认证文件(在第3张光盘中)
# rpm -ivh db4-utils-4.2.52-7.1.i386.rpm
# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db //生成认证文件
# chmod 600 /etc/vsftpd/vsftpd_login.db //设置认证文件只对用户可读可写
3. 建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu //需手工建立,并添加如下内容
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
4. 建立虚拟用户及要访问的目录并设置相应的权限
# useradd -d /home/ftpsite virtual //建立虚拟用户所需系统用户帐号,并指定宿主目录
# chmod 700 /home/ftpsite //设置该帐号宿主目录的权限为宿主可读可写
5. 设置vsftpd.conf配置文件
# vi /etc/vsftpd/vsftpd.conf //编辑配置文件,添加虚拟用户的配置内容如下
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
并去除下列一行关于禁固在宿主目录的选项
chroot_local_user=YES
# service vsftpd restart //重启vsftpd服务使设置生效
OK,虚拟用户可以进行登录了
6. 对虚拟用户设置不同的权限
# vi /etc/vsftpd/vsftpd.conf //设置主配置文件,添加用户配置文件目录设置如下
user_config_dir=/etc/vsftpd_user_conf
# mkdir /etc/vsftpd_user_conf //建立用户配置文件目录
# /etc/vsftpd_user_conf/mike
# /etc/vsftpd_user_conf/john //为虚拟用户建立单独的与用户名相同的配置文件
配置文件的内容及含义如下:
anon_world_readable_only=NO //表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES //表示用户可以上传文件
anon_mkdir_write_enable=YES //表示用户具有建立和删除目录的权限
anon_other_write_enable=YES //表示用户具有文件改名和删除文件的权限
# service vsftpd restart //重启vsftpd服务
三、 FTP服务器的资源限制
在vsftpd服务器中通过主配置文件vsftpd.conf中的以下选项对整体资源进行限制
max_clients=100 //允许最大的客户端连接数
max_per_ip=5 //同一IP最大客户端的连接数
local_max_rate=5000000 //设置本地用户最大传输数率(B/s)
anon_max_rate=2000000 //匿名用户最大的传输数率(B/s)
来自:http://hi.baidu.com/unarmy/blog/item/f5264c90c137f589a977a404.html
vsFTPd 安装与配置
vsFTPd的安装
在最新的各大发行版中的安装盘中都有vsFTPd的软件包,用相应发行版提供的软件包管理工具就能安装。当然也可以到各大发行版的FTP镜像中找到vsftpd的软件包,用软件包的管理工具在线安装。推荐用发行版提供的软件来安装,不推荐自己编译源码包的安装方式。
Fedora 或Redhat 系统,可以用下面的命令在线安装;
[root@localhost ~]# yum install vsftpd
如果是debian 类系统,可以用apt 来在线安装;
[root@localhost ~]# apt-get install vsftpd
如果是RPM的系统,也可以找到vsftpd-xxxx.rpm 的包来通过rpm命令来安装;
[root@localhost ~]# rpm -ivh vsftpd*.rpm
下载源码包安装
[root@localhost ~]# tar zxvf vsftpd-2.0.3.tar.gz[root@localhost ~]# cd vsftpd-2.0.3[root@localhost ~]# make ;make install[root@localhost ~]# cp vsftpd.conf /etc
然后修改/etc/vsftpd.conf ,在配置文件的最后一行加入下面一行;
listen=yes
源码包安装的方法,如果您的系统是RPM包管理的系统,可以删除/etc/xinetd.d/vsftpd 这个文件;然后启动xinetd 服务器;
[root@localhost ~]# /etc/init.d/xinetd restart停止 xinetd: [ 确定 ]启动 xinetd: [ 确定 ]
vsFTPd服务器的运行
[root@localhost ~]# /usr/sbin/vsftpd &[root@localhost ~]# /usr/local/sbin/vsftpd &
vsFTPd 服务器关闭
用pkill vsftpd 来杀死vsftpd进程,这样就把vsFTPd关闭,用psgrep vsftpd 来查看进程,如果没有进程,证明vsFTPd已经关掉;要用到root权限。
[root@localhost ~]# pkill vsftpd[root@localhost ~]# pgrep vsftpd
在Fedora/Redhat/CentOS中vsFTPd 服务器的启动和关闭:
在Fedora/Redhat/CentOS中,也可以用下面的方法来启动vsFTPd;当然也要用到root权限;
[root@localhost beinan]# /etc/init.d/vsftpd start为 vsftpd 启动 vsftpd: [ 确定 ]
重新启动vsFTPd用下面的命令;
[root@localhost beinan]# /etc/init.d/vsftpd restart关闭 vsftpd: [ 确定 ]为 vsftpd 启动 vsftpd: [ 确定 ]
关掉vsFTPd服务器,应该用下面的命令;
[root@localhost beinan]# /etc/init.d/vsftpd stop关闭 vsftpd: [ 确定 ]
vsFTPd配置文件
vsftpd.conf是vsFTPd服务器的配置文件,此文件一般是/etc/vsftpd.conf或/etc/vsftpd/vsftpd.conf,vsftpd.conf配置文件就是vsFTPd服务器的全局控制文件,此配置文件中,每行应该算做一个规则。配置完后需要重启才有效。
vsFTPd配置虚拟用户
FTP用户一般是不能登录系统的,这也是为了安全。在系统中,没有权限登录系统的用户一般也被称之为虚拟用户;虚拟用户也是要写进/etc/passwd中;这只是一种虚拟用户的方法,但说实在的并不是真正的虚拟用户,只是把他登录SHELL的权限去掉了,所以他没有能力登录系统;
如果我们想把beinan这个用户目录定位在/opt/beinan这个目录中,并且不能登录系统;我们应该如下操作
[root@localhost ~]# adduser -d /opt/beinan -g ftp -s /sbin/nologin beinan[root@localhost ~]# passwd beinanChanging password for user beinan.New password:Retype new password:passwd: all authentication tokens updated successfully.[root@localhost ~]#
其实这还是不够的,还要改一下配置文件vsftpd.conf ,以确保本地虚拟用户能有读写权限;
local_enable=YESwrite_enable=YESlocal_umask=022
如何实现虚拟路径?
比如:
/home/a 映射为 ftp://localhost/a/home/b/c 则为 ftp://localhost/c
可以通过如下的方法来实现。
[root@localhost ~]# mount –bind [原有的目录] [新目录]
比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作
我们要先在/var/ftp目录中建一个目录
[root@localhost ~]# mkdir /var/ftp/WinSoft
然后执行mount命令
[root@localhost ~]# mount –bind /mnt/LinG/WinSoft /var/ftp/WinSoft
这样就OK了。
打开vsFTP服务器的日志功能
把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log。这是vsFTP的日志功能,这对于我们来说是极为重要的。
xferlog_file=/var/log/vsftpd.log
如何让vsFTP服务器限制链接数,以及每个IP最大的链接数?
应该改vsFTPd服务器的配制文件vsftpd.conf,加入下面的两行:
max_clients=数字max_per_ip=数字
举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:
max_clients=100max_per_ip=5
如何限制传输速度?
anon_max_rate=数字
注:这是匿名的速度
local_max_rate=数字
注:这是vsFTP服务器上本地用户的速度
注:这个数字的单位是byte,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024×80=81920
所以我们要在vsftpd.conf中加入下面的两行
anon_max_rate=81920local_max_rate=81920
如何有选择的把用户限制在家目录中
我们要自己建一个文件,在/etc目录中
#touch /etc/vsftpd.chroot_list
以user1和user2这两个用户限制在他们所在的家目录中,而其它的FTP用户不做此限制。
在vsftpd.chroot_list这个文件中,把user1和user2添上去就行,注意,每个用户占一行。
然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行
#chroot_list_enable=YES#chroot_list_file=/etc/vsftpd.chroot_list
把前面的#号去掉,也就是这样的
chroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list
如果没有这样的两行,就可以自己添加上去也是一样的。
设置好后,重新vsFTPD服务器。
如何把系统内所有的FTP用户都限制在家目录中呢?
我们可以通过更改vsftpd.conf文件,加入如下的一行
chroot_local_user=YES
改完配制文件,不要忘记重启vsFTPd服务器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart关闭 vsftpd: [ 确定 ]为 vsftpd 启动 vsftpd: [ 确定 ][root@linuxsir001 root]#
来自:http://linux-os.cn/20070728/vsftpd/
安装vsftp出错:make: *** [sysdeputil.o] Error 1
gcc -c sysdeputil.c -O2 -Wall -W -Wshadow -idirafter dummyincsysdeputil.c:162: error: expected declaration specifiers or '...' before 'capset'sysdeputil.c:162: error: expected declaration specifiers or '...' before 'header'sysdeputil.c:162: error: expected declaration specifiers or '...' before 'data'In file included from sysdeputil.c:170:/usr/include/sys/sendfile.h: In function '_syscall2':/usr/include/sys/sendfile.h error: storage class specified for parameter 'sendfile'sysdeputil.c:186: error: storage class specified for parameter 'environ'sysdeputil.c:187: error: storage class specified for parameter 's_proctitle_space'sysdeputil.c:187: error: parameter 's_proctitle_space' is initializedsysdeputil.c:188: error: storage class specified for parameter 's_proctitle_inited'sysdeputil.c:188: error: parameter 's_proctitle_inited' is initializedsysdeputil.c:189: error: storage class specified for parameter 's_p_proctitle'sysdeputil.c:189: error: parameter 's_p_proctitle' is initializedsysdeputil.c:201: error: storage class specified for parameter 'do_sendfile'sysdeputil.c:202: error: storage class specified for parameter 'vsf_sysutil_setproctitle_internal'sysdeputil.c:203: error: storage class specified for parameter 's_proctitle_prefix_str'sysdeputil.c:278: error: storage class specified for parameter 's_pamh'sysdeputil.c:279: error: storage class specified for parameter 's_pword_str'sysdeputil.c:281: error: storage class specified for parameter 'pam_conv_func'sysdeputil.c:282: error: storage class specified for parameter 'vsf_auth_shutdown'sysdeputil.c:288: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:383: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:398: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:436: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:474: error: storage class specified for parameter 'do_checkcap'sysdeputil.c:478: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:497: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:514: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:527: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:604: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:641: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:796: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:803: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:809: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:856: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:889: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:930: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:935: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:976: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:1012: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:1128: error: storage class specified for parameter 's_uwtmp_inserted'sysdeputil.c:1129: error: storage class specified for parameter 's_utent'sysdeputil.c:1134: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:1173: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' tokensysdeputil.c:1189: error: old-style parameter declarations in prototyped function definitionsysdeputil.c:162: error: parameter name omittedsysdeputil.c:162: error: parameter name omittedsysdeputil.c:162: error: parameter name omittedsysdeputil.c:1189: error: expected '{' at end of inputmake: *** [sysdeputil.o] Error 1这几个包可能不是REDHAT的,这个问题的原因是sysdeputil.c 文件出错,真正解决方法是给其打补丁:
# patch sysdeputil.c attachment.bin
# makeattachment.bin 的位置在:
http://linuxfromscratch.org/pipermail/lfs-dev/attachments/20061019/fd9b9f56/attachment.bin
2008年9月16日星期二
假奶粉的反感
从这次的反映来看。说明我们国家对这些卫生管理检查还是不到位的。生产是生产/ 检查是检查。从三鹿婴幼儿奶粉说起。先是从这一家的出现问题后。检查力度加深了。分别查出更多的不合格产品。这说明卫生部门对这个管理有存在着很大的问题。现在觉的最不敢吃什么东西了。现在是奶粉。别的东西也同样会出现在卫生的检查问题上管理的不合格。看来现在东西不能吃的太多了。还是多吃点绿色食品。添加的有毒物质的变少。
2008年9月10日星期三
谢绝第三方邮件转发
由 于前面提到的历史的原因,最初的绝大多数邮件服务器都允许OPEN RELAY的。今天,大部分邮件服务器升级版本已经在缺省设置中关闭了OPEN RELAY, 如Sendmail 从8.9.3版本开始,Exchange Server从5.5版本开始关闭了open relay,。有的服务器虽然没有相应的升级版本,也都提供了关闭open relay 的方法,如在NOTES SERVER的配置文件notes.ini 中加入一行:SMTPMTA_REJECT_RELAYS=1。但由于很多服务器管理员的疏忽而没能及时的修补这些安全漏洞,被利用来转发垃圾邮件。
如何确认邮件服务器是否OPEN RELAY对于UNIX操作系统,假设要测试的邮件服务器是mail.ABC.com,则可以使用以下的命令进行测试:telnet mail.ABC.com 25
如果在最后显示“Relaying denied”,则表明该服务器已经安全设置,不会再relay无关邮件了。如果在最后显示“Message accepted for delivery”,则表明服务器可以转发任何人的邮件。
其他系统可以通过观察计费器的动态记录或者邮件队列中的信息来判断。
除了用上面的命令行的方法测试外,还可以利用网上提供的一个测试工具来进行测试。首先链接到http://www.abuse.net/relay.html,找到Address to test:(as host name or dotted quad)栏,在其中输入你要测试的服务器IP地址或域名,它将会返回一些信息,根据返回的信息可以判断测试的服务器是否已经限制了第三方转发。
如果在测试结果页中出现如下的提示:
Relay test result
All tests performed, no relays accepted.
表明这台服务器已经限制了第三方转发。
如果某台服务器没有限制第三方转发,则测试显示信息如下:
Relay test result
Hmmn, at first glance, host appeared to accept a message for relay.
THIS MAY OR MAY NOT MEAN THAT IT'S AN OPEN RELAY.
通过测试,可以判断出你的服务器是否限制了RELAY功能,从而采取相应的措施进行处理。
常用邮件服务器关闭RELAY的方法
一般现在使用得最广的邮件服务器软件主要有以下几种:
Unix 操作系统:Netscape Messaging Server 和Sendmail
Windows 操作系统:Exchange Server 和Imail
下面分别具体说明如何对这四种邮件服务器软件进行设置,以关闭RELAY功能。
Netscape Messaging Server
Netscape Messaging Server 从3.5版本开始加入了relay的控制功能。如果使用的是3.5以前的版本,需要更新到3.5或更新的版本。当前最新版本(2002-01)是4.15p7,可以在这里下载:http://www.iplanet.com/downloads/download/5098.html。
Netscape Messaging Server 有两种方法可以用来控制open relay。一种是使用Anti-relay Filter,另一种是 Anti-relay Plug-In。后者的功能更强大些,但只支持4.x 版本;如果使用的是3.5版本,则需要使用前一种方法。
使用Anti-relay Filter:
找到filter.cfg 文件(4.0以上版本名字是UBEfilter.cfg),进行如下编辑。如果该服务器只负责xyzcorp.com域收邮件:
Channel-To ".*@xyzcorp\.com" EXIT
$ANY ".*" REJECT "We accept mail for XYZ Corporation only"
如果该服务器还负责转发来自123.45.67.* 邮件,那末就应该加入:
Host-From "123.45.67.*" EXIT
Channel-To ".*@xyzcorp\.com" EXIT $ANY ".*" REJECT "We accept mail for XYZ Corporation only"
更详细的资料可以参考http://www.tsc.com/~bobp/nms-no-relay.html,该文详细讲述了怎样设置filter.cfg文件,甚至可以直接拷贝后,对其中的IP和域名稍作改动即可。
Sendmail
Sendmail 从8.9.3版本开始缺省设置禁止转发垃圾邮件,在此之前的版本在这方面都存在着严重的安全缺陷。因此,有必要把您的Sendmail 升级到 8.9.3 以上版本。考虑到其它方面的安全漏洞,我们建议您升级到当前最新版本,您可以在Sendmail的主页上 http://www.sendmail.org 查到最新的版本。
新 安装的Sendmail 不会转发任何邮件,如果你的邮件服务器需要为某些用户提供转发服务,你需要对Sendmail的配置文件进行设置。设置方法有多种,比较简单的方法是在 /etc/mail/下生成一个名字为relay-domains 的文件,在该文件中列出需要relay的IP或域名。
Sendmail 8.9.3安装过程
译时需要gcc, groff, gmake, gm4编译、安装sendmail服务器
1) 设置环境:(保证您所用的是 groff, gmake.假设这些您都安装在 /usr/local/ 下) 。
%setenv PATH /usr/local/bin:$PATH
%setenv GROFF_TMAC_PATH /usr/local/share/groff/tmac
%setenv GROFF_FONT_PATH /usr/local/share/groff/font
2) 备份/usr/lib/sendmail 和 /etc/mail/sendmail.hf
#cp /usr/lib/sendmail /usr/lib/sendmail.old
#cp /etc/mail/sendmail.hf /etc/mail/sendmail.hf.old
3)安装 sendmail
download sendmail-8.9.3.tar.Z
%zcat sendmail-8.9.3.tar.gz |tar xvf -
%cd sendmail-8.9.3
%make
安装需要超级用户权限. #make install
4)生成 sendmail.cf
生成自己系统的mc文件:
%cd sendmail-8.9.3/cf/cf
%cp generic-solaris2.mc my-system.mc
按照您的需要改动my-system.mc, 加入您所需要的FEATURE. 例:
FEATURE(access_db, dbm -o /etc/mail/access)
生成并安装sendmail.cf文件,在sendmain-8.9.3/cf/cf目录下执行: (需要 gm4)
% m4 ../m4/cf.m4 my-system.mc>sendmail.cf
将sendmail.cf拷贝到/etc下或/etc/mail 下。
5)产生其他配置文件和启动:
(1)在/etc/mail下生成sendmail.cw文件记录该服务器的所有别名;
(2)在/etc/mail下生成relay-domains文件记录该服务器允许relay的域, 例:
ccert.edu.cn
202.116.34.1
202.112.33.
(3)%chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueque
(4)%chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
(5)初始化别名数据库%sendmail -v -bi.
如果没有Error,则启动sendmail进程:
#/usr/lib/sendmail -bd -q1h
注意:
如果升级后Sendmail仍然使用旧的配置文件,可能会继续relay任何人的邮件,此时需要摒弃旧的配置文件,根据需要重新进行配置。配置文件修改后,必须重新启动Sendmail 后才能生效。
Exchange Server
exchange 5.5在SP2补丁以前的版本是不具备关闭open relay功能的。要关闭,则要先打SP2以上的补丁。
下面具体介绍使用方法:
(1)安装补丁SP3补丁
双击光盘目录中的EXCHSRVR55_SP3\
Eng\Server\Setup\I386\ Update.exe,安装补丁。
(2) 启动Microsoft Exchange Administrator,查看Configuration下的Connections下是否有Internet Mail Service项(以下简称IMS),如果没有,可以通过选择File-New Other-IMS进行安装;
(3)双击Connections 下的IMS,弹出IMS Properties对话框,点Routing选项卡,此页中使用缺省值即可(其中Sent to: 下为自己的域名,Route to:下为
4)关闭IMS,再启动IMS,所做的修改即会产生作用。(双击控制面板中的服务,选择Microsoft Exchange IMS,点停止,即可关闭它,再点开始,又可以启动它。)
Imail
(1)下载
IMail可运行于NT/2K环境下,为共享软件。最新的Imail程序可以从以下地址:ftp://ftp7.ipswitch.com/ipswitch/product_downloads/ imtm_x86.exe(8.2M)下载。
(2)关闭OPEN Reply的设置
点开始-程序-IMail-Imail Administrator-localhost,选择SMTP Security中左侧的最后一项:Relay for local users only。
有关垃圾邮件处理的更详细的情况,请查阅中国教育和科研网垃圾邮件处理小组网页:http://www.ccert.edu.cn/spam/spam_home.htm。
邮件客户端设置
这样设置了以后,可能你的局域网的用户就只能收邮件,不能发送邮件了。发送邮件时提示如下信息:The server say: 550 Relaying is prohibited. 邮件发送不出去。这时候就要在邮件客户端设置SMTP身份验证,具体方法如下:
(1)对于使用outlook express的用户
启动outlook express,点“工具”-“帐号”,点“邮件”选项卡,选择某个邮件帐号,点“属性”,点“服务器”选项卡,选中 “我的服务器要求身份验证”,点“确定”,点“关闭”。
(2)对于使用foxmail3.11的用户
启动foxmail,选择某个帐户,点“帐户”-“属性”,点“邮件服务器”,选择“SMTP服务器需要身份验证”,点设置,选择“使用与POP3服务器相同的信息”,点“确定”。
来自:http://www.5dmail.net/html/2004-6-8/20046801859.htm
2008年9月9日星期二
postfix: main.cf参数中文解释
postfix: main.cf参数中文解释
#more /etc/postfix/main.cf
外发域配置参数:myorigin 说明:myorigin参数用于指定该服务器使用哪个域名来外发邮件。 缺省的情况下myorigin采用本机主机名称(与参数myhostname相同)。建议:在很小的网络中,采用缺省配置。而在Internet中,我们建议你保持myorigin与mydomain参数相同。也就是说采用该服务器所在的域名称。例如:myorigin = $myhostname (缺省) myorigin = $mydomain (推荐) 接收域配置参数:mydestination说明:用于指定该服务器的使用哪个域名来接收邮件。我们建议,系统安装好后,尽量不要改动这个参数。例如:缺省设置: mydestination = $myhostname localhost.$mydomain 广泛设置: mydestination = $myhostname localhost.$mydomain $mydomain 多DNS设置:mydestination = $myhostname localhost.$mydomain www.$mydomain ftp.$mydomain 转发限定参数:mynetworksrelay_domains mydestination说明:转发限定在邮件系统中非常重要。C-Link为客户缺省配置了最安全的转发限定参数。与转发限定的参数有很多:主要请参看mynetworks、relay_domains、mydestination。
系统故障报告配置参数:notify_classes 说明:该参数用于告知系统,在哪种情况下用哪种方式通知用户。可以选择的参数类型有:bounce 邮件原封不动弹回;2bounce 将双份弹回邮件发送给Postmaster;delay 将拖延的邮件的头部信息通知Postmaster;policy 将被系统过滤掉的信息通知Postmaster;protocol 将协议错误信息通知Postmaster;resource 将因系统资源短缺而投递失败的信息通知Postmaster;software 将因软错误而投递失败的信息通知Postmaster.例如:缺省: notify_classes = resource, software 主机名配置参数:myhostname说明:myhostname参数用于描述运行C-Link系统的服务器所符合规则的域名全称。在许多UNIX系统中,C-Link会自动检测出正确的名称。但在某些操作系统中需要手工配置,如TurboLinux。例如: myhostname = host.local.domain (local hostname is not FQDN) myhostname = host.virtual.domain (virtual interface) myhostname = virtual.domain (virtual interface) 原始域配置参数:mydomain说明:系统自己检测。暂不开放。系统内部网络子网配置参数:mynetworks_stype mynetworks说明:mynetworks_stype用于设定邮件系统内部子网的限制情况。通常情况下设定为subnet。在单机情况下设置为host.设定的子网内部,邮件可以开放式转发。这对于配置邮件集群很有作用。但要小心使用,防止将邮件系统设置为OPEN RELAY。例如:mynetworks_style = subnet mynetworks_style = hostmynetworks = 168.100.189.0/28, 127.0.0.0/8 统内部网络地址配置参数:inet_interfaces说明:inet_interfaces用于指定特定的网络地址。系统保留,暂不开放。例如:inet_interfaces = all inet_interfaces = virtual.host.name (virtual domain) inet_interfaces = $myhostname localhost.$mydomain (non-virtual mailer) 进程限制参数:default_process_limit 说明:用于限定SMTP服务的最大同时连接数量。缺省为50。根据服务器配置及操作系统的不同,可以做非常宽限的配置。例如:default_process_limit = 1024本地同时同址分发限制参数:local_destination_concurrency_limit说明:系统保留,暂不开放。例如:local_destination_concurrency_limit = 2 缺省同时同址分发限制参数:default_destination_concurrency_limit说明:系统保留,暂不开放。例如:default_destination_concurrency_limit = 10队列重发周期参数:queue_run_delay 说明:用于设定队列处理程序对拖延邮件的扫描周期。缺省为1000秒。例如:queue_run_delay = 1000
最长队列生命期参数:maximal_queue_lifetime说明:用于设定队列处理程序对滞留邮件的最长保存期。缺省为5天。例如:maximal_queue_lifetime = 5
最小投递失败周期参数:minimal_backoff_time说明:用于设定队列处理程序对无法投递的邮件的最短巡回时间。缺省为1000秒。例如:minimal_backoff_time= 1000最长投递失败周期参数:maximal_backoff_time说明:用于设定队列处理程序对无法投递的邮件的最长巡回时间。缺省为4000秒。例如:maximal_backoff_time= 4000错误命令缓冲时间参数:smtpd_error_sleep_time说明:当SMTP服务端口接收到非法的命令时,系统将缓冲处理的时间间隔。这个参数对于防止恶意攻击非常有效。例如:smtpd_error_sleep_time = 5smtpd_error_sleep_time =0软错误容忍次数参数:smtpd_soft_error_limit 说明:SMTP服务所允许的软错误次数。这个参数对于防止恶意攻击非常有效。缺省10次。例如:smtp_soft_error_limit = 5硬误容忍次数参数:smtpd_hard_error_limit 说明:SMTP服务所允许的硬错误次数。这个参数对于防止恶意攻击非常有效。缺省100次。例如:smtp_hard_error_limit = 100邮件头部过滤 参数:header_checks说明:用于过滤邮件的头部信息。例如:header_checks = regexp:/wdpost/filter/header_checks文件header_checks内容遵循完全的regexp强大的字符串语法匹配规则。如,/^to: *friend@public\.com$/ REJECT SMTP连接控制过滤参数:smtpd_client_restrictions 说明:smtpd_client_restrictions 参数的功能非常强大。它可以对连接到C-Link邮件服务器的各种客户端以及其他服务器进行限制。该参数有以下的选项可以灵活配置设定。reject_unknown_client 拒绝不能IP反向解析的地址;permit_mynetworks 允许子网中的连接;check_client_access maptype:mapname 检测在mapname文件中设定的规则;reject_maps_rbl拒绝符合rbl行为条件的连接。reject_unauth_pipelining 拒绝为认证的管道连接。缺省状态下,该参数不做设定。例如:smtpd_client_restrictions = HELO
握手要求控制过滤参数:smtpd_helo_required说明:设定C-Link邮件系统是否在SMTP连接时必须进行HELO或EHLO握手。缺省为不需要。例如:smtpd_helo_required = no
HELO握手主机控制过滤参数:smtpd_helo_restrictions说明:当HELO握手必须时。该参数用于验证握手信息是否符合要求。可以选择的参数有:reject_invalid_hostname 拒绝错误的hostname。permit_naked_ip_address 拒绝裸IP地址。reject_unknown_hostname 拒绝为被DNS A或MX纪录指定的域名。reject_non_fqdn_hostname 拒绝不符合域名规则的域名。check_helo_access maptype:mapname 根据mapname中设定的信息限制。RFC821类型信封地址控制过滤 参数:strict_rfc821_envelopes说明:设定C-Link系统是否必须只接受符合RFC821所定义的负荷规则的邮件地址。缺省为no.例如:strict_rfc821_envelopes = yes发信人地址限定过滤参数:smtpd_sender_restrictions =说明:设定发信人地址必须符合的规则。确实为任意。可以设定为以下参数:reject_unknown_sender_domain 拒绝为没有DNS A或MX纪录的发信人域名。check_sender_access maptype:mapname 根据mapname文件中的规则设定。reject_non_fqdn_sender 拒绝不符合规则的发信人地址。收信人地址限定过滤参数:smtpd_recipient_restrictions说明:设定特殊的发信人地址参数限制。可以选择的参数有:check_relay_domains 检测转发域。permit_auth_destination 允许经过认证的目的地。reject_unauth_destination 拒绝为经过认证的目的地。permit_mx_backup 允许反查询MX主机名称。check_recipient_access maptype:mapname 根据mapname文件中设定的规则限制。reject_unknown_recipient_domain 拒绝转发到没有DNS A或MX纪录的域名。reject_non_fqdn_recipient 拒绝不符合规则的转发目标。reject_unknown_sender_domain 拒绝没有IP反解析纪录的发件人域名。ETRN命令限定过滤系统保留,不开放。反垃圾邮件组织过滤 参数:maps_rbl_domains 说明:这是一个非常有特色的反垃圾邮件功能。这个参数通常设定为maps_rbl_domains = blackholes.mail-abuse.org 如果RBL lookup打开,系统回自动与全球著名的反垃圾邮件组织mail-abuse进行同步。组织来自mail-abuse所列举的不安全的电子邮件服务器。在缺省状态下这个功能是关闭的。SMTP对话行长度限定过滤参数:line_length_limit说明:设定SMTP所接受的最长字符行的长度。缺省为2048字节。邮件头部长度限定过滤参数:header_size_limit说明:设定SMTP所接受的最长邮件头部信息的长度。缺省为102400字节收件人数量限定过滤参数:extract_recipient_limit 说明:限制扩展的收件人数量限制。这通常用于防止采用"sendmail -t"的方式来进行的攻击行为。邮件长度限定过滤参数:message_size_limit 说明:这个参数很重要。用于限定系统所接受的最大的单封邮件长度。缺省为10240000 字节。例如:message_size_limit = 20480000
弹回邮件长度过滤参数:bounce_size_limit说明:这个参数非常重要,用于设定弹回的最大邮件尺寸。缺省为50000 字节
来源:http://edison8787.spaces.live.com/blog/cns!82CB956C471EC8CD!120.entry
2008年9月7日星期日
apt-proxy:apt 代理, 缓存
假如有多台机器需要从 debian(or ubuntu)的库里面下载软件来安装,如果每个机器都去网上下载一遍,肯定不划算。用 apt-proxy 可以解决这个问题。会把你现在的软件缓存起来。以后的机器安装这个软件就是从本地下载了。
另外有一个通用的解决方法是本地安装 squid,不过要做一些调整,因为 squid 默认缓存小于 4M 的文件。
参考
http://apt-proxy.sourceforge.net
版权声明: 允许非商业性转载,但转载时必须标明作者及原文链接.
本文网址: http://linuxtoy.org/archives/apt-proxy.html
Ubuntu LiveUSB - 制作 Ubuntu Live USB
Ubuntu LiveUSB 是一个用于创建 Ubuntu Live USB 的图形化工具。它支持从正在运行的 Ubuntu Live CD 环境中制作 Live USB,且制作的 Live USB 包含系统引导功能。

抱歉的是,因为我没有 USB 存储设备,所以就没法测试验证了。感兴趣的朋友可自行尝试。
更新
timesshare 读者对此有详细的使用报告,可作参考。
版权声明: 允许非商业性转载,但转载时必须标明作者及原文链接.
本文网址: http://linuxtoy.org/archives/ubuntu-liveusb.html
Fedora LiveUSB Creator:创建 Fedora Live USB
Fedora LiveUSB Creator 是一个支持 Linux 和 Windows 的跨平台工具,利用它你可以创建基于 Fedora 操作系统的 Live USB。该工具的特色包括:无需对 USB 存储设备作分区或格式化处理,支持 Fedora 9 在内的各种版本,能够自动检测可移动设备等。感兴趣的朋友不妨自行尝试。

参考
版权声明: 允许非商业性转载,但转载时必须标明作者及原文链接.
本文网址: http://linuxtoy.org/archives/fedora-live-usb-creator.html
