crontab

第一道第五个字段的整数取值范围及意义是:

0~59 表示分

1~23 表示小时

1~31 表示日

1~12 表示月份

0~6 表示星期(其中0表示星期日)

/etc/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户能安排作业。如果这个文件不存在,而有另外一个文件/etc/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。如果它是一个空文件表明任何用户都可安排作业。两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。

注:cron.allow和cron.deny的位置可能不尽相同。

hosts.allow & hosts.deny

如果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。看请求访问的主机名或IP有没有包含在hosts.deny文件中。如果包含,那么访问就被拒绝;如果既不包含在/etc/hosts.allow中,又不包含在/etc/hosts.deny中,那么此访问也被允许。

<daemon list>:<client list>[:<option>:<option>:...]

daemon list     服务进程名列表,如telnet的服务进程名为in.telnetd
client list     访问控制的客户端列表,可以写域名、主机名或网段,如.trubolinux.com.cn或者192.168.1.
option          可选选项,这里可以是某些命令,也可以是指定的日志文件

例子:hosts.allow
in.telnetd:.turbolinux.com.cn
vsftpd:192.168.0.
sshd:192.168.0.0/255.255.255.0

/etc/hosts.allow里第一行in.telnetd:.turbolinux.com.cn表示,只有turbolinux.com.cn这个域里的主机允许访问TELNET服务,注意turbolinux.com.cn前面的那个点(.)。
/etc/hosts.allow里第二行表示,只有192.168.0这个网段的用户允许访问FTP服务,注意0后面的点(.)。
/etc/hosts.allow里第三行表示,只有192.168.0这个网段的用户允许访问SSH服务,注意这里不能写为192.168.0.0/24。虽然在CISCO路由器种这两中写法是等同的。

更多内容:hosts_access ,hosts_options

hosts.allow & hosts.deny

如果请求访问的主机名或IP不包含在/etc/hosts.allow中,那么tcpd进程就检查/etc/hosts.deny。看请求访问的主机名或IP有没有包含在hosts.deny文件中。如果包含,那么访问就被拒绝;如果既不包含在/etc/hosts.allow中,又不包含在/etc/hosts.deny中,那么此访问也被允许。

<daemon list>:<client list>[:<option>:<option>:...]

daemon list     服务进程名列表,如telnet的服务进程名为in.telnetd
client list     访问控制的客户端列表,可以写域名、主机名或网段,如.trubolinux.com.cn或者192.168.1.
option          可选选项,这里可以是某些命令,也可以是指定的日志文件

例子:hosts.allow
in.telnetd:.turbolinux.com.cn
vsftpd:192.168.0.
sshd:192.168.0.0/255.255.255.0

/etc/hosts.allow里第一行in.telnetd:.turbolinux.com.cn表示,只有turbolinux.com.cn这个域里的主机允许访问TELNET服务,注意turbolinux.com.cn前面的那个点(.)。
/etc/hosts.allow里第二行表示,只有192.168.0这个网段的用户允许访问FTP服务,注意0后面的点(.)。
/etc/hosts.allow里第三行表示,只有192.168.0这个网段的用户允许访问SSH服务,注意这里不能写为192.168.0.0/24。虽然在CISCO路由器种这两中写法是等同的。

更多内容:hosts_access ,hosts_options

header() & drbd

PHP中使用header生成301转向:
header(‘HTTP/1.1 301 Moved Permanently’); // 301头
header(“Location: /logs/”.$post_id.”.html#tb”);  

http://www.drbd.org
DRBD用于MySQL数据库的HA
http://www.builder.com.cn/2007/0726/437357.shtml
lisqklpioreiu.png

header() & drbd

PHP中使用header生成301转向:
header(‘HTTP/1.1 301 Moved Permanently’); // 301头
header(“Location: /logs/”.$post_id.”.html#tb”);  

http://www.drbd.org
DRBD用于MySQL数据库的HA
http://www.builder.com.cn/2007/0726/437357.shtml
lisqklpioreiu.png

TUX

隐约记得早前看过着于”TUX”的文档,却也时日已久不太记得了,只记得是个webserver,用来做静态文件的http-daemon性能非常不错,与Linux进行了内核级的对接!

http://www.bsdmap.com/manuals/tux/tux.README

TUX is a http-daemon (webserver) for Linux. TUX is different from other webservers in that it runs partially from within the Linux-kernel as a module (device driver).  Given sufficiently-capable networking cards, it enables direct scatter-gather DMA and hardware-based TCP/IP checksumming from the page cache directly to the network, avoiding extra data copies.

MINIX3

今天无意又看到了MINIX的消息。MINIX曾经是我在大学里极度向往和崇拜的东西。
从手册的FAQ里粘贴几个条目,其实是给自己看的。我也在想这个系统有什么应用价值。

http://www.minix3.org

MINIX 3是什么?
MINIX 3是一个为高可靠性应用而设计的自由且简洁的类UNIX系统。它特别适用于低端的个人电脑、资源受限制系统和嵌入式应用。你可以获得它所有的源代码,这使得它很适合于课堂教学和那些想了解操作系统怎样运行的自学者。
MINIX 3运行的硬件要求?
你需要一台有4 MB内存、100MB空闲硬盘空间和CD-ROM(IDE)的Intel386及其以上计算机。现在暂时还不支持从USB CD-ROM启动。

什么是SysRq"魔术组合键"?

根据Linux内核文档介绍:

这是一组’魔术组合键’,只要内核没有被完全锁住,不管内核在做什么事情,使用这些组合键可以立即打印出内核的信息。
使用sysrq组合键是了解系统目前运行情况的最好方式。如果系统出现挂起的情况或者在诊断一些和内核相关,比较怪异,比较难重现的问题的时候,使用sysrq键是一个比较好的方式。
如何打开和关闭SysRq组合键?
为了安全起见,在红帽企业版Linux里面,默认SysRq组合键是关闭的。 打开这个功能,运行:
# echo 1 > /proc/sys/kernel/sysrq

关闭这个功能:
# echo 0 > /proc/sys/kernel/sysrq

如果想让此功能一直生效,在/etc/sysctl.conf里面设置kernel.sysrq的值为1. 重新启动以后,此功能将会自动打开。

kernel.sysrq = 1

因为打开sysrq键的功能以后,有终端访问权限的用户将会拥有一些特殊的功能。因此,除非是要调试,解决问题,一般情况下,不要打开此功能。如果一定要打开,请确保您的终端访问的安全性。

如何触发一个sysrq事件?

有几种方式可以触发sysrq事件。在带有AT键盘的一般系统上,在终端上输入一下组合键:

Alt+PrintScreen+[CommandKey]

例如,要让内核导出内存信息(CommandKey “m”),您应该同时按下Alt 和 Print Screen 键,然后按下 m 键. 提示: 此组合键在Xwindows上是无法使用的。所以,您先要切换到文本虚拟终端下。如果您现在是在图形界面,可以按Ctrl+Alt+F1切换到虚拟终端。

在串口终端上,要想获得同样的效果,需要先在终端上发送Break信号,然后在5秒内输入sysrq组合键。

如果您在机器上有root权限,您可以把commandkey字符写入到/proc/sysrq-trigger文件。这可以帮助您通过脚本或者您不在系统终端上的时候触发sysrq事件。

# echo ‘m’ > /proc/sysrq-trigger

当我触发一个sysrq事件的时候,接过保存在什么地方?

当一个sysrq命令被触发,内核将会打印信息到内核的环形缓冲并输出到系统控制台。此信息一般也会通过syslog输出到/var/log/messages.

有时候,可能系统已经无法响应,syslogd可能无法记录此信息。在这种情况下,建议您配置一个串口终端来收集这个信息。

那些类型的sysrq事件可以被触发?

sysrq功能被打开后,有几种sysrq事件可以被触发。不同的内核版本可能会有些不同。但有一些是共用的:

* m – 导出关于内存分配的信息

* t – 导出线程状态信息

* p – 到处当前CPU寄存器信息和标志位的信息

* c – 故意让系统崩溃(在使用netdump或者diskdump的时候有用)

* s – 立即同步所有挂载的文件系统

* u – 立即重新挂载所有的文件系统为只读

* b – 立即重新启动系统

* o – 立即关机(如果机器配置并支持此项功能)

什么是SysRq”魔术组合键”?

根据Linux内核文档介绍:

这是一组’魔术组合键’,只要内核没有被完全锁住,不管内核在做什么事情,使用这些组合键可以立即打印出内核的信息。
使用sysrq组合键是了解系统目前运行情况的最好方式。如果系统出现挂起的情况或者在诊断一些和内核相关,比较怪异,比较难重现的问题的时候,使用sysrq键是一个比较好的方式。
如何打开和关闭SysRq组合键?
为了安全起见,在红帽企业版Linux里面,默认SysRq组合键是关闭的。 打开这个功能,运行:
# echo 1 > /proc/sys/kernel/sysrq

关闭这个功能:
# echo 0 > /proc/sys/kernel/sysrq

如果想让此功能一直生效,在/etc/sysctl.conf里面设置kernel.sysrq的值为1. 重新启动以后,此功能将会自动打开。

kernel.sysrq = 1

因为打开sysrq键的功能以后,有终端访问权限的用户将会拥有一些特殊的功能。因此,除非是要调试,解决问题,一般情况下,不要打开此功能。如果一定要打开,请确保您的终端访问的安全性。

如何触发一个sysrq事件?

有几种方式可以触发sysrq事件。在带有AT键盘的一般系统上,在终端上输入一下组合键:

Alt+PrintScreen+[CommandKey]

例如,要让内核导出内存信息(CommandKey “m”),您应该同时按下Alt 和 Print Screen 键,然后按下 m 键. 提示: 此组合键在Xwindows上是无法使用的。所以,您先要切换到文本虚拟终端下。如果您现在是在图形界面,可以按Ctrl+Alt+F1切换到虚拟终端。

在串口终端上,要想获得同样的效果,需要先在终端上发送Break信号,然后在5秒内输入sysrq组合键。

如果您在机器上有root权限,您可以把commandkey字符写入到/proc/sysrq-trigger文件。这可以帮助您通过脚本或者您不在系统终端上的时候触发sysrq事件。

# echo ‘m’ > /proc/sysrq-trigger

当我触发一个sysrq事件的时候,接过保存在什么地方?

当一个sysrq命令被触发,内核将会打印信息到内核的环形缓冲并输出到系统控制台。此信息一般也会通过syslog输出到/var/log/messages.

有时候,可能系统已经无法响应,syslogd可能无法记录此信息。在这种情况下,建议您配置一个串口终端来收集这个信息。

那些类型的sysrq事件可以被触发?

sysrq功能被打开后,有几种sysrq事件可以被触发。不同的内核版本可能会有些不同。但有一些是共用的:

* m – 导出关于内存分配的信息

* t – 导出线程状态信息

* p – 到处当前CPU寄存器信息和标志位的信息

* c – 故意让系统崩溃(在使用netdump或者diskdump的时候有用)

* s – 立即同步所有挂载的文件系统

* u – 立即重新挂载所有的文件系统为只读

* b – 立即重新启动系统

* o – 立即关机(如果机器配置并支持此项功能)