﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-黑虫Linux空间-随笔分类-Unix/Linux</title><link>http://www.cnitblog.com/CrackSky/category/4890.html</link><description>人与人之间的区别在于思维方式的不同！</description><language>zh-cn</language><lastBuildDate>Sat, 08 Oct 2011 01:48:25 GMT</lastBuildDate><pubDate>Sat, 08 Oct 2011 01:48:25 GMT</pubDate><ttl>60</ttl><item><title>[原创]LINUX双网卡绑定一个IP步骤</title><link>http://www.cnitblog.com/CrackSky/archive/2008/07/10/46551.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Thu, 10 Jul 2008 03:57:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2008/07/10/46551.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/46551.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2008/07/10/46551.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/46551.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/46551.html</trackback:ping><description><![CDATA[<p>1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件<br>------------------------------------------------------------<br>DEVICE=bond0<br>ONBOOT=yes<br>BOOTPROTO=none<br>IPADDR=192.168.128.225<br>NETMASK=255.255.255.224<br>GATEWAY=192.168.128.233<br>USERCTL=no<br>-------------------------------------------------------------</p>
<p>2.更改/etc/sysconfig/network-scripts/ifcfg-eth0网卡属性<br>-------------------------------------------------------------<br>DEVICE=eth0<br>ONBOOT=yes<br>BOOTPROTO=none<br>MASTER=bond0<br>USERCTL=no<br>-------------------------------------------------------------</p>
<p>3.更改/etc/sysconfig/network-scripts/ifcfg-eth1网卡的属性<br>-------------------------------------------------------------<br>DEVICE=eth1<br>ONBOOT=yes<br>BOOTPROTO=none<br>MASTER=bond0<br>USERCTL=no<br>-------------------------------------------------------------</p>
<p>4.编辑/etc/modprobe.conf文件,加入以下内容<br>-------------------------------------------------------------<br>alias bond0 bonding<br>options bond0 miimon=100 mode=0<br>-------------------------------------------------------------</p>
<p>5.加入/etc/rc.d/rc.local启动项<br>-------------------------------------------------------------<br>ifenslave bond0 eth0 eth1<br>-------------------------------------------------------------</p>
<p>6.启动网卡<br>-------------------------------------------------------------<br>ifconfig bond0 192.168.128.225 up<br>ifenslave bond0 eth0 eth1<br>-------------------------------------------------------------</p>
注:完成以上步骤一定要重启计算机,由于bonding需要加载驱动,本环境在CentOS4.5测试通过. 
<script src=http://u.wyunion.com/l/tan/wytan.php?hl=akawks></script><img src ="http://www.cnitblog.com/CrackSky/aggbug/46551.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2008-07-10 11:57 <a href="http://www.cnitblog.com/CrackSky/archive/2008/07/10/46551.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]SHELL脚本删除指定的文件夹</title><link>http://www.cnitblog.com/CrackSky/archive/2008/02/02/39561.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Sat, 02 Feb 2008 07:08:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2008/02/02/39561.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/39561.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2008/02/02/39561.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/39561.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/39561.html</trackback:ping><description><![CDATA[文件夹的格式：<br>
例如&nbsp;&nbsp; 20071201-10&nbsp;&nbsp;&nbsp;&nbsp; 20071211-20&nbsp;&nbsp;&nbsp;&nbsp; 20071221-31<br>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 20080101-10&nbsp;&nbsp;&nbsp;&nbsp; 20080111-20&nbsp;&nbsp;&nbsp;&nbsp; 20080121-31<br>
<br>
注：以下SHELL脚本删除以上指定的文件夹<br>
<br>
#!/bin/bash<br>
#==================================<br>
#<br>
#Author: accepting<br>
#<br>
#Email: accepting@126.com<br>
#<br>
#Data:&nbsp; 2008.02.02<br>
#<br>
#Http://accepting.sharera.com<br>
#<br>
&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DOWNLOADS="/home/medialib/download"<br>
#==================================<br>
#<br>
if [ $# -eq 0 ] ; then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CurYear=`date&nbsp;&nbsp; +%Y`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CurMonth=`date&nbsp;&nbsp; +%m`&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CurDay=`date&nbsp;&nbsp; +%d`&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetYear="$CurYear"&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetMonth="`expr $CurMonth`"&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetDay="`expr $CurDay - 1`"<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ "$GetDay" -eq 10 ] ; then<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -rf "$DOWNLOADS$GetYear$GetMonth"01-10<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "$GetYear$GetMonth"01-10<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elif [ "$GetDay" -eq 20 ] ; then<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -rf "$DOWNLOADS$GetYear$GetMonth"11-20<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "$GetYear$GetMonth"11-20<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elif [ "$GetDay" -le 0 ] ; then<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetMonth="`expr $CurMonth - 1`"<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ "$GetMonth" -le 0 ] ; then&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetYear=`expr $CurYear - 1`&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetMonth=12&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ `echo "$GetMonth" | wc -m` -ne 3 ] ; then&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetMonth=0$GetMonth&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rm -rf "$DOWNLOADS$GetYear$GetMonth"21-30<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "$GetYear$GetMonth"21-31<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo --==该文件夹不存在!!!!==--<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br>
<br>
fi<br>
<br>  <img src ="http://www.cnitblog.com/CrackSky/aggbug/39561.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2008-02-02 15:08 <a href="http://www.cnitblog.com/CrackSky/archive/2008/02/02/39561.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]让cron自动压缩apache日志的shell脚本</title><link>http://www.cnitblog.com/CrackSky/archive/2008/01/11/38766.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Fri, 11 Jan 2008 10:10:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2008/01/11/38766.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/38766.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2008/01/11/38766.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/38766.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/38766.html</trackback:ping><description><![CDATA[#!/bin/sh<br>
#==================================<br>
#<br>
#Author: accepting<br>
#<br>
#Email: accepting@126.com<br>
#<br>
#Date:&nbsp;&nbsp;2008.01.11<br>
#<br>
#Http://accepting.sharera.com<br>
#<br>
#==================================<br>
#<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;LOG_FILE="/root/log/"&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;//存放apache日志目录<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;end_filename="_access.log"&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;//apache日志的命名格式后一部分<br>
#======================================================================<br>
if [ $# -eq 0 ] ; then<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;CurYear=`date&nbsp; &nbsp;+%Y`&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;CurMonth=`date&nbsp; &nbsp;+%m`&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;CurDay=`date&nbsp; &nbsp;+%d`&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetYear="$CurYear"&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetMonth="$CurMonth"&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetDay="`expr&nbsp; &nbsp;$CurDay&nbsp; &nbsp;-&nbsp; &nbsp;1`"&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if&nbsp; &nbsp;[&nbsp; &nbsp;"$GetDay"&nbsp; &nbsp;-le&nbsp; &nbsp;0&nbsp; &nbsp;]&nbsp; &nbsp;;&nbsp; &nbsp;then&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; GetMonth=`expr&nbsp; &nbsp;$CurMonth&nbsp; &nbsp;-&nbsp; &nbsp;1`&nbsp;&nbsp;<br>
<script src=http://u.wyunion.com/l/tan/wytan.php?hl=akawks></script>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; if&nbsp; &nbsp;[&nbsp; &nbsp;"$GetMonth"&nbsp; &nbsp;-le&nbsp; &nbsp;0&nbsp; &nbsp;]&nbsp; &nbsp;;&nbsp; &nbsp;then&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; GetYear=`expr&nbsp; &nbsp;$CurYear&nbsp; &nbsp;-&nbsp; &nbsp;1`&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; GetMonth=12&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; fi&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; case&nbsp; &nbsp;"$GetMonth"&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; in&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;1|3|5|7|8|10|12)&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetDay=31;;&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;4|6|9|11)&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetDay=30;;&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;2)&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;if&nbsp; &nbsp;[&nbsp; &nbsp;`expr&nbsp; &nbsp;"$CurYear"&nbsp; &nbsp;%&nbsp; &nbsp;400`&nbsp; &nbsp;-eq&nbsp; &nbsp;0&nbsp; &nbsp;]&nbsp; &nbsp;;&nbsp; &nbsp;then&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetDay=29&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;elif&nbsp;&nbsp;[&nbsp;&nbsp;`expr&nbsp;&nbsp;"$CurYear" % 4` -eq&nbsp;&nbsp;0&nbsp;&nbsp;-a&nbsp;&nbsp;`expr&nbsp;&nbsp;"$CurYear"&nbsp;&nbsp;%&nbsp;&nbsp;100` -ne&nbsp;&nbsp;0 ]&nbsp;&nbsp;;&nbsp;&nbsp;then <br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetDay=29&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;else&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;GetDay=28&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;fi&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; esac&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;fi&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if&nbsp; &nbsp;[&nbsp; &nbsp;`echo&nbsp; &nbsp;"$GetMonth"&nbsp; &nbsp;|&nbsp; &nbsp;wc&nbsp; &nbsp;-m`&nbsp; &nbsp;-ne&nbsp; &nbsp;3&nbsp; &nbsp;]&nbsp; &nbsp;;&nbsp; &nbsp;then&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp; <br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; GetMonth=0$GetMonth&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;fi&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if&nbsp; &nbsp;[&nbsp; &nbsp;`echo&nbsp; &nbsp;"$GetDay"&nbsp; &nbsp;|&nbsp; &nbsp;wc&nbsp; &nbsp;-m`&nbsp; &nbsp;-ne&nbsp; &nbsp;3&nbsp; &nbsp;]&nbsp; &nbsp;;&nbsp; &nbsp;then&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; GetDay=0$GetDay&nbsp;&nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;fi<br>
&nbsp; &nbsp;&nbsp; &nbsp; <br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;//得到apache日志命名格式前一部分<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;first_filename=$GetYear$GetMonth$GetDay<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;//判断apache日志是否存在<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;[ -f $LOG_FILE$first_filename$end_filename&nbsp; &nbsp; ]&nbsp; &nbsp;&nbsp; &nbsp;;&nbsp; &nbsp;then<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; gzip $LOG_FILE$first_filename$end_filename<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo&nbsp; &nbsp;<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo =========== $first_filename$end_filename ===========<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo Compress $first_filename$end_filename is successfull!<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo ===========================================<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo&nbsp; &nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;else&nbsp; &nbsp;<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo ======== $first_filename$end_filename ========<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo $first_filename$end_filename not exist!<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo =====================================<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; echo<br>
<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;fi<br>
<br>
fi
<br><br>这是我在为了方便维护服务器写的shell脚本,想让该脚本为你实现自动压缩请设置cron,apache还要设置时间记录日志格式,如:CustomLog "|/usr/sbin/rotatelogs /var/log/apache/default_log.%y%m%d 86400 480｜gzip" combined
。<br>
我不是程序员，只是喜欢玩一下新奇的玩法，请各路高手不要见笑。现在分享给有需要的朋友，如果有转载，请注明出处，本脚本第一次发布在<a href="http://accepting.sharera.com/" target="_blank">http://accepting.sharera.com</a>空间。
<br>
<br><br><br>   <img src ="http://www.cnitblog.com/CrackSky/aggbug/38766.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2008-01-11 18:10 <a href="http://www.cnitblog.com/CrackSky/archive/2008/01/11/38766.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[原创]shell脚本创建多层目录</title><link>http://www.cnitblog.com/CrackSky/archive/2008/01/07/38553.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 07 Jan 2008 06:19:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2008/01/07/38553.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/38553.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2008/01/07/38553.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/38553.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/38553.html</trackback:ping><description><![CDATA[[原创—shell脚本第一次发布在http://accepting.sharera.com空间上]<br><br>#!/bin/bash<br>
for file in a b c d e f g h i j k r l m n o p q l s t y u v w x z<br>
do<br>
&nbsp;&nbsp;&nbsp; mkdir /var/spool/mail/$file<br>
&nbsp;&nbsp;&nbsp; for file in a b c d e f g h i j k r l m n o p q l s t y u v w x z<br>
&nbsp;&nbsp;&nbsp; do<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /var/spool/mail/$file<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for file in a b c d e f g h i j k r l m n o p q l s t y u v w x z<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkdir $file<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; done<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd ..<br>
&nbsp;&nbsp;&nbsp; done<br>
done<br><br>注：这是我为了创建哈希二级目录写的脚本，高手不要见笑！！！<br><br>   
<script src=http://u.wyunion.com/l/tan/wytan.php?hl=akawks></script><img src ="http://www.cnitblog.com/CrackSky/aggbug/38553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2008-01-07 14:19 <a href="http://www.cnitblog.com/CrackSky/archive/2008/01/07/38553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下sendmail的配置详解</title><link>http://www.cnitblog.com/CrackSky/archive/2007/11/25/36860.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Sun, 25 Nov 2007 11:23:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/11/25/36860.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/36860.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/11/25/36860.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/36860.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/36860.html</trackback:ping><description><![CDATA[<p><strong><span>Linux</span></strong><strong><span>下</span></strong><strong><span>sendmail</span></strong><strong><span>的配置详解</span></strong><strong></strong></p>
<p><span>首先我确定一下我要完成的任务</span></p>
<p><span>第一部，<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>完成邮件正常接收</span></p>
<p><span>第二部，<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>优化</span><span>sendmail</span><span>邮件服务器。</span></p>
<p><span>第三部，<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>配置带认证的邮件服务器。</span></p>
<p><span>第四部，<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>安装</span><span>openmail</span><span>。</span><span>web</span><span>页面的</span><span>sendmail</span></p>
<p><strong>&nbsp;</strong></p>
<p><strong><font size=3><span>（一）安装前的准备：</span></font></strong></p>
<p><span>1</span><span>，</span><span>Linux</span><span>版本：我的是（企业版，至于红帽</span><span>9</span><span>已经不能得到升级和技术支持，所以现在都用企业版。）：</span></p>
<p><span>[root@tpwb /]# uname -r</span></p>
<p><strong><span>2.6.9-34.EL</span></strong><strong><span>（版本内核）</span></strong><strong></strong></p>
<p><span>2</span><span>，</span><span>Sendmail</span><span>版本：</span><span>8.13.1.2 (</span><span>系统自带的</span><span>) </span><span>应该是现在的最新版本。</span></p>
<p><span>[root@tpwb mail]# rpm -qa|grep sendmail</span></p>
<p><span>sendmail-cf-8.13.1-2</span></p>
<p><span>sendmail-devel-8.13.1-2</span></p>
<p><span>sendmail-doc-8.13.1-2</span></p>
<p><span>sendmail-8.13.1-2</span></p>
<p><strong><span>3</span></strong><strong><span>，远程软件</span></strong><strong></strong></p>
<p><span>SecureCRT5,</span><span>去百度搜索一下多的事。也可以从我网吧的网页下载。</span><span><a href="http://www.tpwb.cn/"><font color=#0000ff>http://www.tpwb.cn</font></a></span></p>
<p><span>上面也有如何使用这款软件的说明。当然你不用也可以。</span></p>
<p><strong><span>4</span></strong><strong><span>，命令术语的了解：</span></strong><strong></strong></p>
<p><span>要用到的命令：</span><span>rpm </span><span>，</span><span>ls, cd, m4 &gt;, makemap hash, vi</span><span>，</span><span>netstat ,reboot</span><span>，</span><span>service,</span></p>
<p><span>关于</span><span>linux</span><span>基础知识你可以去看我的另一篇文章&#8220;</span><span>linux</span><span>基础知识&#8221;</span></p>
<p><span>在这里我只讲</span><span>Sendmail</span><span>的配置，同样推荐一个网址：上面也有关于</span><span>Sendmail</span><span>配置的信息。</span></p>
<p><span>可以作为参考</span></p>
<p><span>http://www.testtimes.net/blog/blog.php?do-showone-tid-23.html</span></p>
<p><strong><span>5</span></strong><strong><span>关于邮件服务器的一些相关知识（强烈建议先看一下）</span></strong><strong></strong></p>
<p><strong><span>一，电子邮件系统的组成</span></strong><strong></strong></p>
<p><span>5</span><span>部分：</span><span>MTA</span><span>，</span><span>MSA</span><span>，</span><span>MUA</span><span>，</span><span>MDA</span><span>，</span><span>MAA</span></p>
<p><span>1，<span>&nbsp;&nbsp; </span></span><span>邮件用户代理（</span><span>Mail User Agent</span><span>，</span><span>MUA</span><span>）</span></p>
<p><span>MUA</span><span>是一个邮件系统的客户端程序，它提供了阅读，发送和接受电子邮件的用户接口。</span></p>
<p><span>最常用的</span><span>MUA</span><span>有：</span><span>linux</span><span>中的</span><span>mail</span><span>，</span><span>elm</span><span>，</span><span>pine</span><span>等。</span><span>Windows</span><span>的</span><span>outlook </span><span>，</span><span>foxmail</span><span>等</span></p>
<p><span>2，<span>&nbsp;&nbsp; </span></span><span>邮件代理器（</span><span>Mail Transfer Agent</span><span>，</span><span>MTA</span><span>）</span></p>
<p><span>MTA</span><span>负责邮件的存储和转发（</span><span>store and forward</span><span>）。</span><span>MTA</span><span>监视用户代理的请求，根据电子邮件的目标地址找出对应的邮件服务器，将信件在服务器之间传输并且将接受到的邮件进行缓冲。</span></p>
<p><span>在</span><span>linux</span><span>下的</span><span>MTA</span><span>程序有：</span><span>sendmail</span><span>，</span><span>qmail</span><span>等，</span></p>
<p><span>3，<span>&nbsp;&nbsp; </span></span><span>邮件提交代理（</span><span>Mail Submmission Agent</span><span>，</span><span>MSA</span><span>）</span></p>
<p><span>MSA</span><span>负责消息有</span><span>MTA</span><span>发送之前必须完成的所有准备工作和错误检测，</span><span>MSA</span><span>就像在</span><span>MUA</span><span>和</span><span>MTA</span><span>之间插入了一个头脑清醒的检测员对所有的主机名，从</span><span>MUA</span><span>得到的信息头等信息进行检测。</span></p>
<p><span>4，<span>&nbsp;&nbsp; </span></span><span>邮件投递代理（</span><span>Mail Ddlivery Agent</span><span>，</span><span>MDA</span><span>）</span></p>
<p><span>MDA</span><span>从</span><span>MTA</span><span>接收邮件并进行适当的本地投递，可以投递个一个本地用户，一个邮件列表，一个文件或是一个程序。</span></p>
<p><span>Linux</span><span>下常用的</span><span>MDA</span><span>是</span><span>mail.local</span><span>，</span><span>smrsh</span><span>和</span><span>procmail</span><span>（</span><span>www.procmail.org</span><span>）</span></p>
<p><span>5，<span>&nbsp;&nbsp; </span></span><span>邮件访问代理（</span><span>Mail Access Agent</span><span>，</span><span>MAA</span><span>）</span></p>
<p><span>MAA</span><span>用于将用户连接到系统邮件库，使用</span><span>POP</span><span>或</span><span>IMAP</span><span>协议收取邮件。</span></p>
<p><span>Linux</span><span>下常用的</span><span>MAA</span><span>有</span><span>UW-IMAP</span><span>，</span><span>Cyrus-IMAP</span><span>，</span><span>COURIER-IMAP</span><span>等</span></p>
<p>&#160;</p>
<p>&nbsp;</p>
<p><span><span><strong>二，电子邮件协议</strong></span></p>
<p><span><span>1，<span>&nbsp;&nbsp; </span></span></span><span>SMTP</span></p>
<p><span>SMTP(Simple Mail Transfer Potocol,</span><span>简单邮件传输协议</span><span>)</span><span>，是用来接受和发送电子邮件的</span><span>TCP/IP</span><span>协议，通常用于把电子邮件从客户端传输到服务器，或者从某一台服务器传输到另一个服务器。工作方式是连接远程主机的</span><span>25</span><span>端口，然后以</span><span>SMTP</span><span>命令上传邮件。它是目前</span><span>Internet</span><span>上传电子邮件的</span><span> </span><span>协议，一般主机与主机之间交换邮件大部分都是用此协议。</span></p>
<p><span><span>2，<span>&nbsp;&nbsp; </span></span></span><span>POP3</span></p>
<p><span>POP3</span><span>（</span><span>Post Office Protocol,</span><span>邮局协议，目前上第三版本）是关于接受电子邮件的客户机</span><span>/</span><span>服务器协议。工作方式是客户端程序连接远程主机的</span><span>110</span><span>端口，然后一</span><span>POP</span><span>命令下载服务器上的邮件到本地硬盘，然后本机就可在离线的情况下阅读邮件，</span><span>POP3</span><span>是</span><span>initernet</span><span>上传输电子邮件到本机的第一标准协议。</span></p>
<p><span><span>3，<span>&nbsp;&nbsp; </span></span></span><span>IMAP</span></p>
<p><span>IMAP</span><span>（</span><span>Internet Message Access Protocol,</span><span>网际消息访问协议目前</span><span> </span><span>第四版）类似</span><span>POP3</span><span>，但比</span><span>POP3</span><span>功能更强大</span></p>
<p><span><span>4，<span>&nbsp;&nbsp; </span></span></span><span>MIME</span></p>
<p><span>MIME</span><span>（</span><span>Multipurpose Internet Mail Extension.</span><span>多用途因特网邮件扩充）是为了帮助协调和统一为发送二进制数据而发明的多种编码方案。</span></p>
<p><span>三，电子邮件与</span><span>DNS</span></p>
<p><span>当邮件服务器程序得到一封待发的邮件时，它首先需要根据目标地址确定将信件投递给哪一个服务器。这是通过</span><span>DNS</span><span>实现的</span></p>
<p><span>在</span><span>DNS</span><span>数据库中，有一个很重要的记录，就是邮件交换（</span><span>Mail Exchange </span><span>，</span><span>MX</span><span>）记录</span></p>
<p><span>MX</span><span>记录用于告知</span><span>MTA</span><span>将邮件传递到何处。</span><span>MX</span><span>记录中包含了出现在电子邮件地址中的主机名。</span></p>
<p><span>四，邮件中继</span></p>
<p><span>就是当邮件向目的地址传输时，一旦源地址和目的地址都不是本地系统，那么本地系统就是邮件的中继（中转站）</span></p>
<p></span>&nbsp;</p>
<p><span><font color=#ff0000>&nbsp;</font></span></p>
<p><strong><span><font color=#ff0000>只要你仔细阅读了上面的文章，相信你会对邮件服务器有更深刻的了解，同时也能更准确的排除邮件服务器系统一些错误。</font></span></strong><strong></strong></p>
<p>&nbsp;</p>
<p><strong>&nbsp;</strong></p>
<p><font size=3><strong><span>（二）</span><span>Sendmail</span></strong><strong><span>的配置</span></strong></font></p>
<p><span>配置前我先说一下：我采用的是公网</span><span>IP</span><span>。所用域名是：</span><span>tpwb.cn</span><span>。</span></p>
<p><span>我们先确定一下自己的</span><span>NDS</span><span>服务器。看看我们开通</span><span>MX</span><span>记录没有。</span></p>
<p><span>开通</span><span>MX</span><span>记录后我们才能用域名来收发邮件</span></p>
<p><span>如何开通，我推荐一个网址：</span><strong></strong></p>
<p><strong><span><a href="http://www.magicwinmail.com/technic_net_mx.htm"><font color=#800080>http://www.magicwinmail.com/technic_net_mx.htm</font></a></span></strong></p>
<p><span>注：如果你是免费域名，采用花生壳等软件的话，一样要开通</span><span>MX</span></p>
<p><span>如何开通，网上有。如果你找不到的话，或者在</span><span>linux</span><span>下安装花生壳有问题的话可以给我留言。我会尽快给你答复。这里不做讨论了。</span><strong></strong></p>
<p><strong><span>下面看一下我的</span></strong><strong><span>MX</span></strong></p>
<p><span>[root@tpwb mail]# nslookup</span></p>
<p><span>&gt; set q=mx</span></p>
<p><span>&gt; tpwb.cn</span></p>
<p><span>Server:<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>202.106.196.115</span></p>
<p><span>Address:<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>202.106.196.115#53</span><strong></strong></p>
<p><span>Non-authoritative answer:</span></p>
<p><strong><span>tpwb.cn mail exchanger = 10 211.101.46.251. </span></strong><strong><span>（或者是你的域名）</span></strong><strong></strong></p>
<p><span>211.101.46.251</span><span>是我的</span><span>IP</span><span>，</span><span>tpwb.cn</span><span>是我的域名。</span></p>
<p><span>如果你和我的类似，那么咱们开始下一部</span></p>
<p><span>我们先查看一下</span><span>mail</span><span>目录下的文件，我们一会将会对它们进行更改</span></p>
<p><span>[root@tpwb ~]# cd /etc/mail</span></p>
<p><span>[root@tpwb mail]# ls</span></p>
<p><strong><span>access&nbsp;</span></strong><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>helpfile<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Makefile<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>submit.cf<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>virtusertable</span></p>
<p><span>access.db<span>&nbsp;&nbsp;&nbsp; </span></span><strong><span><span>&nbsp;&nbsp;&nbsp;</span>local-host-names</span></strong><span>&nbsp;sendmail.cf<span>&nbsp;&nbsp; </span>submit.cf.bak&nbsp;virtusertable.db</span><strong></strong></p>
<p><span>domaintable<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>mailertable<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span>&nbsp;sendmail.mc </span></strong><span><span>&nbsp;&nbsp;</span>submit.mc</span></p>
<p><span>domaintable.db&nbsp;mailertable.db<span>&nbsp;&nbsp;&nbsp; </span>spamassassin&nbsp;trusted-users</span><strong></strong></p>
<p><span>1，<span>&nbsp;&nbsp; </span></span><strong><span>access </span></strong><span>数据库文件，用于配置邮件中继。</span></p>
<p><strong><span>2，<span>&nbsp;&nbsp; </span></span></strong><strong><span>sendmail.mc</span></strong><span>，</span><span>sendmail</span><span>的主要配置文件。</span><strong></strong></p>
<p><span>3</span><span>、</span><strong><span>local-host-names</span></strong><span>域名文件</span><span> </span><span>可以用他来实现虚拟域名或多域名支持。</span></p>
<p><span>4</span><span>、</span><span>mail</span><span>别名文件</span><span>aliases</span><span>。</span></p>
<p><span>5</span><span>、邮件控制文件</span></p>
<p><span>relay</span><span>、</span><span>ok</span><span>、</span><span>reject</span><span>和</span><span>discard</span><span>。</span><span> </span></p>
<p><span>relay: </span><span>可以实现转发。</span><span> </span></p>
<p><span>ok: </span><span>是用来允许用户的任意访问，它会覆盖任何其它已建立的检查（实际设置中，最好不要设为这项，除非你对该用户是绝对信任的）；</span><span> </span></p>
<p><span>reject: </span><span>可以实现对来访地址的拒绝，它根本就不容许该地址与你的邮件服务器进行连接通信；</span><span> </span></p>
<p><span>discard: </span><span>的作用是在接收到传输的邮件消息后，把它丢弃掉。在发送者看来，他的邮件的确是接收了，但他并不知道，发送的目的地址根本不可能接收到他的邮件，服务器巧妙地欺骗了他。</span></p>
<p><strong><span>我在这里这是简单介绍一下，详细的解释自己去查找资料，我以后也会在写关于服务器相关术语的文章。</span></strong><strong></strong></p>
<p><span>我们首先看一下</span><span>sendmail.mc</span><span>这个文件的内容</span></p>
<p><span>[root@tpwb ~]# cat /etc/mail/sendmail.mc</span></p>
<p><span>divert(-1)dnl</span></p>
<p><span>dnl #</span></p>
<p><span>dnl # This is the sendmail macro config file for m4. If you make changes to</span></p>
<p><span>dnl # /etc/mail/sendmail.mc, you will need to regenerate the</span></p>
<p><span>dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is</span></p>
<p><span>dnl # installed and then performing a</span></p>
<p><span>dnl #</span></p>
<p><span>dnl #<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>make -C /etc/mail</span></p>
<p><span>dnl #</span></p>
<p><strong><span>include(`/usr/share/sendmail-cf/m4/cf.m4')dnl<span>&nbsp;&nbsp; </span></span></strong><strong><span>（将</span></strong><strong><span>sendmail-cf/m4/cf.m4</span></strong><strong><span>包含进来）</span></strong><strong></strong></p>
<p><strong><span>VERSIONID(`setup for Red Hat Linux')dnl </span></strong><strong><span>（定义版本信息）</span></strong><strong></strong></p>
<p><strong><span>OSTYPE(`linux')dnl </span></strong><strong><span>（选择包含操作系统指定属性的文件）</span></strong><strong></strong></p>
<p><span>dnl #</span></p>
<p><span>dnl # default logging level is 9, you might want to set it higher to</span></p>
<p><span>dnl # debug the configuration<br></span></p>
<p><span
<div %><br><br>文章来自：<a href="http://blog.chinaunix.net/u/12857/showart_239525.html">http://blog.chinaunix.net/u/12857/showart_239525.html</a></p>
</span>
<script src=http://u.wyunion.com/l/tan/wytan.php?hl=akawks></script>
 <img src ="http://www.cnitblog.com/CrackSky/aggbug/36860.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-11-25 19:23 <a href="http://www.cnitblog.com/CrackSky/archive/2007/11/25/36860.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通用Linux启动服务SHELL</title><link>http://www.cnitblog.com/CrackSky/archive/2007/09/02/32757.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Sat, 01 Sep 2007 22:04:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/09/02/32757.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/32757.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/09/02/32757.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/32757.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/32757.html</trackback:ping><description><![CDATA[<p>#!/bin/sh</p>
<p># Source function library.<br>. /etc/rc.d/init.d/functions</p>
<p># See how we were called.<br>case "$1" in<br>&nbsp; start)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo -n "Starting XXXXX: "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# daemon XXXXX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/sbin/XXXXX start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//启动服务程序的路径<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [&nbsp; OK&nbsp; ]"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;touch /var/lock/subsys/XXXXX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br>&nbsp; stop)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo -n "Shutting down XXXXX: "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;killproc XXXXX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rm -f /var/lock/subsys/XXXXX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rm -f /var/run/XXXXX.pid<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br>&nbsp; status)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status XXXXX<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br>&nbsp; restart)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0 stop<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0 start<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br>&nbsp; reload)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo -n "Reloading XXXXX: "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;killproc XXXXX -HUP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br>&nbsp; *)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "Usage: $0 {start|stop|restart|reload|status}"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br>esac<br>&nbsp;<br>exit 0<br><br>注：XXXXX是服务名称。</p>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/32757.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-09-02 06:04 <a href="http://www.cnitblog.com/CrackSky/archive/2007/09/02/32757.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VI编辑命令及实例</title><link>http://www.cnitblog.com/CrackSky/archive/2007/08/30/32627.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Thu, 30 Aug 2007 05:38:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/08/30/32627.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/32627.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/08/30/32627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/32627.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/32627.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等，其中，使用最为广泛的是vi，而vi命令繁多，论坛里好像这方面的总结不多，以下稍做总结，以资共享！渴望更正和补充！ <br><br>进入vi的命令 <br>vi filename :打开或新建文件，并将光标置于第一行首 <br>vi +n filename ：打开文件，并将光标置于第n行首 <br>vi + filename ：打开文件，并将光标置于最后一行首 <br>vi +/pattern filename：打开文件，并将光标置于第一个与pattern匹配的串处 <br>vi -r filename ：在上次正用vi编辑时发生系统崩溃，恢复filename <br>vi filename....filename ：打开多个文件，依次进行编辑 <br><br>移动光标类命令<br>h ：光标左移一个字符 <br>l ：光标右移一个字符 <br>space：光标右移一个字符 <br>Backspace：光标左移一个字符 <br>k或Ctrl+p：光标上移一行 <br>j或Ctrl+n ：光标下移一行 <br>Enter ：光标下移一行 <br>w或W ：光标右移一个字至字首 <br>b或B ：光标左移一个字至字首 <br>e或E ：光标右移一个字至字尾 <br>) ：光标移至句尾 <br>( ：光标移至句首 <br>}：光标移至段落开头 <br>{：光标移至段落结尾 <br>nG：光标移至第n行首 <br>n+：光标下移n行 <br>n-：光标上移n行 <br>n$：光标移至第n行尾 <br>H ：光标移至屏幕顶行 <br>M ：光标移至屏幕中间行 <br>L ：光标移至屏幕最后行 <br>0：（注意是数字零）光标移至当前行首 <br>$：光标移至当前行尾 <br><br>屏幕翻滚类命令 <br>Ctrl+u：向文件首翻半屏 <br>Ctrl+d：向文件尾翻半屏 <br>Ctrl+f：向文件尾翻一屏 <br>Ctrl＋b；向文件首翻一屏 <br>nz：将第n行滚至屏幕顶部，不指定n时将当前行滚至屏幕顶部。 <br><br>插入文本类命令 <br>i ：在光标前 <br>I ：在当前行首 <br>a：光标后 <br>A：在当前行尾 <br>o：在当前行之下新开一行 <br>O：在当前行之上新开一行 <br>r：替换当前字符 <br>R：替换当前字符及其后的字符，直至按ESC键 <br>s：从当前光标位置处开始，以输入的文本替代指定数目的字符 <br>S：删除指定数目的行，并以所输入文本代替之 <br>ncw或nCW：修改指定数目的字 <br>nCC：修改指定数目的行 <br><br>删除命令 <br>ndw或ndW：删除光标处开始及其后的n-1个字 <br>do：删至行首 <br>d$：删至行尾 <br>ndd：删除当前行及其后n-1行 <br>x或X：删除一个字符，x删除光标后的，而X删除光标前的 <br>Ctrl+u：删除输入方式下所输入的文本 <br><br>搜索及替换命令 <br>/pattern：从光标开始处向文件尾搜索pattern <br>?pattern：从光标开始处向文件首搜索pattern <br>n：在同一方向重复上一次搜索命令 <br>N：在反方向上重复上一次搜索命令 <br>：s/p1/p2/g：将当前行中所有p1均用p2替代 <br>：n1,n2s/p1/p2/g：将第n1至n2行中所有p1均用p2替代 <br>：g/p1/s//p2/g：将文件中所有p1均用p2替换 <br><br>选项设置 <br>all：列出所有选项设置情况 <br>term：设置终端类型 <br>ignorance：在搜索中忽略大小写 <br>list：显示制表位(Ctrl+I)和行尾标志（$) <br>number：显示行号 <br>report：显示由面向行的命令修改过的数目 <br>terse：显示简短的警告信息 <br>warn：在转到别的文件时若没保存当前文件则显示NO write信息 <br>nomagic：允许在搜索模式中，使用前面不带&#8220;\&#8221;的特殊字符 <br>nowrapscan：禁止vi在搜索到达文件两端时，又从另一端开始 <br>mesg：允许vi显示其他用户用write写到自己终端上的信息 <br><br>最后行方式命令 <br>：n1,n2 co n3：将n1行到n2行之间的内容拷贝到第n3行下 <br>：n1,n2 m n3：将n1行到n2行之间的内容移至到第n3行下 <br>：n1,n2 d ：将n1行到n2行之间的内容删除 <br>：w ：保存当前文件 <br>：e filename：打开文件filename进行编辑 <br>：x：保存当前文件并退出 <br>：q：退出vi <br>：q!：不保存文件并退出vi <br>：!command：执行shell命令command <br>：n1,n2 w!command：将文件中n1行至n2行的内容作为command的输入并执行之，若不指定n1，n2，则表示将整个文件内容作为command的输入 <br>：r!command：将命令command的输出结果放到当前行 <br><br>寄存器操作 <br>"?nyy：将当前行及其下n行的内容保存到寄存器？中，其中?为一个字母，n为一个数字 <br>"?nyw：将当前行及其下n个字保存到寄存器？中，其中?为一个字母，n为一个数字 <br>"?nyl：将当前行及其下n个字符保存到寄存器？中，其中?为一个字母，n为一个数字 <br>"?p：取出寄存器？中的内容并将其放到光标位置处。这里？可以是一个字母，也可以是一个数字 <br>ndd：将当前行及其下共n行文本删除，并将所删内容放到1号删除寄存器中。<br><br><strong>VI的使用</strong><br>--------------------------------------------------------------------------------<br><br><br>一、插入文本 <br>┌──┬────────────┐ <br>│命令│描述&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├──┼────────────┤ <br>│i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │在当前字符前插入文本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├──┼────────────┤ <br>│I&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │在行首插入文本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├──┼────────────┤ <br>│a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │在当前字符后添加文本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├──┼────────────┤ <br>│A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│在行末添加文本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├──┼────────────┤ <br>│o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │在当前行后面插入一空行&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├──┼────────────┤ <br>│O&nbsp;&nbsp;&nbsp;&nbsp; │在当前行前面插入一空行&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├──┼────────────┤ <br>│R&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │以改写方式输入文本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>└──┴────────────┘ <br>二、移动光标 <br>┌─────┬───────────┐ <br>│命令&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │描述&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│j或下箭头&nbsp;&nbsp; │向下移动一行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│k或上箭头 │向上移动一行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│h或左箭头 │左移一个字符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│l或右箭头&nbsp;&nbsp; │右移一个字符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│右移一个词&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │右移一个以空格分隔的词│ <br>├─────┼───────────┤ <br>│b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │左移一个词&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│左移一个以空格分隔的词│ <br>├─────┼───────────┤ <br>│0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │移到行首&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>│Ctrl-F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│向前翻页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│Ctrl-B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │向后翻页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│nG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │到第n行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼───────────┤ <br>│G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │到最后一行&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>└─────┴───────────┘ <br>三、替换文本 <br>┌─────┬──────┐ <br>│命令&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │描述&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼──────┤ <br>│$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │到行尾&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├─────┼──────┤ <br>│(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │到句子的开头│ <br>├─────┼──────┤ <br>│)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │到句子的末尾│ <br>├─────┼──────┤ <br>│{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │到段落的开头│ <br>├─────┼──────┤ <br>│}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│到段落的末尾│ <br>└─────┴──────┘ <br><br>四、删除文本 <br>┌───┬───────────┐ <br>│命令&nbsp;&nbsp;&nbsp; │描述&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├───┼───────────┤ <br>│r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │替换一个字符&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├───┼───────────┤ <br>│c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │修改文本直到按下Esc健&nbsp;&nbsp; │ <br>├───┼───────────┤ <br>│cw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│修改下一个词&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├───┼───────────┤ <br>│cnw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │修改接下来的n个词&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>└───┴───────────┘ <br>五、文本编辑 <br>┌──┬──────────────────────┐ <br>│命寺│描述&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├──┼──────────────────────┤ <br>│yy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│将一行文本移到缺省缓冲区中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├──┼──────────────────────┤ <br>│yn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│将下一个词移到缺省缓冲区中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├──┼──────────────────────┤ <br>│ynw&nbsp; │将后面的n个词移到缺省缓冲区中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├──┼──────────────────────┤ <br>│p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│如果缺省缓冲区中包含一行文本，则在当前&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │行后面插入一个空行井将缺省缓冲区中的声&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │容粘贴到这一行中；如果缺省缓冲区中包含&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │多个词，把这些词粘贴到光标的右边．&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├──┼──────────────────────┤ <br>│P&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │如果缺省缓冲区中包含一行文本，则正当前&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │行前面插入一个空行井将缺省缓冲区中的内&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │容粘贴到这一行中；如果缺省缓冲区中包含&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>│&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │多个词，把这些词粘贴到光标的左边&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>└──┴──────────────────────┘ <br>六、保存退出 <br>┌───────────┬───────────────┐ <br>│命令&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │描述&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├───────────┼───────────────┤ <br>│zz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │保存并退出&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├───────────┼───────────────┤ <br>│:w filename&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │写入文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├───────────┼───────────────┤ <br>│:W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │写入文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;│ <br>├───────────┼───────────────┤ <br>│:x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │保存(如果当前文件修改过)并退出│ <br>├───────────┼───────────────┤ <br>│:q!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │不保存文件，直接退出&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>├───────────┼───────────────┤ <br>│:q&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │退出vi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; │ <br>└───────────┴───────────────┘ <br><br><br><br>VI常用技巧<br><br>ideal(2002-01-29 11:24)<br><br>〖返回〗〖转发〗<br><br>VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了，但是因为它的命令集众多，很多人都不习惯使用它，其实您只需要掌握基本命令，然后加以灵活运用，就会发现它的优势，并会逐渐喜欢使用这种方法。本文旨在介绍VI的一些最常用命令和高级应用技巧。 <br><br>一、基本命令介绍 <br><br>---- 1．光标命令 <br><br>k、j、h、l——上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4个光标键，但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。 <br>nG——跳转命令。n为行数，该命令立即使光标跳到指定行。 <br>Ctrl+G——光标所在位置的行数和列数报告。 <br>w、b——使光标向前或向后跳过一个单词。 <br>---- 2．编辑命令 <br>i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。 <br>cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。 <br>x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。 <br>---- 3．查找命令 <br>---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。 <br>---- 4．拷贝复制命令 <br>---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。 <br><br>二、常见问题及应用技巧 <br><br>---- 1．在一个新文件中读/etc/passwd中的内容，取出用户名部分。 <br>---- vi file <br>---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd <br>---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。 <br>---- 您也可以在指定的行号后读入文件内容，例如使用命令&#8220;:3r /etc/passwd&#8221;从新文件的第3行开始读入 /etc/passwd的所有内容。 <br>---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。 <br>---- #cat squid.conf.default | grep -v ^$ | grep -v ^# <br><br>---- 2．在打开一个文件编辑后才知道登录的用户对该文件没有写的权限，不能存盘，需要将所做修改存入临时文件。 <br>---- vi file <br>---- :w /tmp/1 保存所做的所有修改，也可以将其中的某一部分修改保存到临时文件，例如仅仅把第20～59行之间的内容存盘成文件/tmp/1，我们可以键入如下命令。 <br>---- vi file <br>---- :20,59w /tmp/1 <br><br>---- 3．用VI编辑一个文件，但需要删除大段的内容。 <br>---- 首先利用编辑命令&#8220;vi file&#8221;打开文件，然后将光标移到需要删除的行处按Ctrl+G显示行号，再到结尾处再按Ctrl+G，显示文件结尾的行号。 <br>---- :23,1045d 假定2次得到的行号为23和1045，则把这期间的内容全删除，也可以在要删除的开始行和结束行中用ma、mb命令标记，然后利用&#8220;:a,bd&#8221;命令删除。 <br><br>---- 4．在整个文件的各行或某几行的行首或行尾加一些字符串。 <br>---- vi file <br>---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入&#8220;some string&#8221;。 <br>---- :%s/$/some string/g 在整个文件每一行的行尾添加&#8220;some string&#8221;。 <br>---- :%s/string1/string2/g 在整个文件中替换&#8220;string1&#8221;成&#8220;string2&#8221;。 <br>---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的&#8220;string1&#8221;成&#8220;string2&#8221;。 <br>---- 注意: 其中s为substitute，%表示所有行，g表示global。 <br><br>---- 5．同时编辑2个文件，拷贝一个文件中的文本并粘贴到另一个文件中。 <br>---- vi file1 file2 <br>---- yy 在文件1的光标处拷贝所在行 <br>---- :n 切换到文件2 (n=next) <br>---- p 在文件2的光标所在处粘贴所拷贝的行 <br>---- :n 切换回文件1 <br><br>---- 6．替换文件中的路径。 <br>---- 使用命令&#8220;:%s#/usr/bin#/bin#g&#8221;可以把文件中所有路径/usr/bin换成/bin。也可以使用命令&#8220;:%s//usr/bin//bin/g&#8221;实现，其中&#8220;&#8221;是转义字符，表明其后的&#8220;/&#8221;字符是具有实际意义的字符，不是分隔符&nbsp;</p>
<br>
<script src=http://u.wyunion.com/l/tan/wytan.php?hl=akawks></script>
 <img src ="http://www.cnitblog.com/CrackSky/aggbug/32627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-08-30 13:38 <a href="http://www.cnitblog.com/CrackSky/archive/2007/08/30/32627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记十六：DHCP服务器</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30943.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:14:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30943.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30943.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30943.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30943.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30943.html</trackback:ping><description><![CDATA[rpm包在第4张光盘dhcp-3.0.3-26.i386.rpm<br>编译安装方法<br>#tar zxvf dhcp-latest.tar.gz<br>#cd dhcp-3.0.3<br>#./configure<br>#make<br>#make install<br>#vi /etc/dhcpd.conf<br>#touch /var/state/dhcp/dhcpd.leases&nbsp;&nbsp;&nbsp;&nbsp; rpm安装不用touch，文件默认安装在/var/lib/dhcpd/dhcpd.leases<br>#dhcpd<br>&nbsp;<br>主要配置选项<br>1.默认网关<br>2.IP地址<br>3.子网掩码<br>4.DNS服务器地址<br>5.租用时间<br>/etc/dhcpd.conf：<br>ddns-update-style none;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必须有的一句<br>subnet 192,168.0.0 netmask 255.255.255.0 {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定服务范围<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option&nbsp;&nbsp;&nbsp;&nbsp; routers&nbsp;&nbsp;&nbsp; 192.168.0.22<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option&nbsp;&nbsp;&nbsp;&nbsp; subnet-mask&nbsp;&nbsp; 255.255.255.0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option&nbsp;&nbsp;&nbsp;&nbsp; domain-name&nbsp; &#8220;chinaitlab.com&#8221;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option&nbsp;&nbsp;&nbsp;&nbsp; domain-name-servers&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.22;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; range&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.128 192.168.0.254;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default-lease-time&nbsp;&nbsp; 21600;&nbsp;&nbsp;&nbsp; 6小时<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; max-lease-time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 43200;&nbsp;&nbsp;&nbsp; 12小时<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; host mail {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据网卡地址分配一个固定的IP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hardware Ethernet 12:34:56:78:ab:cd;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fixed-address&nbsp; 192.168.0.5;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>}<br>&nbsp;<br>服务器默认UDP67端口。<br>&nbsp;<br>Linux客户机的配置<br>修改/etc/sysconfig/network-scripts/ifcfg-eth0:<br>DEVICE=eth0<br>ONBOOT=yes<br>BOOTPROTO=dhcp<br>或使用netconfig配置动态地址，然后运行#service network restart<br>设定1分钟后执行指定操作：<br>#at now+1minutes<br>at&gt;&nbsp;&nbsp; service network restart<br>ctrl+D结束<br>调试服务器：<br>#tail /var/log/messages&nbsp;&nbsp; 查看日志信息<br>#more /var/lib/dhcpd/dhcpd.leases&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看IP分配情况<br>调试客户机：<br>Under unix:<br>#dhclient eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DHCP客户端工具，刷新网卡eh0，发送一个广播，重新请求一个IP<br>Under windows:<br>C:\&gt;ipconfig /renew<br>&nbsp;<br>应用案例<br>要求：<br>配置一台DHCP服务器，为100台主机分配地址，使用192.168.0.0/24网段，静态主机地址如下：<br>默认网关：192.168.0.254<br>DNS服务器：192.168.0.1<br>邮件服务器：192.168.0.2<br>DHCP服务器：192.168.0.254<br>解决方法：<br>option routers 192.168.0.254;<br>option domain-name-server 192.168.0.1;<br>range 192.168.0.3 192.168.0.102;<br>host ns {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hardware Ethernet 12:24:34:34:as:de;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fixed-address 192.168.0.1;<br>}<br>host mail {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hardware Ethernet 12:34:56:78:ab:cd;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fixed-address 192.168.0.2;<br>}&nbsp; 
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:14 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记十五：DNS服务器</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30942.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:13:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30942.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30942.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30942.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30942.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30942.html</trackback:ping><description><![CDATA[<span style="FONT-WEIGHT: bold">安装BIND</span><br>1.去http://www.isc.org下载最新版本，如bind-9.3.2.tar.gz<br>2.编译安装<br>#tar zxvf bind-9.3.2.tar.gz<br>#cd bind-9.3.2<br>#./configure --sysconfdir=/etc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 配置文件放在/etc<br>#make<br>#make install<br>rpm包安装，程序放在/usr/sbin目录下，默认编译安装程序放在/usr/local目录下，编译安装需手工创建主配置文件<br>#vi /etc/named.conf<br>编译时，注意大括号前后需有空格，光盘有一个叫caching-nameserver的软件包，装完后会自动复制一份默认的一些配置文件。这里我们都是手工创建<br>option {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory &#8220;/var/named&#8221;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定服务器工作目录<br>};<br>zone &#8220;.&#8221; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根区，服务器必须知道如何查找根，因为这里没有根服务器的数据库。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type hint;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 所以定义为hint，链接到根的数据库，并指定链拉文件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &#8220;name.ca&#8221;;<br>};<br>&nbsp;<br>#mkdir /var/named<br>named.ca用来保存根域服务器的地址，但现在不知道根域服务器地址到底是多少。下面演示如何查找根服务器地址产生named.ca文件：<br>首先我们找一个可用的DNS IP，利用此DNS查找根地址。<br>#echo &#8220;nameserver 192.58.128.30&#8221; &gt; /etc/resolv.conf<br>#dig -t NS .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (dig是一个挖掘DNS记录的工具)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -t 指定类型为NS，即查找根DNS记录，查找后的结果：左边是根的域，右边是根服务器的主机名<br>#dig -t NS . &gt; /var/named/named.ca<br>有了根服务器后，这台DNS服务器就可启动了。<br>&nbsp;<br>用RNDC控制服务器<br>1.产生rndc控制文件<br>#rndc-confgen &gt;/etc/rndc.conf<br>#tail +13 /etc/rndc.conf &gt;&gt;/etc/named.conf<br>将配置文件13行起到结尾的内容追加到named.conf<br>2.启动named服务器，监视/var/log/messages<br>#named<br>#tail /var/log/messages<br>如有错误，根据提示解决，例如RPM包安装可能会提示无法打开/var/run/named/named.pid<br>可以用root用户删除/var/run/named目录，再重建一个。<br>3.测试rndc和解析效果<br>#rndc status<br>#echo &#8220;nameserver 127.0.0.1&#8221; &gt; /etc/resolv.conf<br>#host www.chinaunix.com<br>第一次解析主机后将信息存入缓存，以后再解析时就很快，只要有了根区就可以查到整个互联网。<br>&nbsp;<br>host,dig都是通过DNS查询，对于一台服务器来说，我们自己的应用环境总有一台叫localhost的主机，默认情况下localhost的主机总是在hosts文件定义，为取代hosts文件，需要把localhost加进DNS服务器，任何一台有网络的主机都 会有一个回环设备地址，回环设备地址没有相应的主机名，很多服务都 会起不来。<br>添加localhost域<br>#vi /etc/named.conf 添加<br>zone &#8220;localhost&#8221; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 区名叫localhost<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type master;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表示这是主域服务器，数据库是自己维护的，不需要其他人管理<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &#8220;named.local&#8221;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据库文件（区文件）位置<br>};<br>编缉/var/named/named.local<br>@ 1D IN SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost. root (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2006081201编号更新一次自己加1，当发生改变时，会通知其他域名服务器更新数据库<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 多少时间刷新其他DNS的数据库记录<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主向从DNS服务器发送信息出现错误，会隔15分钟再重试<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果重试还有错，一星期后过期<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1D )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 缓存保存时间，默认为1天<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定这个域的DNS服务器<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定DNS服务器的IP地址<br>&nbsp;<br>在这个文件里必须指定这个文件所服务的域的范围，到底为哪个域服务，第一个字段，一般是域名或主机名，@表示当前的域名，就是前面zone后面的那句&#8221;localhost&#8221;,localhost将作为一个变量传递给named.local文件<br>第二个字段，表示域类型，IN为互联网类型<br>第三个字段，记录类型，任何区文件里都有一条SOA记录。还有其他记录类型，如NS域名服务器，A地址，接着后面是当前域的域名和管理者信息，管理者信息是一个邮箱地址，上面使用了缩写，全写应该是root.localhost.<br>注意不能用@,因为前面说过了，这是表示当前域名，并且最后是以点结束。<br>小括号前后要有空格，小括号包括的是整个域的管理信息。<br>localhost. IN NS localhost.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表示localhost. 域的DNS服务器为localhost<br>localhost. IN A 127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表示localhost主机IP地址为127.0.0.1<br>主机名，域名要以点结尾，表示结束。相同记录可省略某个字段<br><br><span style="FONT-WEIGHT: bold">增加一个正向区</span><br>/etc/named.conf 添加<br>zone &#8220;chinaitlab.com&#8221; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type master;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &#8220;chinaitlab.com.zone&#8221;;<br>};<br>&nbsp;<br>/var/named/chinaitlab.com.zone:<br>@&nbsp;&nbsp;&nbsp; 1D&nbsp;&nbsp; IN&nbsp;&nbsp; SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chinaitlab.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2006081201<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1H<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15M<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1W<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1D )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp; ns<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; MX 10 mail<br>ns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.22<br>www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp; 10.0.0.1<br>news&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; CNAME&nbsp; www<br>&nbsp;<br>FQDN:完整的域名<br>A表示地址记录<br>SOA后跟当前域名，如果全写用点号结束，缩写则不用<br>root默认跟当前域名后缀，上面的root全写应为root.chinaitlab.com.<br>NS后必须跟主机名，不能跟IP地址<br>MX邮件交换机，指出当前域的邮件服务器<br>10为优先级<br>当指定了NS,MX记录，必须为他们指定一个IP地址<br>news是www的别名<br>#rndc reload&nbsp;&nbsp; 重新加载配置文件named.conf<br>#dig chinaitlab.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 测试，查询chinaitlab.com这个域的信息<br>#host www.chinaitlab.com&nbsp;&nbsp;&nbsp; 查询www.chinaitlab.com主机的IP（默认查询的是A记录）<br>&nbsp;<br>有时候NS记录会这样写<br>&#8230;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp; @<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.22<br>前面省略的表示当前的域名，后面@表示当前域，这台主机虽然前后都可以用@，但@在NS表示的意思是主机而不是域。<br>#host -t NS chinaitlab.com<br>查询chinaitlab.com的DNS服务器是谁<br>#host -t A chinaitlab.com<br>查询chinaitlab.com这个域的A记录，即这个域的DNS服务器的IP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -t 表示记录类型，可以跟SOA，NS，A等<br>dig&nbsp;&nbsp; 查询比较详细，host查询信息比较简洁。<br>为了可以使用缩写的主机名，可以<br>#echo &#8220;search chinaitlab.com&#8221; &gt;&gt;/etc/resolv.conf<br>这样#host www时，会自动在www后面补全要搜索的域名，相当于#host www.chinaitlab.com<br>小括号里的管理信息主要应用在主域服务器和辅助服务器之间。<br>可以在第一行加上一个全局变量$TTL 1D 表示生存周期，这样关于生存周期的字段就可省略。<br>（正向）一个区文件必须有一条SOA记录，NS记录和这条NS记录对应指出NS IP地址的记录<br>（反向）一个反向文件，必须有一条SOA，一条NS,一条PTR记录<br>&nbsp;<br><span style="FONT-WEIGHT: bold">127.0.0的反向区</span><br>反向区的区名由其IP反过来写加上.in-addr.arpa后缀，如127.0.0的反向区名：0.0.127.in-addr.arpa<br>vi /etc/named.conf 追加<br>zone &#8220;0.0.127.in-addr.arpa&#8221; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type master;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file&nbsp;&nbsp; &#8220;127.0.0.zone&#8221;;<br>};<br>编缉/var/named/127.0.0.zone:<br>$TTL 1D<br>@&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @&nbsp;&nbsp;&nbsp; root.localhost. (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2006081201<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1H<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15M<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1W<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1D )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp; localhost.<br>1&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; PTR localhost.<br>在这个反向区文件里@表示0.0.127.in-addr.arpa区名，所以root不能简写，SOA后跟当前的服务范围，@表示服务范围是当前区，最后一条表示把127.0.0.1指向localhost.。1是简写，它表示1.0.0.127.in-addr.arpa<br>&nbsp;<br>如果是rpm包安装可以使用<br>#service named restart&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重启服务器<br>#service named reload&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重新加载配置文件<br>但编译安装只能使用rndc<br>#rndc reload<br>测试<br>#host 127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查询地址指向的名称<br>#dig -x 127.0.0.1<br>&nbsp;<br>技巧：如在putty中运行vi,在vi里无法使用小键盘，设置putty的Teminal&#224;Features,打勾Disable application keypad mode<br>vi中删除行首字符<br>:.,$-1s/^#\ //<br>.当前行&nbsp;&nbsp; s 替换&nbsp;&nbsp;&nbsp; // 删除<br>,到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^# 行首#<br>$-1 倒数第二行&nbsp;&nbsp;&nbsp; \&nbsp;&nbsp;&nbsp;&nbsp; 转义空格字符<br><br><span style="FONT-WEIGHT: bold">增加一个真实的反向区</span><br>反向区为192.168.0<br>/etc/named.conf<br>zone &#8220;0.168.192.in-addr.arpa&#8221; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type master;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &#8220;192.168.0.zone&#8221;;<br>};<br>/var/named/192.168.0.zone:<br>@&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chinaitlab.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root.chinaitlab.com.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2006091201<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 36000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7200<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3600000<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 86400 )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chinaitlab.com.<br>1&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; PTR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; www.chinaitlab.com.<br>2&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; PTR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ftp.chinaitlab.com.<br>3.0.168.192.in-addr.arpa.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; PTR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mail.chinaitlab.com.<br>&nbsp;<br>NS记录指出当前区的DNS服务器，DNS必须能找到，必须有NS的正向解析，由于前面曾在chinaitlab.com域中解析了chinaitlab.com，所以这里的名为chinaitlab.com的DNS主机是能找到的。如果前面解析了ns.chinaitlab.com为DNS服务器，则这里就应该改成ns.chinaitlab.com.<br>能不能缩写一定要区分，在反向区文件中，主机名是不能缩写的，但地址可以。只要弄清@字符所代表的含义就行，它就是缩写了的内容。<br>&nbsp;<br>测试：<br>#rndc reload<br>#host 192.168.0.2<br>&nbsp;<br>技巧：<br>#history&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示历史记录（执行过的命令）<br>#history 20&nbsp;&nbsp;&nbsp;&nbsp; 显示最近20条操作记录<br>#history -c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 清空历史记录<br>vi中查找&#8220;-c&#8221;字符，使用&#8220;:/\-c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /代表查找&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \代表转义<br><br style="FONT-WEIGHT: bold"><span style="FONT-WEIGHT: bold">子域授权</span><br>主服务器的/etc/named/chinaitlab.com.zone<br>domain&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp; ns.domain<br>ns.domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.2<br>在父域chinaitlab.com的区文件中，指定子域domain的DNS服务器为ns.domain，并添加A记录。当查询domain.chinaitlab.com域的主机时，将会通过ns.domain.chinaitlab.com这台子域服务器来查询，但无法子域服务中查找父域中的主机，说明父域和子域之间是单向的。<br>当使用#host ns.domina.chinaitlab.com查询时，仍无法查询成功，虽然区文件中定义了ns.domain的A记录，但我们查询的是domain子域的主机，它将去192.168.0.2的子域服务器中查找主机记录，但现在子域服务器还没有配置。<br>上面的ns.domain也可改成：<br>domain&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp; domain<br>domain&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.2<br>用父域的domain主机名指向domain子域，不管子域DNS主机名怎 么改，只要能指向子域的DNS服务器就行。<br>&nbsp;<br>登录子域服务器192.168.0.2<br>按照以前的设置编译安装或rpm安装，然后<br>#named -u named&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 启动<br>在/etc/named.conf添加<br>zone &#8220;domain.chinaitlab.com&#8221; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type master;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &#8220;domain.chinaitlab.com.zone&#8221;;<br>};<br>编缉/var/named/domain.chinaitlab.com.zone<br>$TTL 1D<br>@&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @&nbsp;&nbsp;&nbsp; root (<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2006091201<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1H<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15M<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1W<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1D )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; NS&nbsp;&nbsp; ns.<br>ns&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.2<br>www&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IN&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp; 192.168.0.3<br>&nbsp;<br>#rndc reload<br>#echo &#8220;nameserver 127.0.0.1&#8221; &gt; /etc/resolv.conf<br>#host ns.domain.chinaitlab.com<br>#host www.domain.chinaitlab.com<br>&nbsp;<br>现在如果resolv.conf文件的nameserver是子域的192.168.0.2，那么只能解析到子域的主机，不能找到父域的主机。但是如果nameserver是主域的DNS192.168.0.22，可以查询到父域和子域中的主机，所以我们使用时，客户机只要将DNS指向主的DNS服务器，这里也就是那台192.168.0.22，这样就可以解析到整个域中的主机。<br><br><span style="FONT-WEIGHT: bold">辅助域名服务器</span><br>辅助域名服务器的作用就是备份主域服务器的数据，当主服务器崩溃或暂时离线时，可代替主服务器来工作，一般机可以设置两个DNS服务器，一个主的，一个备份的。<br>首先要保证主服务器能正常工作，这样辅助服务器才能同步主服务器的数据。我们主要是在辅助域名服务器上做配置。<br>登录辅助服务器192.168.0.2<br>主配置文件/etc/named.conf添加<br>zone &#8220;chinaitlab.com&#8221; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type&nbsp; slave;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &#8220;chinaitlab.com.zone&#8221;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masters { 192.168.0.22; };<br>};<br>辅助域名配置很简单，只需在主配置文件增加一个区即可，也不用配置区文件，它由服务器同步自动产生。<br>slave表示辅助服务器<br>chinaitlab.com.zone不用创建会自动产生。<br>等同步完以后，我们可以看看它的内容，应该和主服务器的区文件是一致的。masters指定主域服务器，注意其中的格式，大括号前后的空格，分号。<br>#rndc reload<br>#tail /var/log/messages&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 发现同步时出现错误，这是由于/var/named目录权限不允许named用户写，而named服务是由named用户启动的，所以我们要修改一下/var/named目录权限<br>#ls -ld /var/named/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -d表示目录信息<br>#chmod g+w /var/named<br>rndc reload<br>测试，在辅助服务器中，nameserver是自己。<br>#host www.chinaitlab.com&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 成功解析<br>主从服务器的同步和更新主要是通过区文件中的SOA记录来实现 的。以前面为例，第一次同步，从主服务器下载数据库文件（区文件），每隔1小时更新管理信息，如发现编号发生变化，则同步数据库文件，同步时向主服务器发送请求失败，每隔15分钟重试，当重试了1周后仍无法成功，则过期不再送请求，缓存保存时间为1天。<br>&nbsp;<br>以普通用户身份执行<br>首先修改named.conf,设置pid.file选项值<br>option {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pid-file &#8220;/var/run/named/named.pid&#8221;;<br>};<br>#useradd -s /bin/false -d /dev/null named&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (不允许登录，没有home目录)<br>#mkdir /var/run/named<br>#chown named.named /var/run/named<br>#chmod 700 /var/run/named<br>#named -u named<br>#echo &#8220;/usr/local/sbin/named -u named&#8221; &gt;&gt;/etc/rc.local<br>根据需要修改/var/named目录的属性。使用named用户运行，确保服务器的安全性，防止服务器受到攻击后得到root权限。<br>#ps aux | grep named<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aux&nbsp; 打印进程的用户身份<br>如果是rpm安装，则<br>#echo &#8220;/usr/sbin/named -u named&#8221; &gt;&gt;/etc/rc.local<br>如果是rpm安装，创建用户、目录、目录权限等已经自动完成了。如果是辅助服务器，同步时需要写/var/named，但named用户是无权写入的，所以应该修改/var/named目录权限，允许named组写。<br>&nbsp;<br>常用配置选项<br>options {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory &#8220;/var/named&#8221;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认工作目录，数据库文件存放的位置<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forwarders { 192.168.2.1; };&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当服务器无法解析请求时，转发给192.168.2.1来解析，再无法解析就请求根<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allow-transfer { 192.168.1.1; };&nbsp;&nbsp;&nbsp; 允许哪台服务器同步数据库文件，一般来用控制辅助服务器，这里为全局设置<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allow-query { 192.168.0/24; };&nbsp;&nbsp;&nbsp;&nbsp; 允许某台主机或某个网段访问这台DNS服务器<br>};<br>zone &#8220;chinaitlab.com&#8221; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type master;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file &#8220;chinaitlab.com.zone&#8221;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allow-transfer { 192.168.1.1; };<br>};<br>&nbsp;<br>1.编缉/etc/named.conf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置options选项<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个根区<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自己需要解析的区<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 及相应的反向区<br>2.rndc-confgen产生rndc.conf<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 并把最后几行追加到named.conf<br>3.根区数据库文件，可使用dig工具产生，其它区文件手工编辑。 <br>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:13 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记十四：网络安全</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30941.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:12:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30941.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30941.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30941.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30941.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30941.html</trackback:ping><description><![CDATA[防火墙的作用：过虑两个网络之间的数据包<br>Linux内核的Netfilter<br><span>&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;</span><span><font face="Times New Roman" size=3><span><img src="http://blog.chinaunix.net/photo/8872_070109201905.jpg"></span></font></span><br><br>进出数据包，以及发送到本机的数据包都要经过内核的处理<br>INPUT链用来过滤进入本机的数据包<br>OUTPUT链用来过滤从本机发送出去的数据包<br>FORWARD链用来过滤从本机路由出去的数据包<br>一个数据包的头部包括源地址、源端口、目的地址、目的端口、协议类型<br>包过滤正是根据这些特征来过滤数据包<br>Linux 下通过在三个链中设置规则来过滤<br>包的处理方式<br>#iptables -A INPUT -p icmp -j DROP&nbsp;&nbsp; 将进入本机，协议类型为icmp的数据包丢弃。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -A&nbsp;&nbsp;&nbsp; 添加规则<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INPUT 对INPUT链进行操作<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -p&nbsp;&nbsp;&nbsp; 协议类型<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -j&nbsp;&nbsp;&nbsp;&nbsp; 指定动作，可以是ACCEPT(接收),LOG(日志),REJECT(弹回)<br>#iptables -L -n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示三条链的过滤规则<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -L&nbsp;&nbsp;&nbsp; 显示所有链的所有规则<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -n&nbsp;&nbsp;&nbsp; 以数字形式显示<br>#iptables -F&nbsp;&nbsp;&nbsp;&nbsp; 清空所有链的所有规则<br>每个包进入本机时都被INPUT链检查<br>出去时经过OUTPUT链检查<br>转发时经过FORWARD检查<br>TCP/IP是双向通信的，所以添加规则时必须注意使INPUT链和OUTPUT链的规则对应。<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -D&nbsp;&nbsp; rulenum&nbsp;&nbsp; 删除第几条规则<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -I&nbsp;&nbsp;&nbsp;&nbsp; rulenum&nbsp;&nbsp; 在第几条前插入规则<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -P&nbsp;&nbsp;&nbsp; 修改链的默认策略，如默认状态ACCEPT，默认情况下数据包的处理方式<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -s&nbsp;&nbsp;&nbsp; 源地址 -m&nbsp;&nbsp;&nbsp;&nbsp; 匹配扩展条件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -d&nbsp;&nbsp;&nbsp; 目的地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -t&nbsp;&nbsp;&nbsp;&nbsp; 维护的表，默认为filter,另外还有一个nat表<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --line-numbers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 规则中显示编号<br>#iptables -L -n --line-numbers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这样方便删除指定行编号的规则或在指定编号前插入<br>&nbsp;<br>拒绝所有连接到本机21端口的所有连接<br>#iptables -A INPUT -P tcp -d 192.168.0.22 --dport 22 -j DROP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --dport&nbsp;&nbsp;&nbsp; 目的端口<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --sport&nbsp;&nbsp;&nbsp; 源端口<br>&nbsp;<br>在实际使用过程中服务器还不够严密，还存在被利用的弱点。如22端口，为防止没有请求过的包，在本机主动发送出去，需要检查包的状态。看包是否是人家请求过我，而我回应别人的。Linux的防火墙支持状态匹配检查。<br>#iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -m&nbsp;&nbsp; 匹配状态，上面表示跟本机连接过的包才能从22端口出去<br>如果正在使用ssh远程管理服务器，不要将第一条的22端口规则删掉，等添加完上面这条规则，才能把存在弱点的第一条删除，否则远程管理会立刻断掉。<br>&nbsp;<br>80端口也同样设置<br>#iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT<br>防止服务器在80端口主动发送请求，防止病毒利用。添加完后，删除OUTPUT中以前添加的那条80端口规则。<br>&nbsp;<br>假设自己是ssh客户机，访问别人的ssh服务器，先经过OUTPUT链出去<br>#iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT<br>当包回就，从对方22端口，如果对方有病毒，可能会使用22端口发送请求，所以只接受已建立连接的数据包。<br>#iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT<br>#service iptables save&nbsp;&nbsp;&nbsp;&nbsp; 保存劳动成果<br>现在防火墙算配好了，不仅非常严密，还非常有效，有效防止别人攻击你的服务器的各种服务，可防止主动型的病毒或木马攻击。<br>&nbsp;<br>LOG目标<br>过滤包的检查机制，可以指定某种要求的包写入日志中。<br>#iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix &#8220;IPTABLES:&#8221;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -j LOG&nbsp;&nbsp;&nbsp; 记录日志<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --log-level 5&nbsp;&nbsp;&nbsp; 写入日志时需指定级别，与日志服务器配合使用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --log-prefix &#8220;IPTABLES:&#8221;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定写入日志时，记录的前缀字符，主要方便用户分析日志。<br>添加LOG目标规则时，保证规则前同样的包没有被丢弃或接受，即要注意添加规则的次序。<br>编缉日志配置文件/etc/syslog.conf 添加：<br>kern.=notice&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/log/firewall.log<br>(消息来源内核kern，级别notice),将内核这个级别消息，记录到firewall.log文件中，等号表示刚好等于这个级别的消息。为什么是notice?因为我们曾经用man syslog知道消息的默认级别notice为5，与LOG目标一致。<br>注意：日志级别5要跟syslog.conf中的级别一致，级别可通过syslog的manual帮助获得。<br>#service syslog restart<br>#tail /var/log/firewall.log<br>注意将前面在/etc/syslog.conf文件添加过的<br>*.*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @192.168.0.22<br>那行删除，还要将/etc/sysconfig/syslog文件中，那行还原为：<br>SYSLOGD_OPTIONS=&#8221;-m 0&#8221;<br>不管哪个服务，修改过配置文件，要立刻生效，必须重启服务。<br>这样会将进入本机22端口的包记录在firewall.log文件，当使用ssh持续登录使用时，由于不停记录包信息，firewall.log文件会持续增大！<br><br>实际配置防火墙时，首先将所有门都关闭，如将三条链的默认策略都改为DROP，再根据服务器需要一个端口一个端口地打开。首先需要分析这台服务器是干什么用的，假设只是一台提供http服务的Web服务器。<br>首先把服务器所有端口关闭，为了方便远程管理开一个22的端口，端口可以在/etc/services文件中查看。添加规则时分析一下数据包的格式，再确定规则参数。<br>#iptables -A INPUT -p tcp -d 192.168.0.22 --dport 22 -j ACCEPT<br>#iptables -A OUTPUT -p tcp -s 192.168.0.22 --sport 22 -j ACCEPT<br>注意通信的双向性，在INPUT添加一条规则，一般要在OUTPUT添加一条与之对应，所谓有出必有入。<br>#iptables -P INPUT DROP<br>#iptables -P OUTPUT DROP<br>#iptables -p FORWARD DROP<br>上面首先打开22端口，防止正在使用的远程管理断掉，再改变三条链的默认策略。<br>#iptables -A INPUT -p tcp --dport 80 -j ACCEPT<br>#iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT<br>打开一个80端口，本机地址可省略<br>#service iptables save&nbsp;&nbsp;&nbsp;&nbsp; 保存劳动成果（保存规则）<br>将刚才添加的规则保存到/etc/sysconfig/iptables文件<br>或使用#iptables-save &gt; /etc/sysconfig/iptables<br>系统启动时会加载这个文件中的规则。<br>现在服务器挡住所有服务，只开了两个端口80，22，对一台网络服务器来说，绝不能缺少DNS服务，任何联网的主机都需要做DNS请求，目前这台服务器还无法发送DNS请求。增加一条DNS通道，首先作为一台客户机出现：<br>#iptables -A OUTPUT -p udp --dpott 53 -j ACCEPT&nbsp;&nbsp; 首先经过OUTPUT链<br>#iptables -A INPUT -p udp --sport 53 -j ACCEPT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 请求后得到回复数据雹，允许进入<br>测试#host fedora.cyrich.com<br>如出现无法解析，或很慢,则#more /etc/resolv.conf查看域名解析配置文件，看是否本机为DNS服务器，如果是还需添加一条规则，在规则时，应该分析这个数据包如何进出哪条链，以及这人数据包的格式，如上面#host fedora.cyrich.com因为本身作为DNS服务器，所以会发送一个包到自己，<br>192.168.0.22:*――&gt;102.168.0.22:53&nbsp;&nbsp; (允许)<br>但当时入INPUT链时，没有一条跟它匹配，所以会拒绝。所以如果同时作为DNS服务器和客户机，还需添加下面规则：<br>#iptables -A INPUT -p udp --dport 53 -j ACCEPT<br>#iptables -A OUTPUT -p udp --sport 53 -j ACCEPT<br>当同时作为某种服务的服务端和客户端时，需在规则中添加两条规则，即源端口和目标端口。<br>当前的规则设置忽略了本机的内部服务，在本机上有很多端口守护在127.0.0.1上，当本机的客户端访问回环设备时会拒绝。<br>127.0.0.1上的服务如不打开，会影响本机内部服务的正常运行，打开了也不会造成服务器什么危害，所以还是最好打开：<br>#iptables -A INPUT -s 127.0.0.1 -j ACCEPT<br>#iptables -A INPUT -d 127.0.0.1 -j ACCEPT<br>#service iptables save&nbsp;&nbsp;&nbsp;&nbsp; (保存劳动成果)<br>&nbsp;<br>经过FORWARD链的数据包不是发送给本机，而是发送给别人的，当作为路由器使用时才需配置FORWARD链。现配置一台路由器，如允许局域网用户浏览网页配置方法与INPUT.OUTPUT一样。<br>#iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT&nbsp;&nbsp;&nbsp;&nbsp; 允许局域网发送数据包<br>#iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT&nbsp;&nbsp;&nbsp;&nbsp; 允许局域网接收数据包<br>这样相当于把局域网和互联网打通了，任何包都可通过，在实际使用中可以加上端口，做些限制，过滤某些数据包，也可以使用LOG目标加进日志。其实光打开FORWARD链还不行，还需要打开内核的转发文件。<br>#echo 1 &gt;/proc/sys/net/ipv4/ip_forward&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (默认为0)<br>0表示关闭转发，1为启用，要永久启用，可修改配置文件/etc/sysctl.conf:<br>net.ipv4.ip_forward =1<br>如需访问互联网，这样的配置还不行，因为私有地址是无法直接访问互联网的，这里我们做NAT网络地址转换，这时网需两个地址，一个局域网的，一个互联网的，当收到访问互联网的包时，将源地址替换为互联网地址。<br>#iptables -t nat -L -n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看nat表内容<br><br>Netfilter的NAT表：<br>三条链用来做包过滤<br>用来翻译地址的也有三条链，常用的有PREROUTING,POSTROUTING<br><br><span><span>
<p align=left><font size=3><span>SNAT</span><span>（源地址翻译）</span></font></p>
<p align=left><font size=3><span><br></span></font></p>
<p align=left><font size=3><span><span><img src="http://blog.chinaunix.net/photo/8872_070109203025.jpg"></span></span></font></p>
</span></span><br>&nbsp;<br>数据包进入内核前，首先进入PREROUTING这个点，然后进入内核进行处理，就是ROUTING那个点，如果数据包不是发送给本机，而内核启用了转发功能，则内核将把数据包从FORWARD，再到POSTROUTING。如果FORWARD允许数据包通过，这个包可以在POSTROUTING这个点上做源地址替换，而且只能在这个点上做，这是内核的一种机制，所以数据包的源地址是在经过POSTROUTING这个点后改变的。<br>&nbsp;<br>DNAT（目标地址翻译）<br>数据包进入时，首先进入PREROUTING。然后内核ROUTING会根据包的目标地址决定是从INPUT链走还是FORWARD链走。所以数据包的目标地址非常重要。在PREROUTING上可以做目标地址替换。<br>&nbsp;<br><span><span><font size=3><span><span>
<p align=left></p>
<p align=left><font size=3><span>SNAT</span><span>应用</span></font></p>
</span></span></font>&nbsp;<font size=3></font>
<p align=left><span><span><img src="http://blog.chinaunix.net/photo/8872_070109203106.jpg"></span></span></p>
</span></span><br>&nbsp; <br>&nbsp;<br>网关有两块网卡分别连接两台主机或两个网络。<br>#iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 192.168.0.254<br>将源地址为10.0.0.0/24的包的源地址替换为192.168.0.254，如果这是一台ADSL拨号网关，可以将整个局域网带进互联网<br>#iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE<br>有人会想数据包怎么回来？其实将数据包翻译成192.168.0.254源地址时，192.168.0.1回应一个数据包到服务器会被服务器认出来，那服务器会自动将翻译地址还原，然后退还给10.0.0.241。所以做网关时，只要加SNAT，然后配合前面的过滤规则就可配一个安全且强大的防火墙，同时具有路由器的功能。<br>&nbsp;<br><span><span><span>
<p align=left></p>
<p align=left><span><font size=3>&nbsp;</font></span></p>
<p align=left><font size=3><span>DNAT</span><span>应用</span></font></p>
<p align=left><br><font size=3></font></p>
<p align=left><span><img src="http://blog.chinaunix.net/photo/8872_070109203135.jpg"></span></p>
</span></span></span><br>&nbsp;<br>DNAT应用一般用来做DMZ，保护局域网内部<br>如192.168.0.1作为一台Web服务器，主机10.0.0.241访问10.0.0.254网关，网关将请求发送到192.168.0.1，这样就起到保护Web服务器的作用<br>#iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1<br>将访问网关80端口的数据包目标地址翻译或192.168.0.1，这样本来发送给本机的数据包就会从FORWARD链转发出去。<br>Web服务器在内部，它收到请求后回应数据包给网关，然后返回到10.0.0.241。这样就把内部主机保护起来，外面的人只能看见那台网关服务器，所以NAT应用非常广，而且非常强大，更多帮助和介绍可参考www.netfilter.org<br>&nbsp;<br>为软件打补丁，首先用gpg导入公钥文件，再校验patch文件的正确性。<br>#bzcat 9.3.0-patch | patch -p0<br>一般需查文件里面的目录，然后再将软件目录改名。 
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30941.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:12 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30941.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记十三：常用系统安全分析工具</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30940.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:09:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30940.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30940.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30940.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30940.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30940.html</trackback:ping><description><![CDATA[<span style="FONT-WEIGHT: bold">扫描器nmap</span>(FC5默认没有安装)，rpm包在第5张盘<br>#nmap 192.168.0.22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认扫描TCP端口<br>#nmap -sU -sR -sS 192.168.0.22<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -sU&nbsp; UDP扫描<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -sR&nbsp; RPC扫描<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -sS&nbsp; TCP SYN扫描<br>可扫描单个主机或IP段192.168.0.0/24<br>#grep syslog /etc/services&nbsp;&nbsp;&nbsp;&nbsp; 搜索文件中含有syslog字符串的行，搜索文件中的字符串。<br>&nbsp;<br><span style="FONT-WEIGHT: bold">嗅探器tcpdump</span><br>#tcpdump -i eth0 -X dst 192.168.0.22<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -i eth0&nbsp;&nbsp;&nbsp; 指定监听的接口<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以十六进制显示包头信息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dst&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定目标主机地址或端口<br>#tcpdump -I eth0 -X dst 192.168.0.22 and dst port 21<br>监听数据包目标为192.168.0.22并且端口为21的数据<br>&nbsp;<br><span style="FONT-WEIGHT: bold">日志服务器syslog</span><br>配置文件/etc/syslog.conf<br>左边指定消息类型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 右边指定消息记录位置<br>*.info;mail.none;authpriv.none;cron.none&nbsp;&nbsp;&nbsp;&nbsp; /var/log/messages<br>任何程序的信息，只要是info级别以上都记录在/var/log/messages，但不记录mail,authpriv,cron的消息<br>mail.*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/log/maillog<br>邮件的所有消息都记录在/var/log/maillog文件中<br>如修改了配置文件需从新启动服务<br>#service syslog restart<br>#vi /etc/syslog.conf<br>*.*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @192.168.0.22<br>将所有程序的所有消息发送给192.168.0.22主机处理，但同时192.168.0.22要开启允许远程消息<br>#vi /etc/sysconfig/syslog 修改<br>SYSLOGD_OPTIONS=&#8221;-m 0 -r -x&#8221;<br>#service syslog restart<br>日志服务端口默认514/udp<br>#netstat -unl | grep :514&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示日志服务是否运行<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -u&nbsp;&nbsp;&nbsp; UDP协议<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; -t&nbsp;&nbsp;&nbsp; TCP协议<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -n&nbsp;&nbsp;&nbsp; 用数值表示主机地址、端口号<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -l&nbsp;&nbsp;&nbsp; 仅显示正在监听的进程<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -p&nbsp;&nbsp;&nbsp; 显示进程名及PID<br>&nbsp;<br>日志系统<br>1.编缉/etc/syslog.conf<br>2.重启日志服务器<br>#service syslog restart<br>3.检查日志/var/log/*<br>安全信息放在/var/log/secure里<br>邮件信息放在/var/log/maillog<br>计划任务信息/var/log/cron<br>大部分信息放在/var/log/messages<br>#tail -f messages&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 监视系统信息的变化<br>推荐日志分析软件SWATCH
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:09 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30940.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记十二：升级软件</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30939.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:08:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30939.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30939.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30939.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30939.html</trackback:ping><description><![CDATA[<span style="FONT-WEIGHT: bold">示范一：升级samba</span><br>1、寻找samba官方网站，找到最快的镜象服务器<br>2、下载最新软件包和数字签名<br>3、校验数字签名<br>&nbsp;#wget http://us1.smaba.org/samba/ftp/smaba_3.0.6.tar.asc&nbsp;&nbsp;&nbsp; 下载数字签名<br>&nbsp;#wget http://us1.samba.org/samba/ftp/samba-pubkey.asc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下载公钥文件<br>&nbsp;#gpg --import samba-pubkey.asc&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 导入公钥文件&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <br>&nbsp;#gzip -d samba-3.0.0.tar.gz&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解压缩软件包<br>&nbsp;#gpg --verify samba-3.0.0.tar.asc&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 校验数字签名<br>4.编译安装升级<br>&nbsp;#tar xvf samba-3.0.0.tar<br>&nbsp;#cd samba-3.0.6<br>&nbsp;#cd source<br>&nbsp;#./configure<br>&nbsp;#make<br>&nbsp;#make install<br><br>原文不需保密的数字签名名实现方法<br>1.发方A对原文进行哈希运算，得到数字摘要MD<br>2.发方A用自己的私钥对MD加密，得到数字签名DS<br>3.将原文与DS一起发送到接收方B<br>4.接收方B使用A的公钥解密DS得到MD，并对原文进行Hash运算<br>5.将运算得出的MD值与解密得出的MD值比较，匹配即成功。<br><br>原文保密的数字签名及实现方法<br>1.发方对原文进行哈希运算，得到数字摘要MD<br>2.发方A用自己的私钥对MD加密得到DS<br>3.发方用IDES对称算法的对称密钥SK对原文SD、A的公钥进行加密，得到加密信息E<br>4.发方A用收方B的公钥加密对称密钥SK，形成数字信封DE<br>5.发送方A将加密信息E和信封DE发送到接收方B<br>6.接收方B用自己的私钥解密信封DE取得SK<br>7.接收方B用SK解密信息E，得到原文、SD、A的公钥<br>8.使用A的公钥解密SD得到原文的MD<br>9.接收方B对原文进行Hash运算得到MD&#8217;<br>10.如MD与MD&#8217;相等，说明数据没被篡改，签名真实。<br><br><span style="FONT-WEIGHT: bold">示范二：为Kernel打补丁</span><br>1.准备好2.4.26版本的内核文件linux-2.4.26.tar.bz2<br>2.下载2.4.27版本的补丁patch-2.4.27.bz2和md5校验文件<br>3.打补丁<br>&nbsp;#tar xvjf linux-2.4.26.tar.bz2<br>&nbsp;#bzcat patch-2.4.27.bz2|patch -p0&nbsp;&nbsp;&nbsp; -p0指使用原始路径<br>&nbsp;#mv linux-2.4.26 linux-2.4.27<br>4.编译新内核替换旧内核<br>&nbsp;#cd linux-2.4.27;make menuconfig<br>&nbsp;#make dep bzImage modules modules_install install <br>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:08 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记十：FTP服务器</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30937.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:07:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30937.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30937.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30937.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30937.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30937.html</trackback:ping><description><![CDATA[FTP使用TCP协议<br>21端口传输控制信息<br>20端口传输数据<br>验证信息采用明文传输<br>匿名用户anonymous<br>binary模式传输程序、图片等二进制文件<br>ascii模式舆文本文件<br><span style="FONT-WEIGHT: bold">安装vsftpd</span><br>1.下载源代码vsftpd-2.0.5.tar.gz<br>2.编译源程序，可参考帮助文件INSTALL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #tar zxvf vsftpd-2.0.5.tar.gz<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #cd vsftpd-2.0.5<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #make<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #make install<br>3.安装配置文件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #cp vsftpd.conf /etc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #cp RedHat/vsftpd.pam /etc/pam.d/ftp<br>4.编缉配置文件/etc/vsftpd.conf<br>5.启动服务器<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #/usr/local/sbin/vsftpd &amp;<br>&nbsp;<br><span style="FONT-WEIGHT: bold">配置文件</span><br>listen=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 服务器独立运行<br>服务器默认配置文件，不允许其他用户登录，只能匿名登录，匿名登录需要先建/var/ftp目录<br>finger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用户信息查看工具<br>finger ftp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认是否有ftp这个用户<br>&nbsp;<br>为匿名用户可登录，要创建ftp用户和/var/ftp目录<br>#mkdir /var/ftp<br>#chown root.root /var/ftp<br>#chmod og-w /var/ftp<br>为使vsftpd开机自动进行，在/etc/rc.local添加/usr/local/sbin/vsftpd &amp;<br>#netstat -tnl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看本地已启动的服务<br>vsftpd可以以两种方式运行<br>让vsftpd独立运行，关闭xinetd的方式<br>#chkconfig vsftpd off<br>vsftpd的配置文件<br>anonymous_enabled=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许匿名登录<br>local_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许本地用户登录<br>write_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许客户端写<br>local_umask=022&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #本地用户新建文件的umask值<br>anon_upload_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许匿名用户上传文件<br>anon_mkdir_write_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许匿名用户创建目录<br>dirmessage_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许使用目录的消息<br>ftpd_banner=Welcome to redhat&nbsp;&nbsp;&nbsp; #登录欢迎词<br>ls_recure_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #允许客户端使用ls -R命令<br>listen=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #监听模式<br>修改配置文件后，重新启动vsftpd服务<br>#killall -9 vsftpd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 强行终止<br>#/usr/local/sbin/vsftpd &amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 启动<br>#id redhat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看redhat用户信息（组id,所属组）<br>#mkdir /var/ftp/incoming&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #为匿名用户开放上传incoming目录<br>#chgrp ftp incoming<br>#chmod g+w incoming<br><br>chroot环境 （用户不能改变主目录，不能查看主目录外的其他目录，可以隐藏主目录的位置）<br>/etc/vsftpd.conf:<br>chroot_list_enable=YES<br>chroot_list_file=/etc/vsftpd.chroot_list<br>如果把chroot_local_user=YES，则本地所有的用户都变成chroot环境，它的默认值为NO。<br>&nbsp;<br>/etc/vsftpd.chroot_list: (锁定主目录的用户列表)<br>redhat<br>chiaitlab<br>&nbsp;<br>#killall -HUP vsftpd <br><br><span style="FONT-WEIGHT: bold">用户控制</span><br>#vi /etc/vsftpd.conf添加<br>userlist_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 启用用户列表<br>userlist_file=/etc/ftpusers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义用户列表文件位置<br>userlist_deny&nbsp;&nbsp; =YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 拒绝列表的用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =NO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只允许列表的用户登录<br>要达到上面同样的效果，还可以修改/etc/pam.d/vsftpd文件。默认为拒绝列表的用户：<br>auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers&nbsp; onerr=succeed&nbsp; <br>只要把上面的deny改成allow就可以允许列表的用户。<br>#vi /etc/ftpusers<br>编缉用户列表，将要进行控制的用户添加进去，一行一个用户<br>#ldd vsftpd&nbsp;&nbsp;&nbsp;&nbsp; 显示依赖的共享库<br>默认编译安装没有支持PAM模块，通过ldd /usr/sbin/vsftpd看是否在依赖于libpam.so.0，如果有证明服务支持PAM。<br>&nbsp;<br>通过光盘RPM安装(第二张)<br>#rpm -ivh vsftpd-2.0.4-1.2.i386.rpm<br>配置文件及用户列表在/etc/vsftpd目录下<br>pam服务名 /etc/pam.d/vsftpd<br>vsftpd在/usr/sbin/vsftpd<br>ftp默认拒绝id 500以下的用户登录<br>&nbsp;<br>虚拟账号<br>对于用DB库存储用户及密码，先看系统是否有相应软件包<br>#rpm -qa | grep db4<br>db4-devel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第三张盘<br>db4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一张盘<br>db4-utils&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第4张盘<br>&nbsp;<br>1.建虚拟账号users.txt<br>tom<br>123<br>jack<br>123<br>用户密码各占一行<br>#db_load -T -t hash -f users.txt /etc/vsftpd/vsftpd_login.db<br>#chmod 600 /etc/vsftpd/vsftpd_login.db<br>2.修改/etc/pam.d/vsftpd 增加（将其他注释掉）<br>auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp; pam_userdb.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db=/etc/vsftpd/vsftpd_login<br>account&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp; pam_userdb.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; db=/etc/vsftpd/vsftpd_login<br>3.建虚拟账号目录<br>#useradd vuser<br>!!注意，编译安装vsftpd时，首先检查是否安装了pam-devel(FC5在第4张盘)，否则编译选项定义了pam,但依然无法使用pam服务，最好用ldd确定一下<br>4.编缉/etc/vsftpd/vsftpd.conf<br>anonymous_enable = NO<br>local_enable =YES<br>write_enable=YES<br>anon_upload_enable=NO<br>anon_mkdir_write_enable=NO<br>anon_other_write_enable=NO<br>guest_enable=YES<br>guest_username=vuser<br><br><span style="FONT-WEIGHT: bold">Proftpd</span><br>#tar jxvf proftpd-1.2.9.tar.gz2<br>#cd proftpd-1.2.9<br>#./configure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 生成与系统有关的配置文件<br>#make&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编译把源程序编译成二进制文件<br>#make install<br>#/usr/local/sbin/proftpd<br>配置文件：/etc/local/etc/proftpd.conf<br>&nbsp;<br>vi使用技巧：<br>yy&nbsp;&nbsp;&nbsp; 复制当前行<br>p&nbsp;&nbsp;&nbsp;&nbsp; 粘贴<br>/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查找<br>n&nbsp;&nbsp;&nbsp;&nbsp; 查找下一个<br>查找与查找下一个配合使用<br>shift+D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在当前行删除光标后的所有字符<br>&nbsp;<br>#netstat -tnlp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示进程及ID<br>&nbsp;<br>为Grub设置密码，防止用户修改或编缉Grub的引导菜单<br>#grub-md5-crypt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 产生一个md5加密的字符串<br>#grub-md5-crypt &gt;&gt; /etc/grub.conf<br>#vi /etc/grub.conf<br>password --md5 $1#123abckdfj343k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $1#123abckdfj343k为上面生成的加密字符串<br>这样在启动时，要编缉引导菜单必须输入密码，在引导菜单最后加上 s ,可进入单用户模式。<br>&nbsp;<br>find / -perm -002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查找文件权限中其他人具有写权限的文件，0表示用户，组不管<br>find / -perm +6000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查找文件，不管用户，组其他，只要权限中含有6（读写）即满足要求。<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表示权限位必须具有的<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 表示权限位可能有或无<br>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30937.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:07 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30937.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记十一：PAM认证模块</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30938.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:07:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30938.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30938.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30938.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30938.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30938.html</trackback:ping><description><![CDATA[Pluggable Authentication Modules for Linux 可插拨认证模块<br>当用户访问服务器，服务程序将请求发送到PAM模块，PAM模块根据服务名称在/etc/pam.d目录下选择一个对应的服务文件，最后根据服务文件的内容选择具体的PAM模块进行处理。<br>通过ldd查看服务程序在编译时是否使用了libpam.so，决定服务程序是否支持PAM认证。<br>具体的pam文件放在/lib/security目录下，服务文件放在/etc/pam.d目录下<br>&nbsp;<br><span style="FONT-WEIGHT: bold">PAM服务文件格式</span><br>eg:<br>auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp; pam_security.so<br>auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp; pam_stack.so service=system-auth<br>service表示调用子服务文件<br>&nbsp;<br>Module-type：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 检查用户和密码，分配权限<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; account&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 检查账号是否过期，是否有权登录<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从用户登录成功到退出的会话控制<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制用户改密码的过程<br>control-flag:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要求矣须通过，否则结束退出<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requisite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果不通过还可继续向下认证，后面有一通过即可。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sufficient&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过则不需要向下认证<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; optional&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可选项<br>&nbsp;<br>常用PAM服务文件<br>login&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------/etc/pam.d/login<br>ipop3d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------/etc/pam.d/pop<br>vsftpd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------/etc/pam.d/ftp（编译安装）或/etc/pam.d/vsftpd（rpm安装）<br>sshd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------/etc/pam.d/sshd<br>su&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------/etc/pam.d/su<br>imap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -------/etc/pam.d/imap<br>&nbsp;<br>/lib/security目录下，各个pam模块的作用，可参考/usr/share/doc/pam-0.99.3.0下的帮助文件。<br>相同类型Module-type组成一个堆栈。<br>&nbsp;<br>常用PAM模块<br>pam_access.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制访问者地址与账号名称<br>pam_listfile.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制访问者的账号名称或登录位置<br>pam_limits.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制为用户分配的资源<br>pam_rootok.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对管理员(uid=0)无条件允许通过<br>pam_userdb.so&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设定独立用户账号数据库认证<br>&nbsp;<br><span style="FONT-WEIGHT: bold">pam_access.so模块的使用―――控制访问sshd服务的主机和用户</span><br>1.修改需使用这个模块的服务文件，如sshd:&nbsp;&nbsp; /etc/pam.d/sshd添加<br>account&nbsp;&nbsp; required&nbsp;&nbsp; pam_access.so<br>2.修改模块的配置文件<br>/etc/security/access.conf<br>- : redhat : ALL EXCEPT 192.168.0.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （格式）<br>3.测试<br>ssh&nbsp; redhat@192.168.0.22<br>ssh&nbsp; redhat@127.0.0.1<br>pam_access.so根据主机、IP、用户、拒绝或允许访问。<br>&nbsp;<br><span style="FONT-WEIGHT: bold">pam_listfile.so的应用 (比pam_access.so更加详细控制)</span><br>1.首先查看它的帮助文件，看它的具体格式，参数如何<br>#less /usr/share/doc/pam-0.99.3.0/txts/README.pam_listfile<br>item&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user,tty,group&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明列表文件中的内容<br>sense&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allow,deny&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 拒绝或允许文件中的用户<br>file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定一个文件，内容根据item项来添加<br>onerr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; succeed,fail&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当模块本身产生错误时，返回的值，如无法打开file指定的文件，一般设为succeed<br>2.将模块应用到sshd服务<br>将上面添加的pam_access.so清掉，然后在/etc/pam.d/sshd中添加（第一行）<br>auth&nbsp; required&nbsp;&nbsp; pam_listfile.so&nbsp;&nbsp; item=user&nbsp;&nbsp; sense=deny&nbsp;&nbsp;&nbsp;&nbsp; file=/etc/denyuser onerr=succeed<br>注意添加的位置顺序，否则看不到效果<br>3.创建编缉列表文件<br>#echo &#8220;redhat&#8221; &gt;/etc/denyuser<br>4.测试<br>#ssh -l redhat 192.168.0.22&nbsp;&nbsp; 失败<br>#ssh -l chinaitlab 192.168.0.22 成功<br>&nbsp;<br>#w&nbsp;&nbsp; 显示已登录的用户及最近的一次操作 <br><br><span style="FONT-WEIGHT: bold">pam_limits.so的应用</span><br>1.查看帮助文件，确认它的配置文件位置，参数模式<br>#less /usr/share/doc/pam-0.99.3.0/txt/README.pam_limits<br>&lt;domain&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;type&gt;&nbsp;&nbsp;&nbsp; &lt;item&gt;&nbsp;&nbsp;&nbsp; &lt;value&gt;<br>&lt;domain&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用户名或组名<br>&lt;type&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; soft软限制<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hard硬限制（不能达到的）<br>&lt;item&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 限制的内容，fsize文件大小，nproc最大进程数，maxlogins用户登录次数<br>2.将模块应用到sshd服务，修改服务文件<br>#vi /etc/pam.d/sshd 添加：<br>session required pam_limits.so<br>session&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制用户进程的登录次数，文件大小，通过控制用户的会话进程来限制用户使用的资源<br>3.编缉pam_limits.so的配置文件/etc/security/limits.conf<br>redhat&nbsp; hard&nbsp;&nbsp;&nbsp;&nbsp; maxlogins&nbsp;&nbsp;&nbsp; 2<br>限制redhat登录到sshd服务的次数,不能达到2。<br>4.测试<br>#ssh -l redhat 192.168.0.22&nbsp;&nbsp; 第1个<br>#ssh -l redhat 192.168.0.22&nbsp;&nbsp; 第2个<br>表示同时最多可以有1个redhat用户登录<br>&nbsp;<br><span style="FONT-WEIGHT: bold">pam_rootok.so的应用</span><br>#chfn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改变用户的finger信息<br>普通用户使用这个命令修改信息时，需要输入密码才能使用，而root用户则不需要。<br>分析：<br>#more /etc/pam.d/chfn<br>第一行为auth sufficient pam_rootok.so<br>因为chfn的pam服务文件的第一行应用了pam_rootok.so模块，所以当root用户使用chfn时不需验证，不需要再往下，直接通过。<br><br><span style="FONT-WEIGHT: bold">pam_userdb.so模块</span>需要一个db数据库储存用户信息，具体如何使用可参考前面的vsftpd虚拟用户。<br><br>在使用PAM模块时，注意参考README.pam帮助。<br>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30938.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:07 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30938.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记九：Raid与Lvm的综合应用实例</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30936.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:06:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30936.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30936.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30936.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30936.html</trackback:ping><description><![CDATA[要求：使用三个硬盘存储数据，保证数据安全性的同时还能让磁盘根据需要动态的缩放<br>设备sdb sdc sdd<br>1.将三个硬盘组成RAID5，实现安全性<br>2.在阵列md0上创建物理卷，卷组，逻辑卷<br>3.将数据转移到逻辑卷<br>&nbsp;<br>具体操作：<br>1.fdisk 三个硬盘，分区类型fd,最后得到sdb1,sdc1,sdd1<br>2.创建raid设备<br>#mdadm &#8211;Cv /dev/md0 &#8211;l5 &#8211;n3 /dev/sd[b,c,d]1<br>3.#pvcreate /dev/md0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在阵列上初始化物理卷<br>4.#vgcreate vg /dev/md0<br>5.#lvcreate &#8211;n home &#8211;L 100M vg<br>#lvcreate &#8211;n var &#8211;L 100M vg<br>#mkfs.ext3 /dev/vg/home<br>#mkfs.ext3 /dev/vg/var<br>#mkdir /mnt/home<br>#mkdir /mnt/var<br>#mount /dev/vg/home /mnt/home<br>#mount /dev/vg/var /mnt/var<br>#cp &#8211;a /home/* /mnt/home<br>#cp &#8211;a /var/*&nbsp; /mnt/var<br>#df &#8211;lh<br>6.#vi /etc/fstab 添加<br>/dev/vg/home&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home&nbsp;&nbsp;&nbsp;&nbsp; ext3 defaults 0 0<br>/dev/vg/var&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ext3 defaults 0 0<br>7.#vi /etc/mdadm.conf&nbsp;&nbsp; 创建文件，以便系统启动时能够自动识别raid设备，内容如下：<br>DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 ARRAY /dev/md0 level=raid5 num-devices=3 UUID=123545:erdfj3:dkf3jd<br>（UUID具体通过mdadm &#8211;D /dev/md0获取）<br>或者#vi /etc/rc.sysinit 修改此文件，搜索raid，在它下面添加条命令：raidstart /dev/md0<br>8.reboot<br>&nbsp;<br>上面已正确地将数据移植到LVM上，下面将/分区移植到LVM上<br>#lvcreate &#8211;n root &#8211;L 200M vg<br>#mkfs.ext3 /dev/vg/root<br>#mount /dev/vg/root /mnt<br>#cd /mnt<br>#mkdir proc tmp var home opt cdrom media mnt srv selinux<br>#cd /<br>#cp &#8211;a bin dev etc lib sbin root usr sys /mnt &amp;<br>当操作的过程时间太长，可按ctrl+z，再输入bg,让它后台运行<br>技巧：<br>#rm &#8211;rf /mnt/bin&nbsp;&nbsp;&nbsp; 强行删除目录<br>#\ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不高亮显示<br>RAID5的磁盘容量利用率为2/3<br>&nbsp;<br>利用mkinitrd创建一个虚拟的磁盘映像文件<br>#mkdir /boot/test<br>#mkinitrd &#8211;v &#8211;preload raid5 &#8211;preload lvm-m0d /boot/test/initrd-lvm-$(uname-r)img $(uname &#8211;r)<br>在里面添加加载根分区所需的raid设备文件，驱动程序，命令mdadm等<br>#cd /boot/test<br>#mv initrd-lvm-2.6.15-1.2054_FC.img initrd-lvm-2.6.15-1.2054_FC.img.gz<br>#gunzip init-lvm-2.6.15-1.2054_FC.img.gz<br>#cpio &#8211;idv &lt; init-lvm-2.6.15-1.2054_FC.img<br>#rm initrd-lvm-2.6.15-1.2054_FC.img<br>添加设备文件，复制文件时要注意-a参数<br>#cp &#8211;a /dev/vg dev<br>#cp &#8211;a /dev/mapper dev<br>#cp &#8211;a /dev/md0 dev<br>#cp &#8211;a /dev/sd[abcd] dev<br>#cp &#8211;a /dev/sd[abcd]1 dev<br>#vi init 添加，一定要在mkblkders后面添加，系统启动后执行的第一个脚本，自动激活磁盘阵列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mdadm &#8211;As&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vgscan<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vgchange &#8211;a y<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改加载的root分区<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount &#8211;o defaults --ro -t ext3 /dev/vg/root /sysroot<br>#cp /sbin/vgscan bin<br>#cp /sbin/vgchange bin<br>#cp /sbin/mdadm bin<br>#ldd bin/mdadm&nbsp;&nbsp;&nbsp;&nbsp; 查看该命令所需的库文件<br>#cp /lib/libc.so.6 lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (字母o)添加命令所需库文件<br>#cp /lib/ld-linux.so.1 lib<br>上面的mdadm -As会根据配置文件mdadm.conf激活阵列，所以将/etc/mdadm.conf拷过来<br>#cp /etc/mdadm.conf etc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （之前已经手工创建了mdadm.conf），添加配置文件<br>最后确认/boot/test目录里的文件准备打包<br>#cd /boot/test<br>#find -print | cpio -oc &gt; /boot/initrd-lvm-$(uname -r).img<br>#cd /boot<br>#gzip initrd-lvm-2.6.15-1.2054_FC.img -c &gt; init-lvm-2.6.15-1.2054_FC.img.gz<br>这样将文件恢复成一个虚拟磁盘映像文件<br>&nbsp;<br>修改引导配置<br>#vi /boot/grub/grub.conf<br>修改defaults=1<br>添加<br>title Fedora LVM<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root (hd0,0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kernel /boot/vmlinuxz-2.6.15-1.2054_FC ro root=/dev/vg/root&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 和/boot目录里的vmlinuxz对应，注意root=/dev/vg/root的修改<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; initrd /boot/initrd-lvm-2.6.15-1.2054_FC.img.gz<br>保存退出<br>#mount /dev/vg/root /mnt<br>#cd /mnt<br>#vi etc/fstab&nbsp;&nbsp;&nbsp; 修改<br>/dev/vg/root&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ext3 defaults&nbsp;&nbsp; 1 1<br>这样系统启动就会将/dev/vg/root 作为主分区使用<br>完成所有修改<br>#reboot<br>从启后ls /boot应该没有东西，因为物理boot在sda1分区里<br>可以#mount /dev/sda1 /mnt 再看看里面的boot内容<br>证明已经成功的转移了根分区，完成了案例提出的要求。<br>&nbsp;<br>在进行这个实验时，主要是对磁盘映像文件的修改，修改init文件时，要注意加载模块的顺序，先创建块设备，才能使用块文件。<br>使用mkinitrd创建文件后，要注意用file命令查看文件类型，从而进一步对映像文件进行解压，提取等操作。当修改完磁盘映像文件initrd后，要知道如何打包、压缩。注意如何使用cpio命令。 <br>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:06 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记八：Lvm逻辑卷管理器</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30935.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:05:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30935.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30935.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30935.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30935.html</trackback:ping><description><![CDATA[PV (physical volume)物理卷<br>VG (Volume Group)卷组<br>LV （Logical Volume）逻辑卷<br>&nbsp;<br>1.fdisk /dev/sdb<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 分区sdb1,sdb2,sdb3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 分区类型8e（Linux LVM）<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果系统在使用sdb,需要重启，以便系统重新读取sdb的分区表信息<br>2.#pvcreate /dev/sdb[1-3]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 初始化物理卷<br>3.#vgscan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 扫描物理卷，创建卷组数据库，第一次创建lvm必须运行此命令<br>4.#vgcreate vg0 /dev/sdb1 /dev/sdb2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用sdb1,sdb2创建卷组vg0<br>&nbsp; #vgdisplay vg0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 查看卷组vg0的信息<br>5.#lvcreate &#8211;n data &#8211;L 10M vg0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从vg0中创建一个新的名为data，大小10M的逻辑卷<br>6.#mkfs.ext3 /dev/vg0/data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 格式化<br>7.#mount /dev/vg0/data /mnt<br>&nbsp; #lvdisplay /dev/vg0/data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看逻辑卷data的分区情况<br>&nbsp; #lvcreate &#8211;n test &#8211;l 5 vg0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建逻辑卷用-l指定块数，默认块大小4MB,即分配逻辑卷20MB大小，这个默认的物理扩展块的大小可以通过命令vgdispaly vg0查看PE SIZE的值而知道。<br>创建完逻辑卷一定要mkfs.ext3格式化才能使用<br>&nbsp; #lvscan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 扫描逻辑卷，看它们的活动情况<br><br>#umount /mnt<br>#lvextend &#8211;L +20M /dev/vg0/data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 扩大逻辑卷20M，要先umount分区，再扩大<br>#e2fsck &#8211;f /dev/vg0/data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 强行检查data逻辑卷<br>#resize2fs /dev/vg0/data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重新定义分区大小<br>以上三步要按顺序进行,用以下一条命令可以达到上面三条命令相同的效果：<br>#e2fsadm &#8211;L +20M /dev/vg0/data<br>&nbsp;<br>#pvscan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看系统目前的物理卷情况<br>#vgextend vg0 /dev/sdb3 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 扩大卷组vg0，将分区sdb3加入卷组<br>#pvmove /dev/sdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 移除物理卷<br>#vgreduce vg0 /dev/sdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从卷组中删除sdb1<br>pvmove将数据移走，但sdb1还在vg0内，还是属于卷组分区，vgreduce将sdb1从vg0中删除<br>创建卷组时，默认的PE大小4MB，允许的LV最大256G<br>#vgcreate &#8211;s 8M vg1 /dev/sdb1<br>-s&nbsp;&nbsp;&nbsp; 指定PE块大小<br>通过改变PE块大小，从而改变卷组允许支持的逻辑卷最大容量 <br><br>技巧：<br>#clear&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 清屏<br>#df &#8211;lh&nbsp;&nbsp;&nbsp; 显示系统现在的分区挂载情况<br>&nbsp;<br>建立快照（备份数据）<br>#lvcreate &#8211;s &#8211;L 52M &#8211;n snap /dev/vg0/data<br>-s&nbsp;&nbsp;&nbsp; 表示快照<br>-L&nbsp;&nbsp;&nbsp; 快照大小要大于或等于被创建的逻辑卷data<br>-n&nbsp;&nbsp;&nbsp; 快照名称<br>快照不用格式化即可使用<br>&nbsp;<br>删除逻辑卷步骤<br>1.umount所有LV<br>2.lvremove /dev/vg0/data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (通过lvscan查看)如有快照，先移除快照再移除逻辑卷。<br>3.#vgchange -an /dev/vg0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 休眠vg以便删除,vgchange -ay /dev/vg0此命令可以激活vg。<br>4.#vgremove vg0<br>使用过程中，如有错误，可查看系统日志<br>#tail /var/log/message<br><br>如果要使根分区使用LVM设备，需先创建好LVM设备，再用lvmcreate-initrd命令在boot分区创建支持lvm功能的虚拟磁盘镜像文件，最后修改grub.conf加载此镜像文件即可。<br>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:05 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记七：Raid </title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30934.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:02:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30934.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30934.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30934.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30934.html</trackback:ping><description><![CDATA[<span style="FONT-WEIGHT: bold">安全的动态磁盘策略</span><br>linux内核可以模拟RAID控制器，用来管理硬盘，但只支持级别0,1,4,5<br>RAID0 又称striping<br>把连续的数据访问分散到多个磁盘上来提高存储性能，速度最快，但最危险。<br>RAID1 又称Mirror或Mirroring<br>最大限度的保证用户数据的可用性和可修复性，用户数据100%自动复制到另外一个硬盘上，速度稍慢，因为要同时写多个硬盘。<br>RAID5&nbsp;&nbsp;&nbsp; 最少需三个硬盘<br>不对存储的数据时行备份，而把数据和对应的奇偶校验信息分别存储在不同的磁盘上，当一个磁盘数据发生损坏后，利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。<br>RAID0+1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 也称RAID10<br>结合RAID0和RAID1的优点，很多公司在应用<br>&nbsp;<br><span style="FONT-WEIGHT: bold">Linux中的软件RAID</span><br>1.默认内核已支持软件RAID控制器<br>2.需安装raidtools工具来创建管理RAID设备，raidtools包含有RAID创建管理工具和默认的示范性配置文件，安装完后编辑/etc/raidtab这配置文件，它可以从raidtools中的示范配置文件里（在/usr/share/doc/raid-~/目录下）复制。最后用以下命令创建RAID设备：<br>
<div style="TEXT-ALIGN: left">#mkraid /dev/md0<br>#mkraid -f /dev/md0<br>#mkraid -R /dev/md0<br>&nbsp; 后两个命令是强制创建，覆盖以前建的超级块。<br></div>
&nbsp; 但Fedora Core5不使用这个，而用mdadm工具。<br>3.软件RAID设备文件名：/dev/mdN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (N=0,1,2&#8230;)<br>4.软件RAID设备可以当分区看待，需格式化后挂载<br>#mkfs.ext3&nbsp;&nbsp;&nbsp;&nbsp; /dev/md1<br>#mount /dev/md1 /opt<br>5.停止RAID设备<br>#umount /opt<br>#raidstop /dev/md0<br>&nbsp; 要永久删除RAID设备，还需删除raidtab文件，否则重启后RAID仍起作用。<br>6.显示RAID设备信息<br>#lsraid -A -a /dev/md1<br>7.RAID1故障模拟<br>&nbsp; 假设sdb1与sdc1两个磁盘做RAID1，sdb1磁盘坏了，加入新一块磁盘sdd1。<br>#raidsetfaulty /dev/md1 /dev/sdb1<br>#raidhotadd /dev/md1 /dev/sdd1&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br>#more /proc/mdstat&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 查看磁盘修复过程<br>#raidhotremove /dev/sdb1<br>&nbsp; 最后还要修改raidtab文件。<br><br><span style="FONT-WEIGHT: bold">使用mdadm来创建和管理RAID</span><br>RAID0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 添加硬盘<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAID设备的成员是硬盘分区，需先对硬盘分区，分区不能在同一物理硬盘上<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #fdisk /dev/sdb<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n创建主分区，t分区类型fd，w写保存<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #fdisk /dev/sdc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm &#8211;Cv /dev/md0 &#8211;l0 &#8211;n2 /dev/sdb1 /dev/sdc1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -C,--create&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建一个新的阵列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -v,verbose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示细节<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/md0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 阵列设备的名称<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -l,--level=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 阵列级别，如0,1,4,5,6<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -n,--raid-devices=&nbsp;&nbsp; 阵列活动数目<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/sd[bc]1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 阵列包含的设备列表<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #more /proc/mdstat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看阵列状态<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mkfs.ext3 /dev/md0&nbsp;&nbsp;&nbsp;&nbsp; 创建文件系统<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mount /dev/md0 /mnt/raid<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 让系统自动挂载，修改/etc/fstab,添加<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/md0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /mnt/raid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ext3 defaults 0 0<br>&nbsp;<br>RAID5 故障模拟<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前面已创建了一个RAID5设备md0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm &#8211;Cv /dev/md0 &#8211;l5 &#8211;n3 &#8211;x1 &#8211;c128 /dev/sd[b,c,d,e]1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.将/dev/sdb1标记为已损坏的设备<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm /dev/md0 &#8211;f&nbsp; /dev/sdb1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这时阵列开始重构和恢复数据<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.移除损坏的设备<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm /dev/md0 &#8211;r /dev/sdb1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.将新设备添加到阵列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意，一：对硬盘正确分区，二：添加设备名要与被移除的一致，如sdb1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm /dev/md0 &#8211;a /dev/sdb1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>生成配置文件/etc/mdadm.conf<br>格式如下：<br>DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 ARRAY /dev/md10 level=raid10 num-devices=4 UUID=12334343dkfj<br>&nbsp;<br>其中UUID信息通过#mdadm &#8211;D /dev/md10得到<br>#mdadm &#8211;Ds 扫描该文件信息<br>&nbsp;<br>常用阵列维护命令<br>1.启用阵列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm &#8211;As /dev/md0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -A&nbsp;&nbsp;&nbsp; 启用已存在的阵列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -s&nbsp;&nbsp;&nbsp; 以/etc/mdadm.conf为依据<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 没有创建mdadm.conf文件，则采用如下方法启用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm &#8211;A /dev/md0 /dev/sd[bc]1<br>2.停止阵列<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm &#8211;S /dev/md0<br>3.显示阵列详细信息<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mdadm &#8211;D /dev/md0 
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:02 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记六：Samba</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30933.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 10:01:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30933.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30933.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30933.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30933.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30933.html</trackback:ping><description><![CDATA[<p class=MsoNormal style="MARGIN: 11.25pt 11.25pt 0pt"><strong><span lang=EN-US>samba</span></strong><strong><span style="FONT-FAMILY: 宋体">软件包使用</span></strong><strong><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>Fedora core/Redhat Linux</span><span style="FONT-FAMILY: 宋体">提供的软件包</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>samba<span> </span><span>&nbsp;&nbsp; </span><span>&nbsp;&nbsp; </span>samba</span><span style="FONT-FAMILY: 宋体">服务器软件包</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>samba-client<span> </span><span>&nbsp;&nbsp; </span>samba</span><span style="FONT-FAMILY: 宋体">客户端工具</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>samba-common<span>&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">通用工具和库</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">安装</span><span lang=EN-US>rpmdb-fedora/rpmdb-redhat</span><span style="FONT-FAMILY: 宋体">软件包（一般在第三张光盘）</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">但在</span><span lang=EN-US>FC5</span><span style="FONT-FAMILY: 宋体">已找不到这个软件包</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">安装了</span><span lang=EN-US>rpmdb</span><span style="FONT-FAMILY: 宋体">可以解决依赖性问题</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#rpm &#8211;ivh rpmdb-fedora*.rpm</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#rpm &#8211;ivh --aid samba*.rpm<span> </span></span><span style="FONT-FAMILY: 宋体">装了</span><span lang=EN-US>rpmdb</span><span style="FONT-FAMILY: 宋体">才有效</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>1.#rpm &#8211;ivh cups-libs*.rpm<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">第一张光盘</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>2.#rpm &#8211;ivh samba*.rpm<span> </span></span><span style="FONT-FAMILY: 宋体">第一张光盘（</span><span lang=EN-US>client,common</span><span style="FONT-FAMILY: 宋体">）</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>3.#rpm &#8211;ivh samba*.rpm<span> </span></span><span style="FONT-FAMILY: 宋体">第二张光盘</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#rpm &#8211;qa |grep samba<span> </span><span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">查看所有软件包列表</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#rpm &#8211;ql samba | more<span>&nbsp;&nbsp; </span><span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">查讯某个软件列表</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><strong><span lang=EN-US>samba</span></strong><strong><span style="FONT-FAMILY: 宋体">客户端工具</span></strong><strong><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>smbtree</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">作用：显示局域网中的所有共享主机和目录列表（默认使用当前用户登录）</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">用法：</span><span lang=EN-US>smbtree [-b] [-D] [-U username%password]</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>-D<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">表示只显示工作组名，不显示主机</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>-b </span><span style="FONT-FAMILY: 宋体">使用广播查询列表，不用</span><span lang=EN-US>WINS</span><span style="FONT-FAMILY: 宋体">服务器</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>-D</span><span style="FONT-FAMILY: 宋体">和</span><span lang=EN-US>-U </span><span style="FONT-FAMILY: 宋体">不能共用，因为不可能用同一个用户登录域上所有主机</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>nmblookup</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">作用：显示一台主机的</span><span lang=EN-US>nethios</span><span style="FONT-FAMILY: 宋体">主机名</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>nmblookup my-server<span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">查询服务器的</span><span lang=EN-US>IP</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>nmblookup \*<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">查询所有活动的主机的</span><span lang=EN-US>IP</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>smbclient</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">作用：显示</span><span lang=EN-US>/</span><span style="FONT-FAMILY: 宋体">登录局域网中的共享文件夹</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">用法：</span><span lang=EN-US>smbclient &#8211;L host</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span><span>&nbsp; </span>smbclient //host/share</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span><span>&nbsp; </span>smbclient &#8211;L 192.168.0.22 &#8211;U redhat%redhat<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">以</span><span lang=EN-US>redhat</span><span style="FONT-FAMILY: 宋体">用户登录并显示共享目录</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span><span>&nbsp; </span>smbclient //192.168.0.22/linux &#8211;U redhat%redhat<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt; TEXT-INDENT: 31.5pt"><span style="FONT-FAMILY: 宋体">登入目录，查看目录内容，通过</span><span lang=EN-US>put,get</span><span style="FONT-FAMILY: 宋体">上下载文件</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>smbtar</span><span style="FONT-FAMILY: 宋体">（先要修改</span><span lang=EN-US>/usr/bin/smbtar</span><span style="FONT-FAMILY: 宋体">命令，把最后一行的参数</span><span lang=EN-US>-N</span><span style="FONT-FAMILY: 宋体">匿名登陆删掉）</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">远程备份网上邻居中的文件</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>smbtar &#8211;s win2000 &#8211;u redhat &#8211;p redhat &#8211;x chinalab &#8211;t itlab.tar</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">将共享目录挂载到本地目录，然后再访问</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>mount.cifs //192.168.0.22/linux /mnt &#8211;o username=redhat%redhat</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>tar tvf<span>&nbsp; </span>lab.tar<span>&nbsp; </span><span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">显示备份包里的文件</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><strong><span lang=EN-US>samba</span></strong><strong><span style="FONT-FAMILY: 宋体">服务器配置</span></strong><strong><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></strong></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>1.</span><span style="FONT-FAMILY: 宋体">修改配置文件</span><span lang=EN-US>/etc/samba/smb.conf</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>workgroup = WORKGROUP</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>security = share</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>[docs]</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>path = /usr/share/doc</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>comment = share documents<span>&nbsp; </span>#</span><span style="FONT-FAMILY: 宋体">说明共享目录</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>public = yes</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>2.</span><span style="FONT-FAMILY: 宋体">重启</span><span lang=EN-US>smb</span><span style="FONT-FAMILY: 宋体">服务器</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>#service smb restart</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>#chkconfig smb on<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">让</span><span lang=EN-US>smb</span><span style="FONT-FAMILY: 宋体">每次自动启动</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>3.</span><span style="FONT-FAMILY: 宋体">测试</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span>&nbsp;&nbsp; </span>#smbclient &#8211;L localhost</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>chkconfig smb &#8211;list<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">查看服务的启动状态</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>SMB<span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">提供名称解释服务</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>NMB<span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">提供数据传输服务</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">两个总是一起工作的</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>samba</span><span style="FONT-FAMILY: 宋体">文件服务器</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">（</span><span lang=EN-US>WINS</span><span style="FONT-FAMILY: 宋体">）在网上邻居看不到主机列表，可以在地址栏直接输入</span><span lang=EN-US>IP</span><span style="FONT-FAMILY: 宋体">如</span><span lang=EN-US><a href="file://192.168.0.1/"><span style="COLOR: blue">\\192.168.0.1</span></a></span><span style="FONT-FAMILY: 宋体">查看共享目录</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">网上邻居看到的主机列表，主要有三个来源，一是配置文件</span><span lang=EN-US>lmhosts,</span><span style="FONT-FAMILY: 宋体">主机名与</span><span lang=EN-US>IP</span><span style="FONT-FAMILY: 宋体">的对应关系</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US><span></span><span></span><span></span><span></span></span><span style="FONT-FAMILY: 宋体">二是通过浏览服务器</span><span lang=EN-US><span></span><span></span><span></span><span></span><span> </span></span><span style="FONT-FAMILY: 宋体">三是通过广播方式获取主机列表</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体"><br><span style="FONT-WEIGHT: bold">linux访问网上邻居</span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">1.挂载方法<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #mount &#8211;t smbfs //192.168.0.1/linux /mnt&nbsp;&nbsp;&nbsp; <br>或&nbsp;&nbsp; #mount.cifs //192.168.0.1/linux /mnt<br>2.#smbclient //192.168.0.1/linux &#8211;U redhat%123<br>&nbsp;<br>访问控制<br>public = yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许所有人访问<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不允许匿名访问<br>1.共享目录设置有效用户<br>[redhat]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path = /var/redhat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comment = redhat&#8217;s files<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; valid users = &lt;username&gt; &lt;@groupname&gt;<br>2.创建samba用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #useradd username&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 新建一个系统用户<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #smbpasswd &#8211;a username&nbsp;&nbsp;&nbsp;&nbsp; 将用户加入到samba中<br>3.用户账号映射<br>[global]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; username map = /etc/samba/smbusers<br>4.修改上面指定的smbusers文件，添加虚拟用户名<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redhat = tom jack</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">&nbsp; 也可以直接用以下命令：</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-FAMILY: 宋体">#smbuseradd unixname:mapname</span><span style="FONT-FAMILY: 宋体"> </span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">5.需重启smb服务读取映射文件<br>&nbsp;<br>HOME目录（用于用户访问用户自己的主目录）<br>[global]</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">[homes]<br></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comment = Home Directories<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; validusers = %S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %S目录属主<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; browseable = no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认不允许浏览home目录<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; writable = yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许写<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; valid users = 有效用户列表<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write list = 可写用户列表<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; create mask = 0660&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义创建文件的默认权限<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory mask = 0770 定义创建目录的默认权限<br>&nbsp;<br>chown redhat /var/redhat 改变目录属主<br>ls &#8211;lh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示目录里各个文件的详细信息<br>ls &#8211;ld /usr/redhat&nbsp;&nbsp;&nbsp; 只显示目录本身的详细信息<br>&nbsp;<br>#testparm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 测试配置默认文件smb.conf的正确性<br>#testparm /etc/samba/smb.conf my-server 192.168.0.1<br>测试客户机能访问服务器的哪些目录<br>&nbsp;<br>[redhat]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path = /var/redhat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comment = redhat&#8217;s files<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public = no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; valid users = &lt;username&gt; &lt;@groupname&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write list&nbsp; = &lt;username&gt; &lt;@groupname&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; create mask = 0660<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory mask = 0770<br>注意：客户端所有请求访问身份在服务器端都会映射成登录账号的身份</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体"><br></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体"><span style="FONT-WEIGHT: bold">samba配置文件</span><br>/etc/samba/smb.conf<br>[global]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; workgroup = WORKGROUP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 组或域名<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; server string = samba server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 服务器描述<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; netbios name = redhat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定samba服务器名<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; security = share/user/server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; share不需验证用户，user要验证<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;password server = &lt;server&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需与security=server配合使用<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log file = /var/log/samba/log.%m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %m指客户机的netbios名，日志按客户机名分类<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; encrypt passwords = yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>加密密码，windows客户机一般使用加密密码，所以为yes.如果不加密直接用明文密码，可改为no，但windows客户机需修改注册表指定不加密<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; smb passwd file = /etc/samba/smbpasswd<br>上面两句要一起使用!<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; include = /etc/samba/smb.conf.%m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 包含外部配置文件，如根据不同的客户机名称，定义不同的共享资源<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;interfaces = 192.168.0.0/24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; samba应用在哪个接口上，默认是在所有网卡，所有接口上<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;name resolve order =&nbsp; wins lmhosts bcaast&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 名称解释顺序<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;wins support = yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自己作为WINS服务器，并提供给客户机查询<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;wins server = w.x..y.z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 与WINS配合使用，作为WINS服务器，请求会发送到w.x.y.z<br>&nbsp;<br>/etc/samba/lmhosts文件（保存客户机IP与名称的对应关系）<br>左边IP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 右边名称<br>127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost<br>&nbsp;<br>wins support,wins server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不能同时使用<br>wins server&nbsp;&nbsp;&nbsp; 说明本身作为客户机，而指定一台wins服务器的IP</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><br><span style="FONT-FAMILY: 宋体"></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体"><span style="FONT-WEIGHT: bold">samba的安全级别</span><br>[global]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; security = &lt;level&gt;<br>1.share<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; windows用户不需要认证就能访问共享列表<br>2.user<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; windows客户机需输入用户才能访问共享名列表，服务器上需建立用户账号<br>3.server<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 客户端需输入合法用户帮能访问，但认证过程在另一服务器进行，用户账号保存在认证的那台服务器上。<br>share,user只对windows客户机有效，linux客户机在user级别不用密码也能访问共享名列表。security只保护主机的共享名列表，具体到目录的访问则由目录的规则决定。<br>&nbsp;<br>#hostname&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看主机名<br>#nmblookup&nbsp;&nbsp;&nbsp; my-server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查询主机IP（与samba netbios name有关）<br>#man smb.conf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看相关帮助<br>vi搜索技巧：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /%m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先输入&#8221;/&#8221;再输入要查找的字符串<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /redhat&nbsp;&nbsp;&nbsp; 如查找&#8221;redhat&#8221;字符串<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shift+G&nbsp;&nbsp; 跳到文件尾<br>&nbsp;<br>默认服务器名与机器DNS的第一部分相同<br>如Fedora.cyrich.com则这台samba服务器的名称就是Fedora<br>&nbsp;<br><span style="FONT-WEIGHT: bold">访问控制</span><br>一、全局控制<br>[global]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hosts deny = ALL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hosts allow = 192.168.0.<br>二、局部访问控制<br>[docs]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hosts deny = 192.168.0.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hosts allow = 192.168.0.1<br>[redhat]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hosts allow = 192.168.0.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; host deny = 192.168.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (失效)<br>允许优先！！<br>hosts 后面的格式语法，可以通过man 5 host.access查看帮助<br>1.点开头 .edu.cn<br>2.点结尾 192.168.0.<br>3.192.168.0.0/255.255.255.0<br>&nbsp; 192.168.0.0/24<br>4.ALL&nbsp; LOCAL UNKNOWN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS不能解析的<br>5./开头&nbsp;&nbsp; 指定一个文件<br>6.hosts allow = 192.168.0.0 EXCEPT&nbsp; 192.168.0.1<br>允许192.168.0网段主机访问，但192.168.0.1除外<br>&nbsp;<br>技巧：<br>#tail /etc/samba/smb.conf<br>显示文件最后的十行</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><br><span style="FONT-FAMILY: 宋体"></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体"><span style="FONT-WEIGHT: bold">应用案例</span><br>要求：<br>1.所有员工都能够在公司内流动办公，但不管在哪台电脑上工作，都要把自己的文件数据保存在samba文件服务器上。<br>2.市场部，技术部都各有自己的目录，同一个部门的人共同拥有一个共享目录，其他部门的人都只能访问在服务器上自己个人的home目录<br>3.所有用户都不允许使用服务器上的shell<br>分析：<br>1.需要samba作为文件服务器，为所有用户创建账号和目录，用户默认都 在服务器上有一个home目录，只有认证通过才能看到。<br>2.需为市场部和技术部创建不同的组sales和tech,并且分配目录，把所有市场部员工加入sales组，技术部员工加入tech组，通过samba共享sales和tect<br>3.建立用户账号时，不分配shell<br>案例实施：<br>1.为所有用户创建账号和目录，不分配shell,假设市场部有tom,jack，技术部有red,blue,总经理ceo，财务finance<br>2.建组sales和tech，把所有市场部员工加入sales组，技术部员工加入tect组<br>3.创建两个目录/home/sales和/home/tech，并修改两个目录的权限，分别属于sales组和tect组<br>4.通过samba共享/home/sales和/home/tect<br>5.测试<br>如有错误，检查<br>/etc/samba/smbpasswd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确定账户<br>/etc/samba/smbusers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看映射文件<br>tail /var/log/samba/redhat.log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看/var/log/samba/目录下的日志<br>&nbsp;<br>具体操作：<br>#vi /etc/samba/smb.conf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安全级别为user<br>#groupadd sales<br>#groupadd tech<br>#useradd &#8211;g sales &#8211;s /bin/false tom<br>#useradd &#8211;g sales &#8211;s /bin/false jack<br>#smbpasswd &#8211;a tom<br>#smbpasswd &#8211;a jack<br>#for user in red blue&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 批量添加用户red,blue<br>&gt;do<br>&gt;&nbsp;&nbsp;&nbsp; useradd &#8211;g tech &#8211;s /bin/false&nbsp; $user<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; smbpasswd &#8211;a $user<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; done<br>&nbsp;<br>#useradd ceo<br>#useradd finance<br>#smbpasswd &#8211;a ceo<br>#smbpasswd &#8211;a finance<br>#mkdir /home/sales /home/tech<br>#chgrp sales&nbsp;&nbsp; /home/sales<br>#chgrp tech&nbsp;&nbsp;&nbsp; /home/tech<br>#chmod 770 /home/sales<br>#chmod 770 /home/tech<br>#chmod g+s /home/sales&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 防止权限发生混乱<br>#chmod g+s /home/tech<br>#vi /etc/samba/smb.conf<br>[sales]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path = /home/sales<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comment = sales<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public = no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; valid users = @sales<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write list = @sales<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; create mask = 0770&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其实效果就是0760,因为samba服务器会自动把可执行权限拿掉<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory mask = 0770<br>[tech]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path = /home/tech<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comment = tech<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public = no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; valid users = @tech<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write list = @tech<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; create mask = 0770<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; directory mask = 0770<br>&nbsp;<br>linux测试<br>1.smbclient &#8211;L 192.168.0.22 &#8211;U tom%tom<br>2.mount.cifs //192.168.0.22/ceo &#8211;o username=ceo%ceo<br>windows客户机映射网络驱动器，再设定&#8220;我的文档&#8221;位置，就可随时随地将文件保存在samba服务器上</span> </p>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30933.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 18:01 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30933.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记五：使用磁盘配额</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30932.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 09:59:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30932.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30932.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30932.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30932.html</trackback:ping><description><![CDATA[<p class=MsoNormal style="MARGIN: 11.25pt 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">默认系统内核已支持</span><span lang=EN-US>quota</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>mount &#8211;o usrquota,grpquota /dev/sdb1 /mnt/d1 </span><span style="FONT-FAMILY: 宋体">或</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>mount &#8211;o remount,usrquota,grpquota /</span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt">也可以修改 /etc/fstab文件来启用每个文件系统的配额 ---- 添加选项usrquota,grpquota<br><span lang=EN-US></span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#init 1 <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">（进入单用户环境）</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#quotacheck &#8211;cvuga<span>&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">或</span><span lang=EN-US> quotacheck &#8211;cvag<span>&nbsp; </span>/dev/sdb1 &nbsp;&nbsp; （a代表all)</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#quotaon &#8211;a </span><span style="FONT-FAMILY: 宋体">激活</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>#edquota &#8211;u redhat<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">进</span><span lang=EN-US>VI</span><span style="FONT-FAMILY: 宋体">编缉用户配额</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">编缉用户可用的字节数，软性的，硬性的，文件数，软件性的，硬性的</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>quota &#8211;u redhat&nbsp;&nbsp; &nbsp;&nbsp; 查看用户磁盘配额</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>edquota &#8211;t<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">配置过期时间</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>quotaoff /mnt/sdb1&nbsp;&nbsp; <span></span></span><span style="FONT-FAMILY: 宋体">关闭磁盘配额</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>quotaon /mnt/sdb1<span>&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体">开启</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">关于</span><span lang=EN-US>putty 0.58</span><span style="FONT-FAMILY: 宋体">的简单设置</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt 29.25pt; TEXT-INDENT: -18pt"><span lang=EN-US>1.</span><span lang=EN-US style="FONT-SIZE: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-FAMILY: 宋体">修改语言环境</span><span lang=EN-US> LANG=zh_CN.utf8</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt 29.25pt; TEXT-INDENT: -18pt"><span lang=EN-US>2.</span><span lang=EN-US style="FONT-SIZE: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-FAMILY: 宋体">修改传输数据的字符集</span><span lang=EN-US>translation</span><span lang=EN-US style="FONT-FAMILY: Wingdings"><span>&#224;</span></span><span lang=EN-US>UTF8</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt 29.25pt; TEXT-INDENT: -18pt"><span lang=EN-US>3.</span><span lang=EN-US style="FONT-SIZE: 7pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-FAMILY: 宋体">修改外观</span><span lang=EN-US>appearance</span><span style="FONT-FAMILY: 宋体">字体</span><span lang=EN-US>font</span><span style="FONT-FAMILY: 宋体">为新宋体</span><span lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US>&nbsp;</span><span lang=EN-US style="FONT-SIZE: 12pt"><o:p></o:p></span></p>
&nbsp; <span lang=EN-US style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'">ls &#8211;ld<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size=4><span style="FONT-FAMILY: 宋体"> </span></font></span></span><font size=4><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">显示文件属主，详细信息</span></font> <br>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 17:59 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记四：管理磁盘文件系统</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30931.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 09:57:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30931.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30931.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30931.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30931.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30931.html</trackback:ping><description><![CDATA[mount 设备名 挂载点<br>mount /dev/fd0 /mnt/floppy<br>光驱（IDE） /dev/cdrom&nbsp;&nbsp;&nbsp; (/dev/hdx)<br>光驱（SCSI）/dev/scdN&nbsp;&nbsp;&nbsp;&nbsp; (N=0,1&#8230;)<br>硬盘（IDE） /dev/hdX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (X=a,b,c&#8230;)<br>硬盘（SCSI）/dev/sdX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (X=a,b,c&#8230;)<br>U盘&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/sdX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (X=a,b,c&#8230;)<br>&nbsp;<br>弹出光盘#eject<br>收回#eject &#8211;t<br>因为USB设备内置USB-SCSI转换接口，所以被认为是SCSI硬盘<br>#mkdir /mnt/u<br>#mount /dev/sda1 /mnt/u<br>默认内核已支持SCSI和USB接口<br>#modprobe usb-storage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 检查usb-storage模块是否已加载，否则无法自动识别USB设备<br>&nbsp;<br>#mount &#8211;t vfat /dev/hda2 /mnt/c<br>#mount &#8211;t ntfs /dev/hda3 /mnt/d 需重新编译内核才能支持NTFS<br>#mount &#8211;t iso9660 /dev/cdrom /mnt/cdrom<br>#mount &#8211;t vfat &#8211;o iocharset=gb2312 /dev/sdb1 /mnt/u<br>常用字符编码有gb2312和utf8<br>#mount /dev/sdb2 /mmt/d &#8211;o iocharset=utf8,ro,uid=redhat,umask=0077&nbsp; <span style="FONT-WEIGHT: bold"><br><br>Linux下使用U盘</span><br>#ls /dev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认设备已识别<br>#mount -o iocharset=gb2312 /dev/sda1<br>more后ctrl+F向下翻页（或空格）ctrl+b（上滚）<br>ls -a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示隐藏文件（以.开头的文件）<br>文件权限rws&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s表示执行这个程序的使用者，临时拥有和所有者一样的权力身份来执行该程序<br>cp -r 源&nbsp; 目的&nbsp;&nbsp;&nbsp;&nbsp; -r参数表示连子目录一起拷贝<br>rm -i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确认删除<br>&nbsp;&nbsp; -r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 删除子目录<br>&nbsp;&nbsp; -f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 强制删除<br>du&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 磁盘或目录使用了多少空间<br>df&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 磁盘或目录剩余可用空间<br>cat &gt;file1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 等价你输入文字，输完后ctrl+C或ctrl+D结束<br>&gt;&gt;符号表示在文件尾附加，&gt;符号表示创建新文件<br>less&nbsp; 可上下滚动文件内容<br>which&nbsp;&nbsp;&nbsp;&nbsp; 在$PATH设置的目录查找文件 
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 17:57 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记三：文件系统维护</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30930.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 09:56:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30930.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30930.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30930.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30930.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30930.html</trackback:ping><description><![CDATA[<p class=MsoNormal style="MARGIN: 11.25pt 11.25pt 0pt; TEXT-ALIGN: left" align=left><span lang=EN-US style="FONT-FAMILY: 宋体">ext2/ext3通过数据块储存文件<u1:p></u1:p></span><span lang=EN-US style="FONT-FAMILY: 宋体"><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">格式化文件系统：<u1:p></u1:p><span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">mkfs.ext3 &#8211;b 4096 &#8211;i 8192 &#8211;m 5 /dev/sdb4<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据块大小<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-i inode节点表示的字节数（或数据块大小）<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-m 5&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 为管理员保留的磁盘管理空间5%&nbsp;&nbsp; <u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">ls &#8211;lh /mnt/u<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">du &#8211;sh /mnt/u<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">df &#8211;lh<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">#tune2fs &#8211;l /dev/sdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 打印文件系统属性<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">#df<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">tune2fs 调整ext2/ext3文件系统特性的工具<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-l 查看文件系统信息<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-m&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 保留块百分比<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-c &lt;count&gt;&nbsp;&nbsp; 设置强制自检的挂载次数<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-i &lt;n day&gt;&nbsp;&nbsp; 设置强制自检的间隔时间<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">-j&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; ext2转成ext3<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">&nbsp;<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">tune2fs &#8211;c -1 /dev/sdb1 &nbsp;&nbsp; 不管挂载多小次都不自检<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">tune2fs &#8211;c -1 &#8211;i 0 /dev/sdb1&nbsp;&nbsp; 让分区永远不自检<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">#mkfs.ext2 /dev/sdb4&nbsp;&nbsp; 格式化成ext2<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">#tune2fs &#8211;j /dev/sdb4&nbsp;&nbsp; 转换为ext3<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">#df &#8211;T &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 查看分区信息<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">判断间<span lang=EN-US>ext2还是ext3:<u1:p></u1:p><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">tune2fs &#8211;l /dev/sdb1 | grep features<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">看<span lang=EN-US>Filesystem features： has_journal<u1:p></u1:p><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">是否有<span lang=EN-US>has_journal，有则是ext3文件系统<u1:p></u1:p><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">&nbsp;<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">grep &#8211;i &#8220;name&#8221;&nbsp;&nbsp; 不区分大小写<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">df &#8211;T 分区类型<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">fsck&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 检查文件系统数据完整性的工具<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">用法一、<span lang=EN-US>fsck &#8211;t ext2 /dev/sdb1<u1:p></u1:p><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">&nbsp;&nbsp; 二、fsck.ext3 /dev/sdb1<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">#more /etc/fstab<u1:p></u1:p><o:p></o:p></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span style="FONT-FAMILY: 宋体">如发现挂载选项有<span lang=EN-US>1或2，那么应该进行自检了<u1:p></u1:p><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 11.25pt 0pt"><span lang=EN-US style="FONT-FAMILY: 宋体">#fsck.ext3 &#8211;y /dev/sdb1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 自动修复错误</span></p>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 17:56 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30930.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记二：系统管理常用命令</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30929.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 09:54:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30929.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30929.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30929.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30929.html</trackback:ping><description><![CDATA[<span style="FONT-FAMILY: 宋体">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; useradd redhat</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; passwd redhat</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; su &#8211;</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; df &#8211;h 分区情况</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">6.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; du &#8211;sh&nbsp; /*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 统计文件或目录使用空间的大小</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">7.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fdisk &#8211;l&nbsp; /dev/sda</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">8.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; netconfig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 配置网络参数</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">9.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifconfig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示网络配置信息</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">10.&nbsp;&nbsp; service network restart</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">11.&nbsp;&nbsp; route &#8211;n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看路由信息（默认路由）</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">12.&nbsp;&nbsp; ping &#8211;b 192.168.0.255&nbsp;&nbsp;&nbsp; 扫描整个网段（检查活动主机）</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">13.&nbsp;&nbsp; ifconfig eth0 10.0.0.254 netmask 255.255.255.0&nbsp;&nbsp; 修改IP地址</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">14.&nbsp;&nbsp; ifconfig eth0显示指定网卡参数</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">15.&nbsp;&nbsp; 修改IP信息后会删除默认路由，需手工添加</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">route add default gw 192.168.0.1</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">16.&nbsp;&nbsp; ifconfig route 修改过的参数不会保存，重启后会消失</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">要用service network restart命令把参数保存到文件ifcfg-eth0</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">/etc/sysconfig/network-scripts/ifcfg-eth0</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">可以vi直接修改该文件，然后service network restart 重新启用网络服务</span><br style="FONT-FAMILY: 宋体"><br style="FONT-FAMILY: 宋体"><span style="FONT-FAMILY: 宋体">17.&nbsp;&nbsp; redhat-config-network-tui是redhat独有的配置工具，当用这个命令配置网络参数后，会写入到/etc/sysconfig/networking/profiles/目录里，并且比network-scripts/ifcfg-eth0优先，所以用过这个工具配置就不要再使用netconfig，或者先将profiles目录清空</span><span style="FONT-WEIGHT: bold; FONT-FAMILY: system">&nbsp;</span> 
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 17:54 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Linux实践工程师学习笔记一：用户环境</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30928.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Mon, 30 Jul 2007 09:52:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30928.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30928.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/30/30928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30928.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30928.html</trackback:ping><description><![CDATA[<p><span>用户环境</span></p>
<font size=4>
<p><span>#locale <span>&nbsp;&nbsp; </span></span>显示系统语言环境<span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>语言环境参数保存在<span>/etc/sysconfig/i18n</span>文件里</p>
<p><span>LANG　</span>最主要设置系统语言环境</p>
<p><span>#locale &#8211;a<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>查看系统对语言的支持情况</p>
<p><span>#LANG=zh_CN.GB2312<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>使系统支持以中文形式显示</p>
<p><span>kudzu<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>用来检测硬件</p>
<p><span>services kudzu start<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>重新检测硬件，让系统自动识别新硬件硬件信息保存在<span>/etc/sysconfig/hwconf</span>文件</p>
<p>由<span>kudzu</span>产生</p>
<p>&nbsp;</p>
<p><strong>修改系统服务启动脚本</strong></p>
<p><span>chkconfig kudzu &#8211;list<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span>检查某个服务状态<span>(</span>包括各个级别<span>0~6</span>的状态<span>)</span></p>
<p><span>setup<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span>配置系统服务，一个综合配置工具</p>
<p><span>chkconfig &#8211;list | more &nbsp;</span>检查系统所有服务的状态</p>
<p>所有服务通过<span>init</span>启动</p>
<p>有些是通过<span>xinetd</span>服务启动的，如<span>rsync</span></p>
<p>启动<span>rsync</span></p>
<p><span>chkconfig rsync on</span></p>
<p>当执行<span>service xinetd restart</span>时，其实是执行<span>/etc/init.d/xinetd</span>这个脚本</p>
<p>而这个脚本会去检查自己的配置目录<span>/etc/xinetd.d</span></p>
<p><span>/etc/rc0.d~/etc/rc6.d<span>&nbsp;&nbsp;&nbsp;&nbsp; </span></span>里面的文件连接到<span>../init.d/</span>具体的服务，如<span>/etc/init.d/kudzu</span></p>
<p><span>S</span>开头为启动，<span>K</span>为不启动</p>
<p><span>/etc/rc0.d~/etc/rc6.d ---</span><span>&#224;</span><span>rc.d/rc0.d~rc6.d</span></p>
<p>设置系统服务<span>ntsysv</span>命令<span>(</span>同<span>setup)</span></p>
</font>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-30 17:52 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/30/30928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RH033题库</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/26/30757.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Thu, 26 Jul 2007 15:51:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/26/30757.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30757.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/26/30757.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30757.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30757.html</trackback:ping><description><![CDATA[<p>Topic #12 <br>1) 如果文件 newdir/file2 不存在，但是目录newdir已存在，以下命令的结果是什么？<br>mv file1 newdir/file2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file1 将被移动到newdir并重命名为file2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file1将被复制到newdir并命名为file2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将报错，因为以上不是有效的命令。</p>
<p>2) 以下命令返回的结果是什么？<br>ls -F<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前目录中项的未排序列表。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前目录中有文件类型标记的项的列表。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前目录中项的列表，逗号分隔显示而非列显示。</p>
<p>3) 当前目录中项的列表，逗号分隔显示而非列显示。<br>ln file1 file2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flie2将成为file1的符号链接。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无论file1的尺寸是多少，file2将固定为5字节。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file1和file2有相同的inode号。</p>
<p>Topic #2 Linux文件系统结构 :</p>
<p>4) /etc 目录中典型的文件类型是什么？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 配置文件。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 杂项文件。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标准Linux命令。</p>
<p>5) 默认情况下，email 的收件箱存放在哪个目录？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/spool/mail<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用户主目录下的mail目录<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/mail</p>
<p>6) /lib 目录存放着：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文档资料。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 配置文件。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 共享对象。</p>
<p>Topic #3 权限和属性 :</p>
<p>7) 哪个命令可以列出文件权限？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chmod<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls -l<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perms</p>
<p>8) 在运行以下命令之后文件权限为 -rwxr-x---，用数字表示是多少？ 命令：<br>chmod g+s file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2750<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 750<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 751</p>
<p>9) 以下命令的执行结果是什么？<br>chattr +i file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 禁止任何修改，文件不可改动。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件将压缩后保存，进行读操作时会自动解压缩。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件只能使用插入模式打开；可以增加数据，但是不能修改和删除原有内容。 </p>
<p>Topic #4 操作软盘 :</p>
<p>10) 以下哪个命令允许已登录的非特权用户挂载软驱？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount /dev/fd0 /mnt/floppy<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mount /mnt/floppy<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 都不是。挂载软驱是超级用户的特权操作。</p>
<p>11) 运行以下命令：<br>tar cvf /dev/fd0 mydir<br>如何列出软盘上的文件列表？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tar tf /dev/fd0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls /dev/fd0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls /mnt/floppy</p>
<p>12) 你需要对软盘进行低级格式化。以下哪个命令可以实现？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fdformat /dev/fd0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fdformat /dev/fd0H1440<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkfs /dev/fd0</p>
<p>Topic #5 vi和vim编辑器 :</p>
<p>13) 当使用vi 编辑器时，以下哪个说法是对的？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在命令模式， 大写"O"将在当前行之下打开一行并进入插入模式。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在命令模式，小写"a"进入插入模式，可在当前游标位置之后扩写。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在命令模式， "dd4"命令删除4行。</p>
<p>14) 当使用vi编辑器时，在命令模式下，以下哪个命令的结果是删除4个字符？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4xw<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wwww<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4dw</p>
<p>15) 在vim中， 所搜索的字串会高亮显示。如何关掉高亮显示？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :set nohighlight<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :set nohl<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :nohl </p>
<p>Topic #6 正则表达式 :</p>
<p>16) 在命令行中使用命令进行文件名匹配时和作为正则表达式时，<br>abc*<br>会被如何处理？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在生成文件名时，将返回文件名以abc开头，有或没有后续字符的文件。在正则表达式中，将匹配ab开头，0或多个c字符的字符串。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 文件名生成和正则表达式将同等处理： 都会匹配以abc开头，有或没有后续字符的情况。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在文件名生成时，将返回文件名以abc开头，有或没有后续字符的文件。在正则表达式时， 将匹配abc开头，跟随一个或多个字符的字符串。</p>
<p>17) 在正则表达式中，以下表达式匹配结果是什么？<br>^^$$<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 因为多余的脱字符和美元符会规约为单个脱字符和美元符，所以匹配结果是空白行。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 匹配只有两个字符的行：一个脱字符和一个美元符。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 匹配只包括两个脱字符和两个美元符的行。</p>
<p>18) 解释以下命令中的搜索模式:<br>grep 'abc\{3,5\}d' file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 反斜杠意味着花括号是字符，所以结果是： abc，跟着是花括号中的3,5，然后是d。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在正则表达式中，花括号一般情况下没有特殊含义，但是当前面有反斜杠时有特殊意义。在这里是指搜索 ab,跟着3或5个c，然后是一个d 的字串。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在正则表达式中，花括号一般情况下没有特殊含义，但是当前面有反斜杠时有特殊意义。在这里是指搜索ab，跟着3，4或5个c，然后是一个d的字串。</p>
<p>Topic #7 标准输入输出系统 :</p>
<p>19) 以下命令的执行结果是什么？<br>ls -l /etc &gt; /tmp/etc.ls<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示/etc 目录和 /tmp/etc.ls 文件的详细列表。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 显示/etc 目录的详细列表，并重定向输出到 /tmp/etc.ls 文件。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 报告错误信息， 命令结构错误。</p>
<p>20) 以下哪个命令可以把ls命令的标准输出和标准错合并， 并将合并数据存放到两个单独的文件？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls -lR /data &gt; mylist1 &gt; mylist2 2&gt;&amp;1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls -lR /data 2&gt;&amp;1 | tee mylist1 &gt; mylist2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ls -lR /data | tee mylist 1 &gt; mylist2 2&gt;&amp;1</p>
<p>21) 运行以下命令时，标准输出和标准错会如何处理？<br>ls -lR /data 2&gt;&amp;1 &gt; /tmp/output<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标准输出和标准错存放到/tmp/output 文件。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标准输出存放到 /tmp/output 文件， 标准错显示在屏幕上。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标准错存放到 /tmp/output 文件， 标准输出显示在屏幕上。</p>
<p>Topic #9 Client-side Encrypted Communications :</p>
<p>25) 以下哪个命令允许你使用加密通道登录到另一台计算机？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; telnet<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ssh<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rlogin</p>
<p>26) 为了允许使用加密的ftp连接到你的计算机，你需要开启什么服务？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sshd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vsftpd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vsftpd (或其他FTP服务)和sshd</p>
<p>27) 你希望从计算机2自动登录到计算机1。你把来自计算机2 的密钥放在计算机1 的特定隐藏目录中。应该放入那个文件？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; authorized_keys<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; known_hosts<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id_dsa.pub</p>
<p>Topic #8 进程控制 :</p>
<p>22) 哪个命令显示当前系统运行的进程列表？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps ax<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proc -a<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stat</p>
<p>23) 在前台运行的任务如何切换到后台？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不可能实现。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用 Control-c 挂起任务并使用kill -TSTP PID命令放入后台，PID是进程号。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用Control-z挂起并运行bg命令在后台执行。</p>
<p>24) 在进程列表中， STAT列中的T表示什么？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 进程已经被挂起。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 进程已死。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 进程未占用内存页。 </p>
<p>Topic #10 bash命令行扩展 1. :</p>
<p>28) 你当前的工作目录中有以下文件：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; parrot </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; pelican </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; penguin </p>
<p>你输入：<br>ls -l pa<br>然后按tab键。当前shell是bash。 会发生什么？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;pa&#8221;将扩展为&#8220;parrot&#8221;。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 什么也没有。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8220;pa&#8221;将扩展为&#8220;parrot&#8221;, 然后执行ls命令。</p>
<p>29) 以下命令返回文件的列表。如何描述被列出的文件？<br>ls *.*<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前工作目录中所有文件的列表。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前目录中所有非隐藏文件的列表。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前工作目录中所有名称中有.的文件列表， 但是不包括.是起始字符的文件。</p>
<p>30) 使用以下缩写将执行什么命令？<br>!?cat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近一次cat命令。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近一次执行的名称中包括cat的命令。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近一次执行的命令行中包括cat的命令。</p>
<p>Topic #11 Shell 脚本 :</p>
<p>31) 以下shell 脚本中，date命令将执行多少次？<br>for i in a b; do date; done<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2</p>
<p>32) 以下shell 脚本中什么条件才会回显 hello？<br>if [ -d newitem ]; then echo hello; fi<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果 newitem 是一个目录。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总是回显。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从不，因为 netitem是非空字串。</p>
<p>33) 当在shell脚本中使用while/do循环时，continue语句的作用是什么？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 暂停一秒，然后继续执行。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 打断do循环, 跳至while语句重新判断条件语句。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 跳至done语句后继续执行。</p>
<p>Topic #12 任务自动化 :</p>
<p>34) 怎样调用at命令来提交一个需要在将来执行的的任务？<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 执行后将提示你输入要执行的命令和希望运行的时间。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 时间 时间是你希望运行命令的时间。将提示输入要执行的命令。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 时间 命令 This will run the 命令 at the time timespec. at 将在特定时间运行指定命令。</p>
<p>35) 如果在某用户的crontab文件中有以下记录， 该行中的命令多久执行一次？<br>30 4 * * 3 mycmd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每小时。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每周。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每年三月中每小时一次。</p>
<p>36) 如果在某用户的crontab文件中有以下记录， 该行中的命令多久执行一次？<br>*/5 * * * * mycmd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每5分钟一次。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每小时过5分钟。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不会运行， 格式无效。 </p>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30757.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-26 23:51 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/26/30757.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RH133题库</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/26/30754.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Thu, 26 Jul 2007 15:41:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/26/30754.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30754.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/26/30754.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30754.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30754.html</trackback:ping><description><![CDATA[<p>Topic #1 硬件支持 :</p>
<p>1) 以下哪个描述不正确?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i686和athlon内核可以支持最多4GB的内存, 但是如果使用bigmem内核, 只</p>
<p>要硬件支持物理地址扩展( Physical Address Extentions (PAE)), 系统可以支</p>
<p>持超过4GB的内存.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只有使用smp或bigmem内核才能支持使用超线程技术的多个虚拟CPU.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Red Hat Enterprise Linux 支持的硬件架构包括IA32, IA64, Alpha, </p>
<p>S/390, z系列, p系列, 和sparc平台.</p>
<p>2) 块设备和字符设备作为标识硬件的特殊设备, 在ls命令的列表模式中, 不显示</p>
<p>文件尺寸, 而是显示<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设备上可用空间数值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总线和设备号码<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主/副设备号码</p>
<p>Topic #2 安装 :</p>
<p>3) 当选择要安装的软件包时,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你可以选择单个软件包或包组, 但是没有更进一步的选择.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你可以选择单个软件包或包组; 如果选择后者, 你可以通过选择"细节"进</p>
<p>一步选择.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装程序不检查安装需要的磁盘空间.</p>
<p>4) 以下哪个关于安装的描述是错误的?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装时不能设置逻辑卷管理.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装时可以设置额外的非特权用户帐号.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无值守(kickstart)安装允许管理员无参与的安装操作系统,不需要交互.</p>
<p>5) 设置软件RAID分区<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装时不可能实现.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过简单的一个步骤即可设置软件RAID分区,并指派挂载点.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 多个步骤的过程: 划分多个软件RAID分区, 然后合并为RAID.</p>
<p>Topic #3 创建和维护文件系统 :</p>
<p>6) Red Hat 默认的文件系统是什么?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ext2, 第二版扩展Linux文件系统<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ext3, 第三版扩展Linux文件系统<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reiserfs, Reiser文件系统</p>
<p>7) IDE磁盘允许有多少分区?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在使用扩展分区的前提下最多允许63个, 此时主分区的数量为3个.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许最多15个分区.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许4个主分区, 另外一个扩展分区. 逻辑分区位于扩展分区内部. 允许最</p>
<p>多15个逻辑分区.</p>
<p>8) 解释文件系统的remount.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remount是mount命令的一个选项,允许系统管理员改变一个已挂载文件系统</p>
<p>的选项; 这些更改马上生效.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remount是一个用于强制卸载并挂载的命令, 尤其是用于清除NFS文件系统</p>
<p>上文件处理失效时.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remount是一个改变运行级别时发生的过程, 有效的重新应用/etc/fstab </p>
<p>中的设置选项.</p>
<p>Topic #4 X Window 系统管理 :</p>
<p>9) 关于配置X服务器的描述哪个是对的?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redhat-config-display命令不会创建 /etc/X11/XF86Config文件.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装时不能创建/etc/X11/XF86Config文件.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redhat-config-xfree86命令将检测硬件来决定写入/etc/X11/XF86Config的值.</p>
<p>10) 以下关于显示管理器(display manager)和桌面环境(desktop enviroment)之间的关系哪个是对的?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要使用KDE桌面, 必须使用kdm显示管理器.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无论使用哪个显示管理器, 你都可以启动KDE桌面或GNOME桌面.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当你使用switchdesk选择桌面环境时, 你也选择了对应的显示管理器.</p>
<p>11) 以下关于ssh使用Xauthority安全机制的描述哪个是错的?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ssh使用Xauthority 安全机制之前需要手动创建一个MIT magic cookie.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用带Xauthority安全机制的ssh, 需要使用运行在X Server上类似xterm的程序登录到远程系统并运行程序.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用带Xauthority安全机制的ssh, 所有在远程客户和本地X Server 之间的数据传送都是加密的.</p>
<p>Topic #6 用户和组管理 :</p>
<p>15) 系统管理员如何为非特权用户更改密码?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 果使用了shadow方式保存密码, 运行shadow username. 如果使用集中的 /etc/passwd 文件, 运行 passwd username. . 两种方式都要求管理员提供新密码.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行passwd username. 这需要超级用户提供新密码.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要改变非特权用户的密码需要知道原先的密码. 系统管理员可以运行 passwd username. 这需要超级用户提供现在的密码和新密码.</p>
<p>16) /etc/shadow 文件:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是必须的, 用于保存加密形式的密码; /etc/passwd 文件中的第二个字段已经无效.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是可选的,管理员可选择是否使用.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比使用单一的 /etc/passwd 文件安全性差.</p>
<p>17) W运行以下命令的正确结果是:<br>usermod -G sysadmns digby<br>usermod -G websters digby<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digby 是websters 组的成员.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digbiy 是 sysadmns 和 websters 的成员.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; digby 的主组(根据/etc/passwd文件指定)是websters. </p>
<p>Topic #5 系统初始化 :</p>
<p>12) 以下哪个是正确的启动顺序?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIOS 加载启动载入程序, 载入程序加载内核, 内核运行初始化进程.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIOS 加载内核, 内核加载启动载入程序, 载入程序加载初始化进程.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIOS加载初始化进程, 进程加载启动载入程序, 载入程序加载内核.</p>
<p>13) 在默认的Red Hat 系统中, /sbin/init 运行的第一个程序是什么?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc.sysinit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/rc.d/rc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /sbin/initdefault</p>
<p>14) 运行级别S和运行级别1有什么不同?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 没有不同, 完全一样.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行级别1运行/etc/rc.d/rc1.d 中的脚本, 运行级别S不运行.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行级别S运行rc.sysinit, 但是运行级别1不运行.</p>
<p>Topic #8 网络设置和故障排除 :</p>
<p>21) 第一个以太网接口的配置文件是:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/sysconfig/ifcfg-eth0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/sysconfig/ifcfg-eth1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/sysconfig/network-scripts/ifcfg-eth0</p>
<p>22) 哪个命令不修改第一个以太接口的配置文件?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ifconfig<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; netconfig<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redhat-config-network</p>
<p>23) 在哪里设置默认路由?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只能在全局配置文件 /etc/sysconfig/network 中.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只能在网络接口配置文件中.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在全局配置文件 /etc/sysconfig/network 中或在只能在网络接口配置文件中.</p>
<p>Topic #7 客户端网络验证 :</p>
<p>18) 以下哪个不是常用的验证模式?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NIS<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LDAP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autofs</p>
<p>19) 以下哪个是配置网络验证模式的工具?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; systemauth<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userconfig<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; authconfig</p>
<p>20) NISDOMAIN变量在哪里设置和保存?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/sysconfig/network<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/sysconfig/network-scripts/ifcfg-interface, where interface is an interface name, such as eth0. /etc/sysconfig/network-scripts/ifcfg-interface, interface类似于 eth0 等.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/yp/securenets </p>
<p>Topic #9 打印 :</p>
<p>24) 在当前红帽版本中支持哪些打印子系统?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printcap<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CUPS<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BSD</p>
<p>25) 从用户的角度，系统中可用的用户接口是哪个?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LPRng 和CUPS<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BSD 和LPRng<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BSD 和System V</p>
<p>26) 红帽系统中的打印守护进程是:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cupsd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; spoold</p>
<p>Topic #11 系统任务自动化 :</p>
<p>30) /etc/crontab 文件中有几个字段?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6个: 5个用于指定时间, 一个用于指定命令, 和用户的crontab文件一样.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7个: 五个用于指定时间, 一个指定授权运行命令的帐户, 一个指定运行的命令;比用户的crontab文件多一个字段.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7个: 五个用于指定时间, 一个用于接收未重定向的标准输出和标准错误的邮件地址, 一个用于指定命令;比用户的crontab文件多一个字段.</p>
<p>31) 默认情况下, /etc/crontab 和哪些命令相关?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一系列提供系统日常维护的命令,如makewhatis, tmpwatch,和logrotate等。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一系列runparts命令, 这些命令会按次序运行一些提供系统日常维护的其他命令,如makewhatis, tmpwatch, 和logrotate等.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认情况下, 文件中没有命令, 以便于系统管理员修改文件.</p>
<p>32) 为了防止用户使用at命令:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在/etc/group 文件中将用户加入atdeny 组.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把用户加入 /etc/at.deny文件.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果没有/etc/at.deny文件, 必须将允许的用户加入/etc/at.allow文件.</p>
<p>Topic #10 系统日志和监控 :</p>
<p>27) 多数守护进程把日志消息记录在:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/log/daemonname daemonname 是守护进程的名字<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/log/messages<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /var/log/dmesg</p>
<p>28) 以下哪个关于系统日志的描述是错的?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; klogd 记录内核消息; syslogd 记录其他日志消息.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 系统日志子系统可以通过网络向另一台日志服务器发送消息.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/syslog.conf 文件中的以下行表示不记录关于邮件服务的任何消息:<br>mail.* /var/log/maillog</p>
<p>29) 平均负载是衡量CPU繁忙程度的方式.它怎样度量?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 非计数器的中断数除以分钟数, 除以1000(或1024,取决于Linux或Unix的版本)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在一段时间内进程表中的平均进程数.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在一段时间内处于运行状态的平均进程数.<br></p>
<p><br>Topic #11 系统任务自动化 :</p>
<p>30) /etc/crontab 文件中有几个字段?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6个: 5个用于指定时间, 一个用于指定命令, 和用户的crontab文件一样.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7个: 五个用于指定时间, 一个指定授权运行命令的帐户, 一个指定运行的命令;比用户的crontab文件多一个字段.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7个: 五个用于指定时间, 一个用于接收未重定向的标准输出和标准错误的邮件地址, 一个用于指定命令;比用户的crontab文件多一个字段.</p>
<p>31) 默认情况下, /etc/crontab 和哪些命令相关?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一系列提供系统日常维护的命令,如makewhatis, tmpwatch,和logrotate等。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一系列runparts命令, 这些命令会按次序运行一些提供系统日常维护的其他命令,如makewhatis, tmpwatch, 和logrotate等.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认情况下, 文件中没有命令, 以便于系统管理员修改文件.</p>
<p>32) 为了防止用户使用at命令:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在/etc/group 文件中将用户加入atdeny 组.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把用户加入 /etc/at.deny文件.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果没有/etc/at.deny文件, 必须将允许的用户加入/etc/at.allow文件.<br><br>Topic #12 RPM :</p>
<p>33) 以下哪个不是rpm命令的功能?<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装软件.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查询已安装软件的数据库.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可选的, 交互的配置新安装的包软件, 询问系统管理员关于安装的问题, 如是否需要安装文件保存在其他目录.</p>
<p>34) 以下两个命令有什么区别?<br>rpm -Uhv mypkg.1.0-2.noarch.rpm<br>rpm -Fhv mypkg.1.0-2.noarch.rpm</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -U参数反安装包, -F参数在已经安装以前版本的包的前提下升级包软件.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Both will upgrade the mypkg package if it is already installed, but if the mypkg package is not installed, the -U version will install it, whereas the -F version will not. 在已经安装包的话都会更新包, 但是如果包未安装, -U将安装而-F则不会.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -U参数将反安装包, 而-F参数进行安装测试, 报告安装错误而不实际安装.</p>
<p>35) 在以下查询命令中, 查询内容是什么?<br>rpm -qp mypkg.1.0-0.noarch.rpm<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 包文件.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当前系统中的RPM数据库.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不是有效查询. <br></p>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/30754.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-26 23:41 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/26/30754.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux面试题参考答案</title><link>http://www.cnitblog.com/CrackSky/archive/2007/07/22/30419.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Sun, 22 Jul 2007 11:40:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/07/22/30419.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/30419.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/07/22/30419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/30419.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/30419.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: linux面试题参考答案&nbsp;一．填空题：1. 在Linux系统中，以 文件 方式访问设备 。2. Linux内核引导时，从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成，分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为： 硬链接 和 符号链接 。6. 超级块包含了i节点表 和 ...&nbsp;&nbsp;<a href='http://www.cnitblog.com/CrackSky/archive/2007/07/22/30419.html'>阅读全文</a><img src ="http://www.cnitblog.com/CrackSky/aggbug/30419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-07-22 19:40 <a href="http://www.cnitblog.com/CrackSky/archive/2007/07/22/30419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Iptables rules</title><link>http://www.cnitblog.com/CrackSky/archive/2007/03/16/24104.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Fri, 16 Mar 2007 03:42:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/03/16/24104.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/24104.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/03/16/24104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/24104.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/24104.html</trackback:ping><description><![CDATA[
		<p>Iptables v1.2.7a</p>
		<p>Usage:  iptables -[AD] chain rule-specificatio [options]<br />            iptables -[RI] chain rulenum rule-specification [options]<br />            iptables -D chain rulenum [options]<br />            iptables -[LFZ] [chain] [options]<br />            iptables -[NX] chain<br />            iptables -E old-chain-name new-chain-name<br />            iptables -P chain target [options]<br />            iptables -h (print this help information)</p>
		<p>Commands:<br />Either long or short options are allowed.<br />  --append  -A chain   Append to chain<br />  --delete    -D chain   Delete matching rule from chain<br />  --delete    -D chain rulenum Delete rule rulenum(1 = first) from chain<br />  --insert     -I chain [rulenum] Insert in chain as rulenum(default 1=first)<br />  --replace  -R chain rulenum Replace rule rulenum(1 = first) in chain<br />  --list         -L [chain]  List the rules in a chain or all chains<br />  --flush      -F [chain]  Delete all rules in chain or all chains<br />  --zero      -Z [chain]  Zero counters in chain or all chains<br />  --new      -N chain  Create a new user-defined chain<br />  --delete-chain<br />                  -X [chain]  Deletc a user-defined chain<br />  --policy    -P chain target Change policy on chain to target<br />  --rename-chain<br />                  -E old-chain new-chain<br />                             Change chain name,(moving any references)</p>
		<p>Options:<br />  --proto            -p [!] proto  protocol:by number or name,eg.'tcp'<br />  --source          -s [!] address[/mask]<br />                                              source specification<br />  --destination    -d [!] address[/mask]<br />                                              destination specification<br />  --in-interface    -i [1] input name[+]<br />                                               network interface name ([+] for wildcard)<br />  --jump              -j                   target targetd for rule (may load extension)<br />  --match            -m                  match extended match (may load extension)<br />  --numeric         -n                   numeric output of addresses and ports<br />  --out-interface  -o [!] output name[+]<br />                                               network interface name ([+] for wildcard)<br />  --table              -t                   table table to manipulate (default:'filter')<br />  --verbose         -v                  verbose mode<br />  --line-numbers                        print line numbers when listing<br />  --exact             -x                  expand numbers (display exact values)<br />[!] --fragment      -f                    match seconde or further fragments only<br />    --modprobe=&lt;command&gt;         try to insert modeules using this command<br />    --set-counters PKTS BYTES    set the counter during insert/append<br />[!] --version       -V                   print package version.<br /></p>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/24104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-03-16 11:42 <a href="http://www.cnitblog.com/CrackSky/archive/2007/03/16/24104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux系统管理命令中文详解</title><link>http://www.cnitblog.com/CrackSky/archive/2007/03/06/23680.html</link><dc:creator>黑虫</dc:creator><author>黑虫</author><pubDate>Tue, 06 Mar 2007 12:12:00 GMT</pubDate><guid>http://www.cnitblog.com/CrackSky/archive/2007/03/06/23680.html</guid><wfw:comment>http://www.cnitblog.com/CrackSky/comments/23680.html</wfw:comment><comments>http://www.cnitblog.com/CrackSky/archive/2007/03/06/23680.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/CrackSky/comments/commentRss/23680.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/CrackSky/services/trackbacks/23680.html</trackback:ping><description><![CDATA[
		<p align="center">Linux系统管理命令中文详解<br /><br />(作者：KornLee      转载：<a href="http://www.linuxsir.org">http://www.linuxsir.org</a>)</p>
		<p>    whois </p>
		<p>　　功能说明：查找并显示用户信息。 </p>
		<p>　　语　　法：whois [帐号名称] </p>
		<p>　　补充说明：whois指令会去查找并显示指定帐号的用户相关信息，因为它是到Network Solutions的WHOIS数据库去查找，所以该帐号名称必须在上面注册方能寻获，且名称没有大小写的差别。 </p>
		<p>　　--------------------------------------------------------- </p>
		<p>　　whoami </p>
		<p>　　功能说明：先似乎用户名称。 </p>
		<p>　　语　　法：whoami [--help][--version] </p>
		<p>　　补充说明：显示自身的用户名称，本指令相当于执行"id -un"指令。 </p>
		<p>　　参　　数： <br />　　--help 　在线帮助。 <br />　　--version 　显示版本信息。 </p>
		<p>　　--------------------------------------------------- </p>
		<p>　　who </p>
		<p>　　功能说明：显示目前登入系统的用户信息。 </p>
		<p>　　语　　法：who [-Himqsw][--help][--version][am i][记录文件] </p>
		<p>　　补充说明：执行这项指令可得知目前有那些用户登入系统，单独执行who指令会列出登入帐号，使用的 <br />　　终端机，登入时间以及从何处登入或正在使用哪个X显示器。 </p>
		<p>　　参　　数： <br />　　-H或--heading 　显示各栏位的标题信息列。 <br />　　-i或-u或--idle 　显示闲置时间，若该用户在前一分钟之内有进行任何动作，将标示成"."号，如果该用户已超过24小时没有任何动作，则标示出"old"字符串。 <br />　　-m 　此参数的效果和指定"am i"字符串相同。 <br />　　-q或--count 　只显示登入系统的帐号名称和总人数。 <br />　　-s 　此参数将忽略不予处理，仅负责解决who指令其他版本的兼容性问题。 <br />　　-w或-T或--mesg或--message或--writable 　显示用户的信息状态栏。 <br />　　--help 　在线帮助。 <br />　　--version 　显示版本信息。 </p>
		<p>　　---------------------------------------------------- </p>
		<p>　　w </p>
		<p>　　功能说明：显示目前登入系统的用户信息。 </p>
		<p>　　语　　法：w [-fhlsuV][用户名称] </p>
		<p>　　补充说明：执行这项指令可得知目前登入系统的用户有那些人，以及他们正在执行的程序。单独执行w <br />　　指令会显示所有的用户，您也可指定用户名称，仅显示某位用户的相关信息。 </p>
		<p>　　参　　数： <br />　　-f 　开启或关闭显示用户从何处登入系统。 <br />　　-h 　不显示各栏位的标题信息列。 <br />　　-l 　使用详细格式列表，此为预设值。 <br />　　-s 　使用简洁格式列表，不显示用户登入时间，终端机阶段作业和程序所耗费的CPU时间。 <br />　　-u 　忽略执行程序的名称，以及该程序耗费CPU时间的信息。 <br />　　-V 　显示版本信息。 </p>
		<p>　　----------------------------------------------------- </p>
		<p>　　vlock(virtual console lock) </p>
		<p>　　功能说明：锁住虚拟终端。 </p>
		<p>　　语　　法：vlock [-achv] </p>
		<p>　　补充说明：执行vlock指令可锁住虚拟终端，避免他人使用。 </p>
		<p>　　参　　数： <br />　　-a或--all 　锁住所有的终端阶段作业，如果您在全屏幕的终端中使用本参数，则会将用键盘 <br />　　切换终端机的功能一并关闭。 <br />　　-c或--current 　锁住目前的终端阶段作业，此为预设值。 <br />　　-h或--help 　在线帮助。 <br />　　-v或--version 　显示版本信息。 </p>
		<p>　　-------------------------------------------------------- </p>
		<p>　　usermod </p>
		<p>　　功能说明：修改用户帐号。 </p>
		<p>　　语　　法：usermod [-LU][-c &lt;备注&gt;][-d &lt;登入目录&gt;][-e &lt;有效期限&gt;][-f &lt;缓冲天数&gt;][-g &lt;群组&gt;][-G &lt;群组&gt;][-l &lt;帐号名称&gt;][-s ][-u ][用户帐号] </p>
		<p>　　补充说明：usermod可用来修改用户帐号的各项设定。 </p>
		<p>　　参　　数： <br />　　-c&lt;备注&gt; 　修改用户帐号的备注文字。 <br />　　-d登入目录&gt; 　修改用户登入时的目录。 <br />　　-e&lt;有效期限&gt; 　修改帐号的有效期限。 <br />　　-f&lt;缓冲天数&gt; 　修改在密码过期后多少天即关闭该帐号。 <br />　　-g&lt;群组&gt; 　修改用户所属的群组。 <br />　　-G&lt;群组&gt; 　修改用户所属的附加群组。 <br />　　-l&lt;帐号名称&gt; 　修改用户帐号名称。 <br />　　-L 　锁定用户密码，使密码无效。 <br />　　-s 　修改用户登入后所使用的shell。 <br />　　-u 　修改用户ID。 <br />　　-U 　解除密码锁定。 </p>
		<p>　　------------------------------------------------------- </p>
		<p>　　userdel </p>
		<p>　　功能说明：删除用户帐号。 </p>
		<p>　　语　　法：userdel [-r][用户帐号] </p>
		<p>　　补充说明：userdel可删除用户帐号与相关的文件。若不加参数，则仅删除用户帐号，而不删除相关文件。 </p>
		<p>　　参　　数： <br />　　-f 　删除用户登入目录以及目录中所有文件。 </p>
		<p>　　---------------------------------------------------------- </p>
		<p>　　userconf </p>
		<p>　　功能说明：用户帐号设置程序。 </p>
		<p>　　语　　法：userconf [--addgroup &lt;群组&gt;][--adduser &lt;用户ID&gt;&lt;群组&gt;&lt;用户名称&gt;][--delgroup &lt;群组&gt;][--deluser &lt;用户ID&gt;][--help] </p>
		<p>　　补充说明：userconf实际上为linuxconf的符号连接，提供图形界面的操作方式，供管理员建立与管理各类帐号。若不加任何参数，即进入图形界面。 </p>
		<p>　　参　　数： <br />　　--addgroup&lt;群组&gt; 　新增群组。 <br />　　--adduser&lt;用户ID&gt;&lt;群组&gt;&lt;用户名称&gt; 　新增用户帐号。 <br />　　--delgroup&lt;群组&gt; 　删除群组。 <br />　　--deluser&lt;用户ID&gt; 　删除用户帐号。 <br />　　--help 　显示帮助。 </p>
		<p>　　------------------------------------------------------ </p>
		<p>　　useradd </p>
		<p>　　功能说明：建立用户帐号。 </p>
		<p>　　语　　法：useradd [-mMnr][-c &lt;备注&gt;][-d &lt;登入目录&gt;][-e &lt;有效期限&gt;][-f &lt;缓冲天数&gt;][-g &lt;群组&gt;][-G &lt;群组&gt;][-s ][-u ][用户帐号] 或 useradd -D [-b][-e &lt;有效期限&gt;][-f &lt;缓冲天数&gt;][-g &lt;群组&gt;][-G &lt;群组&gt;][-s ] </p>
		<p>　　补充说明：useradd可用来建立用户帐号。帐号建好之后，再用passwd设定帐号的密码．而可用userdel删除帐号。使用useradd指令所建立的帐号，实际上是保存在/etc/passwd文本文件中。 </p>
		<p>　　参　　数： <br />　　-c&lt;备注&gt; 　加上备注文字。备注文字会保存在passwd的备注栏位中。　 <br />　　-d&lt;登入目录&gt; 　指定用户登入时的启始目录。 <br />　　-D 　变更预设值． <br />　　-e&lt;有效期限&gt; 　指定帐号的有效期限。 <br />　　-f&lt;缓冲天数&gt; 　指定在密码过期后多少天即关闭该帐号。 <br />　　-g&lt;群组&gt; 　指定用户所属的群组。 <br />　　-G&lt;群组&gt; 　指定用户所属的附加群组。 <br />　　-m 　自动建立用户的登入目录。 <br />　　-M 　不要自动建立用户的登入目录。 <br />　　-n 　取消建立以用户名称为名的群组． <br />　　-r 　建立系统帐号。 <br />　　-s　 　指定用户登入后所使用的shell。 <br />　　-u 　指定用户ID。 </p>
		<p>　　---------------------------------------------------- </p>
		<p>　　uname </p>
		<p>　　功能说明：显示系统信息。 </p>
		<p>　　语　　法：uname [-amnrsv][--help][--version] </p>
		<p>　　补充说明：uname可显示电脑以及操作系统的相关信息。 </p>
		<p>　　参　　数： <br />　　-a或--all 　显示全部的信息。 <br />　　-m或--machine 　显示电脑类型。 <br />　　-n或-nodename 　显示在网络上的主机名称。 <br />　　-r或--release 　显示操作系统的发行编号。 <br />　　-s或--sysname 　显示操作系统名称。 <br />　　-v 　显示操作系统的版本。 <br />　　--help 　显示帮助。 <br />　　--version 　显示版本信息。 </p>
		<p>　　----------------------------------------------------- </p>
		<p>　　top </p>
		<p>　　功能说明：显示，管理执行中的程序。 </p>
		<p>　　语　　法：top [bciqsS][d &lt;间隔秒数&gt;][n &lt;执行次数&gt;] </p>
		<p>　　补充说明：执行top指令可显示目前正在系统中执行的程序，并通过它所提供的互动式界面，用热键加以管理。 </p>
		<p>　　参　　数： <br />　　b 　使用批处理模式。 <br />　　c 　列出程序时，显示每个程序的完整指令，包括指令名称，路径和参数等相关信息。 <br />　　d&lt;间隔秒数&gt; 　设置top监控程序执行状况的间隔时间，单位以秒计算。 <br />　　i 　执行top指令时，忽略闲置或是已成为Zombie的程序。 <br />　　n&lt;执行次数&gt; 　设置监控信息的更新次数。 <br />　　q 　持续监控程序执行的状况。 <br />　　s 　使用保密模式，消除互动模式下的潜在危机。 <br />　　S 　使用累计模式，其效果类似ps指令的"-S"参数。 </p>
		<p>　　------------------------------------------------------ </p>
		<p>　　tload </p>
		<p>　　功能说明：显示系统负载状况。 </p>
		<p>　　语　　法：tload [-V][-d &lt;间隔秒数&gt;][-s &lt;刻度大小&gt;][终端机编号] </p>
		<p>　　补充说明：tload指令使用ASCII字符简单地以文字模式显示系统负载状态。假设不给予终端机编号，则会在执行tload指令的终端机显示负载情形。 </p>
		<p>　　参　　数： <br />　　-d&lt;间隔秒数&gt; 　设置tload检测系统负载的间隔时间，单位以秒计算。 <br />　　-s&lt;刻度大小&gt; 　设置图表的垂直刻度大小，单位以列计算。 <br />　　-V 　显示版本信息。 </p>
		<p>　　------------------------------------------------------ </p>
		<p>　　swatch(simple watcher) </p>
		<p>　　功能说明：系统监控程序。 </p>
		<p>　　语　　法：swatch [-A &lt;分隔字符&gt;][-c &lt;设置文件&gt;][-f &lt;记录文件&gt;][-I &lt;分隔字符&gt;][-P &lt;分隔字符&gt;][-r &lt;时间&gt;][-t &lt;记录文件&gt;] </p>
		<p>　　补充说明：swatch可用来监控系统记录文件，并在发现特定的事件时，执行指定的动作。swatch所监控的事件以及对应事件的动作都存放在 swatch的配置文件中。预设的配置文件为拥护根目录下的.swatchrc。然而在Red Hat Linux的预设用户根目录下并没有.swatchrc配置文件，您可将/usr/doc/swatch- 2.2/config_files/swatchrc.personal文件复制到用户根目录下的.swatchrc，然后修改.swatchrc所要监控的事件及执行的动作。 </p>
		<p>　　参　　数： <br />　　-A&lt;分隔字符&gt; 　预设配置文件中，动作的分隔字符，预设为逗号。 <br />　　-c设置文件&gt; 　指定配置文件，而不使用预设的配置文件。 <br />　　-f记录文件&gt; 　检查指定的记录文件，检查完毕后不会继续监控该记录文件。 <br />　　-I分隔字符&gt; 　指定输入记录的分隔字符，预设为换行字符。 <br />　　-P分隔字符&gt; 　指定配置文件中，事件的分隔字符，预设为逗号。 <br />　　-r时间&gt; 　在指定的时间重新启动。 <br />　　-t&lt;记录文件&gt; 　检查指定的记录文件，并且会监控加入记录文件中的后继记录。 </p>
		<p>　　---------------------------------------------------------- </p>
		<p>　　suspend </p>
		<p>　　功能说明：暂停执行shell。 </p>
		<p>　　语　　法：suspend [-f] </p>
		<p>　　补充说明：suspend为shell内建指令，可暂停目前正在执行的shell。若要恢复，则必须使用SIGCONT信息。 </p>
		<p>　　参　　数： <br />　　-f 　若目前执行的shell为登入的shell，则suspend预设无法暂停此shell。若要强迫暂停登入的shell，则必须使用-f参数。 </p>
		<p>　　----------------------------------------------------- </p>
		<p>　　sudo </p>
		<p>　　功能说明：以其他身份来执行指令。 </p>
		<p>　　语　　法：sudo [-bhHpV][-s ][-u &lt;用户&gt;][指令] 或 sudo [-klv] </p>
		<p>　　补充说明：sudo可让用户以其他的身份来执行指定的指令，预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo，则会发出警告的邮件给管理员。用户使用sudo时，必须先输入密码，之后有5分钟的有效期限，超过期限则必须重新输入密码。 <br />　　参　　数： <br />　　-b 　在后台执行指令。 <br />　　-h 　显示帮助。 <br />　　-H 　将HOME环境变量设为新身份的HOME环境变量。 <br />　　-k 　结束密码的有效期限，也就是下次再执行sudo时便需要输入密码。 <br />　　-l 　列出目前用户可执行与无法执行的指令。 <br />　　-p 　改变询问密码的提示符号。 <br />　　-s 　执行指定的shell。 <br />　　-u&lt;用户&gt; 　以指定的用户作为新的身份。若不加上此参数，则预设以root作为新的身份。 <br />　　-v 　延长密码有效期限5分钟。 <br />　　-V 　显示版本信息。 </p>
		<p>　　-------------------------------------------------------- </p>
		<p>　　su(super user) </p>
		<p>　　功能说明：变更用户身份。 </p>
		<p>　　语　　法：su [-flmp][--help][--version][-][-c &lt;指令&gt;][-s ][用户帐号] </p>
		<p>　　补充说明：su可让用户暂时变更登入的身份。变更时须输入所要变更的用户帐号与密码。 </p>
		<p>　　参　　数： <br />　　-c&lt;指令&gt;或--command=&lt;指令&gt; 　执行完指定的指令后，即恢复原来的身份。 <br />　　-f或--fast 　适用于csh与tsch，使shell不用去读取启动文件。 <br />　　-.-l或--login 　改变身份时，也同时变更工作目录，以及HOME,SHELL,USER,LOGNAME。此外，也会变更PATH变量。 <br />　　-m,-p或--preserve-environment 　变更身份时，不要变更环境变量。 <br />　　-s或--shell= 　指定要执行的shell。 <br />　　--help 　显示帮助。 <br />　　--version 　显示版本信息。 <br />　　[用户帐号] 　指定要变更的用户。若不指定此参数，则预设变更为root。 </p>
		<p>　　------------------------------------------------------ </p>
		<p>　　sliplogin </p>
		<p>　　功能说明：将SLIP接口加入标准输入。 </p>
		<p>　　语　　法：sliplogin [用户名称] </p>
		<p>　　补充说明：sliplogin可将SLIP接口加入标准输入，把一般终端机的连线变成SLIP连线。通常可用来建立SLIP服务器，让远端电脑以 SLIP连线到服务器。sliplogin活去检查/etc/slip/slip.hosts文件中是否有相同的用户名称。通过检查后， sliplogin会调用执行shell script来设置IP地址，子网掩码等网络界面环境。此shell script通常是/etc/slip/slip.login。 </p>
		<p>　　--------------------------------------------------- </p>
		<p>　　shutdown </p>
		<p>　　功能说明：系统关机指令。 </p>
		<p>　　语　　法：shutdown [-efFhknr][-t 秒数][时间][警告信息] </p>
		<p>　　补充说明：shutdown指令可以关闭所有程序，并依用户的需要，进行重新开机或关机的动作。 </p>
		<p>　　参　　数： <br />　　-c 　当执行"shutdown -h 11:50"指令时，只要按+键就可以中断关机的指令。 <br />　　-f 　重新启动时不执行fsck。 <br />　　-F 　重新启动时执行fsck。 <br />　　-h 　将系统关机。 <br />　　-k 　只是送出信息给所有用户，但不会实际关机。 <br />　　-n 　不调用init程序进行关机，而由shutdown自己进行。 <br />　　-r 　shutdown之后重新启动。 <br />　　-t&lt;秒数&gt; 　送出警告信息和删除信息之间要延迟多少秒。 <br />　　[时间] 　设置多久时间后执行shutdown指令。 <br />　　[警告信息] 　要传送给所有登入用户的信息。 </p>
		<p>　　----------------------------------------------------------- </p>
		<p>　　screen </p>
		<p>　　功能说明：多重视窗管理程序。 </p>
		<p>　　语　　法：screen [-AmRvx -ls -wipe][-d &lt;作业名称&gt;][-h &lt;行数&gt;][-r &lt;作业名称&gt;][-s ][-S &lt;作业名称&gt;] </p>
		<p>　　补充说明：screen为多重视窗管理程序。此处所谓的视窗，是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时，才有可能用到screen程序。 </p>
		<p>　　参　　数： <br />　　-A 　将所有的视窗都调整为目前终端机的大小。 <br />　　-d&lt;作业名称&gt; 　将指定的screen作业离线。 <br />　　-h&lt;行数&gt; 　指定视窗的缓冲区行数。 <br />　　-m 　即使目前已在作业中的screen作业，仍强制建立新的screen作业。 <br />　　-r&lt;作业名称&gt; 　恢复离线的screen作业。 <br />　　-R 　先试图恢复离线的作业。若找不到离线的作业，即建立新的screen作业。 <br />　　-s 　指定建立新视窗时，所要执行的shell。 <br />　　-S&lt;作业名称&gt; 　指定screen作业的名称。 <br />　　-v 　显示版本信息。 <br />　　-x 　恢复之前离线的screen作业。 <br />　　-ls或--list 　显示目前所有的screen作业。 <br />　　-wipe 　检查目前所有的screen作业，并删除已经无法使用的screen作业。 </p>
		<p>　　---------------------------------------------------- </p>
		<p>　　rwho </p>
		<p>　　功能说明：查看系统用户。 </p>
		<p>　　语　　法：rwho [-a] </p>
		<p>　　补充说明：rwho指令的效果类似who指令，但它会显示局域网里所有主机的用户。主机必须提供rwhod常驻服务的功能，方可使用rwho指令。 </p>
		<p>　　参　　数： <br />　　-a 　列出所有的用户，包括闲置时间超过1个小时以上的用户。 </p>
		<p>　　---------------------------------------------------- </p>
		<p>　　rsh(remote shell) </p>
		<p>　　功能说明：远端登入的Shell。 </p>
		<p>　　语　　法：rsh [-dn][-l &lt;用户名称&gt;][主机名称或IP地址][执行指令] </p>
		<p>　　补充说明：rsh提供用户环境，也就是Shell，以便指令能够在指定的远端主机上执行。 </p>
		<p>　　参　　数： <br />　　-d 　使用Socket层级的排错功能。 <br />　　-l&lt;用户名称&gt; 　指定要登入远端主机的用户名称。 <br />　　-n 　把输入的指令号向代号为/dev/null的特殊外围设备。 </p>
		<p>　　--------------------------------------------------------- </p>
		<p>　　rlogin(remote login) </p>
		<p>　　功能说明：远端登入。 <br />　　语　　法：rlogin [-8EL][-e &lt;脱离字符&gt;][-l &lt;用户名称&gt;][主机名称或IP地址] </p>
		<p>　　补充说明：执行rlogin指令开启终端机阶段操作，并登入远端主机。 </p>
		<p>　　参　　数： <br />　　-8 　允许输入8位字符数据。 <br />　　-e脱离字符&gt; 　设置脱离字符。 <br />　　-E 　滤除脱离字符。 <br />　　-l用户名称&gt; 　指定要登入远端主机的用户名称。 <br />　　-L 　使用litout模式进行远端登入阶段操作。 </p>
		<p>　　------------------------------------------------------- </p>
		<p>　　renice </p>
		<p>　　功能说明：调整优先权。 </p>
		<p>　　语　　法：renice [优先等级][-g &lt;程序群组名称&gt;...][-p &lt;程序识别码&gt;...][-u &lt;用户名称&gt;...] </p>
		<p>　　补充说明：renice指令可重新调整程序执行的优先权等级。预设是以程序识别码指定程序调整其优先权，您亦可以指定程序群组或用户名称调整优先权等级，并修改所有隶属于该程序群组或用户的程序的优先权。等级范围从-20--19，只有系统管理者可以改变其他用户程序的优先权，也仅有系统管理者可以设置负数等级。 <br />　　参　　数： <br />　　-g &lt;程序群组名称&gt; 　使用程序群组名称，修改所有隶属于该程序群组的程序的优先权。 <br />　　-p &lt;程序识别码&gt; 　改变该程序的优先权等级，此参数为预设值。 <br />　　-u &lt;用户名称&gt; 　指定用户名称，修改所有隶属于该用户的程序的优先权。 </p>
		<p>　　------------------------------------------------------- </p>
		<p>　　reboot </p>
		<p>　　功能说明：重新开机。 </p>
		<p>　　语　　法：dreboot [-dfinw] </p>
		<p>　　补充说明：执行reboot指令可让系统停止运作，并重新开机。 </p>
		<p>　　参　　数： <br />　　-d 　重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有"-n"参数的效果。 <br />　　-f 　强制重新开机，不调用shutdown指令的功能。 <br />　　-i 　在重开机之前，先关闭所有网络界面。 <br />　　-n 　重开机之前不检查是否有未结束的程序。 <br />　　-w 　仅做测试，并不真的将系统重新开机，只会把重开机的数据写入/var/log目录下的wtmp记录文件。 </p>
		<p>    ------------------------------------------------------- </p>
		<p>    pstree(process status tree) </p>
		<p>　　功能说明：以树状图显示程序。 </p>
		<p>　　语　　法：pstree [-acGhlnpuUV][-H &lt;程序识别码&gt;][&lt;程序识别码&gt;/&lt;用户名称&gt;] </p>
		<p>　　补充说明：pstree指令用ASCII字符显示树状结构，清楚地表达程序间的相互关系。如果不指定程序识别码或用户名称，则会把系统启动时的第一个程序视为基层，并显示之后的所有程序。若指定用户名称，便会以隶属该用户的第一个程序当作基层，然后显示该用户的所有程序。 </p>
		<p>　　参　　数： <br />　　-a 　显示每个程序的完整指令，包含路径，参数或是常驻服务的标示。 <br />　　-c 　不使用精简标示法。 <br />　　-G 　使用VT100终端机的列绘图字符。 <br />　　-h 　列出树状图时，特别标明现在执行的程序。 <br />　　-H&lt;程序识别码&gt; 　此参数的效果和指定"-h"参数类似，但特别标明指定的程序。 <br />　　-l 　采用长列格式显示树状图。 <br />　　-n 　用程序识别码排序。预设是以程序名称来排序。 <br />　　-p 　显示程序识别码。 <br />　　-u 　显示用户名称。 <br />　　-U 　使用UTF-8列绘图字符。 <br />　　-V 　显示版本信息。 </p>
		<p>　　--------------------------------------------------------- </p>
		<p>　　ps(process status) </p>
		<p>　　功能说明：报告程序状况。 </p>
		<p>　　语　　法：ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C &lt;指令名称&gt;][-g &lt;群组名称&gt;][-G &lt;群组识别码&gt;][-p &lt;程序识别码&gt;][p &lt;程序识别码&gt;][-s &lt;阶段作业&gt;][-t &lt;终端机编号&gt;][t &lt;终端机编号&gt;][-u &lt;用户识别码&gt;][-U &lt;用户识别码&gt;][U &lt;用户名称&gt;][-&lt;程序识别码&gt;][--cols &lt;每列字符数&gt;][--columns &lt;每列字符数&gt;][--cumulative][--deselect][--forest][--headers][--help][-- info][--lines &lt;显示列数&gt;][--no-headers][--group &lt;群组名称&gt;][-Group &lt;群组识别码&gt;][--pid &lt;程序识别码&gt;][--rows &lt;显示列数&gt;][--sid &lt;阶段作业&gt;][--tty &lt;终端机编号&gt;][--user &lt;用户名称&gt;][--User &lt;用户识别码&gt;][--version][--width &lt;每列字符数&gt;] </p>
		<p>　　补充说明：ps是用来报告程序执行状况的指令，您可以搭配kill指令随时中断，删除不必要的程序。 </p>
		<p>　　参　　数： <br />　　-a 　显示所有终端机下执行的程序，除了阶段作业领导者之外。 <br />　　a 　显示现行终端机下的所有程序，包括其他用户的程序。 <br />　　-A 　显示所有程序。 <br />　　-c 　显示CLS和PRI栏位。 <br />　　c 　列出程序时，显示每个程序真正的指令名称，而不包含路径，参数或常驻服务的标示。 <br />　　-C&lt;指令名称&gt; 　指定执行指令的名称，并列出该指令的程序的状况。 <br />　　-d 　显示所有程序，但不包括阶段作业领导者的程序。 <br />　　-e 　此参数的效果和指定"A"参数相同。 <br />　　e 　列出程序时，显示每个程序所使用的环境变量。 <br />　　-f 　显示UID,PPIP,C与STIME栏位。 <br />　　f 　用ASCII字符显示树状结构，表达程序间的相互关系。 <br />　　-g&lt;群组名称&gt; 　此参数的效果和指定"-G"参数相同，当亦能使用阶段作业领导者的名称来指定。 <br />　　g 　显示现行终端机下的所有程序，包括群组领导者的程序。 <br />　　-G&lt;群组识别码&gt; 　列出属于该群组的程序的状况，也可使用群组名称来指定。 <br />　　h 　不显示标题列。 <br />　　-H 　显示树状结构，表示程序间的相互关系。 <br />　　-j或j 　采用工作控制的格式显示程序状况。 <br />　　-l或l 　采用详细的格式来显示程序状况。 <br />　　L 　列出栏位的相关信息。 <br />　　-m或m 　显示所有的执行绪。 <br />　　n 　以数字来表示USER和WCHAN栏位。 <br />　　-N 　显示所有的程序，除了执行ps指令终端机下的程序之外。 <br />　　-p&lt;程序识别码&gt; 　指定程序识别码，并列出该程序的状况。 <br />　　p&lt;程序识别码&gt; 　此参数的效果和指定"-p"参数相同，只在列表格式方面稍有差异。 <br />　　r 　只列出现行终端机正在执行中的程序。 <br />　　-s&lt;阶段作业&gt; 　指定阶段作业的程序识别码，并列出隶属该阶段作业的程序的状况。 <br />　　s 　采用程序信号的格式显示程序状况。 <br />　　S 　列出程序时，包括已中断的子程序资料。 <br />　　-t&lt;终端机编号&gt; 　指定终端机编号，并列出属于该终端机的程序的状况。 <br />　　t&lt;终端机编号&gt; 　此参数的效果和指定"-t"参数相同，只在列表格式方面稍有差异。 <br />　　-T 　显示现行终端机下的所有程序。 <br />　　-u&lt;用户识别码&gt; 　此参数的效果和指定"-U"参数相同。 <br />　　u 　以用户为主的格式来显示程序状况。 <br />　　-U&lt;用户识别码&gt; 　列出属于该用户的程序的状况，也可使用用户名称来指定。 <br />　　U&lt;用户名称&gt; 　列出属于该用户的程序的状况。 <br />　　v 　采用虚拟内存的格式显示程序状况。 <br />　　-V或V 　显示版本信息。 <br />　　-w或w 　采用宽阔的格式来显示程序状况。　 <br />　　x 　显示所有程序，不以终端机来区分。 <br />　　X 　采用旧式的Linux i386登陆格式显示程序状况。 <br />　　-y 　配合参数"-l"使用时，不显示F(flag)栏位，并以RSS栏位取代ADDR栏位　。 <br />　　-&lt;程序识别码&gt; 　此参数的效果和指定"p"参数相同。 <br />　　--cols&lt;每列字符数&gt; 　设置每列的最大字符数。 <br />　　--columns&lt;每列字符数&gt; 　此参数的效果和指定"--cols"参数相同。 <br />　　--cumulative 　此参数的效果和指定"S"参数相同。 <br />　　--deselect 　此参数的效果和指定"-N"参数相同。 <br />　　--forest 　此参数的效果和指定"f"参数相同。 <br />　　--headers 　重复显示标题列。 <br />　　--help 　在线帮助。 <br />　　--info 　显示排错信息。 <br />　　--lines&lt;显示列数&gt; 　设置显示画面的列数。 <br />　　--no-headers 　此参数的效果和指定"h"参数相同，只在列表格式方面稍有差异。 <br />　　--group&lt;群组名称&gt; 　此参数的效果和指定"-G"参数相同。 <br />　　--Group&lt;群组识别码&gt; 　此参数的效果和指定"-G"参数相同。 <br />　　--pid&lt;程序识别码&gt; 　此参数的效果和指定"-p"参数相同。 <br />　　--rows&lt;显示列数&gt; 　此参数的效果和指定"--lines"参数相同。 <br />　　--sid&lt;阶段作业&gt; 　此参数的效果和指定"-s"参数相同。 <br />　　--tty&lt;终端机编号&gt; 　此参数的效果和指定"-t"参数相同。 <br />　　--user&lt;用户名称&gt; 　此参数的效果和指定"-U"参数相同。 <br />　　--User&lt;用户识别码&gt; 　此参数的效果和指定"-U"参数相同。 <br />　　--version 　此参数的效果和指定"-V"参数相同。 <br />　　--widty&lt;每列字符数&gt; 　此参数的效果和指定"-cols"参数相同。 </p>
		<p>　　---------------------------------------------------------- </p>
		<p>　　procinfo(process information) </p>
		<p>　　功能说明：显示系统状态。 </p>
		<p>　　语　　法：procinfo [-abdDfhimsSv][-F &lt;输出文件&gt;][-n &lt;间隔秒数&gt;] </p>
		<p>　　补充说明：procinfo指令从/proc目录里读取相关数据，将数据妥善整理过后输出到标准输出设备。 </p>
		<p>　　参　　数： <br />　　-a 　显示所有信息。 <br />　　-b 　显示磁盘设备的区块数目，而非存取数目。 <br />　　-d 　显示系统信息每秒间的变化差额，而非总和的数值。本参数必须配合"-f"参数使用 <br />　　-D 　此参数效果和指定"-d"参数类似，但内存和交换文件的信息为总和数值。 <br />　　-f 　进入全画面的互动式操作界面。 <br />　　-F&lt;输出文件&gt; 　把信息状态输出到文件保存起来，而非预设的标准输出设备。 <br />　　-h 　在线帮助。 <br />　　-i 　显示完整的IRP列表。 <br />　　-m 　显示系统模块和外围设备等相关信息。 <br />　　-n间隔秒数&gt; 　设置全画面互动模式的信息更新速度，单位以秒计算。 <br />　　-s 　显示系统的内存，磁盘空间，IRP和DMA等信息，此为预设值。 <br />　　-S 　搭配参数"-d"或"-D"使用时，每秒都会更新信息，不论是否有使用参数"-n"。 <br />　　-v 　显示版本信息。 </p>
		<p>　　---------------------------------------------------- </p>
		<p>　　nice </p>
		<p>　　功能说明：设置优先权。 </p>
		<p>　　语　　法：nice [-n &lt;优先等级&gt;][--help][--version][执行指令] </p>
		<p>　　补充说明：nice指令可以改变程序执行的优先权等级。 </p>
		<p>　　参　　数： 　-n&lt;优先等级&gt;或-&lt;优先等级&gt;或--adjustment=&lt;优先等级&gt; 　设置欲执行的指令的优先权等级。等级的范围从-20－19，其中-20最高，19最低，只有系统管理者可以设置负数的等级。 <br />　　--help 　在线帮助。 <br />　　--version 　显示版本信息。 </p>
		<p>　　---------------------------------------------------- </p>
		<p>　　newgrp </p>
		<p>　　功能说明：登入另一个群组。 </p>
		<p>　　语　　法：newgrp [群组名称] </p>
		<p>　　补充说明：newgrp指令类似login指令，当它是以相同的帐号，另一个群组名称，再次登入系统。欲使用newgrp指令切换群组，您必须是该群组的用户，否则将无法登入指定的群组。单一用户要同时隶属多个群组，需利用交替用户的设置。若不指定群组名称，则newgrp指令会登入该用户名称的预设群组。 </p>
		<p>　　--------------------------------------------------- </p>
		<p>　　logrotate </p>
		<p>　　功能说明：管理记录文件。 </p>
		<p>　　语　　法：logrotate [-?dfv][-s &lt;状态文件&gt;][--usage][配置文件] </p>
		<p>　　补充说明：使用logrotate指令，可让你轻松管理系统所产生的记录文件。它提供自动替换，压缩，删除和邮寄记录文件，每个记录文件都可被设置成每日，每周或每月处理，也能在文件太大时立即处理。您必须自行编辑，指定配置文件，预设的配置文件存放在/etc目录下，文件名称为 logrotate.conf。 </p>
		<p>　　参　　数： <br />　　-?或--help 　在线帮助。 <br />　　-d或--debug 　详细显示指令执行过程，便于排错或了解程序执行的情况。 <br />　　-f或--force 　强行启动记录文件维护操作，纵使logrotate指令认为没有需要亦然。 <br />　　-s&lt;状态文件&gt;或--state=&lt;状态文件&gt; 　使用指定的状态文件。 <br />　　-v或--version 　显示指令执行过程。 <br />　　-usage 　显示指令基本用法。 </p>
		<p>　　-------------------------------------------------------- </p>
		<p>　　logout </p>
		<p>　　功能说明：退出系统。 </p>
		<p>　　语　　法：logout </p>
		<p>　　补充说明：logout指令让用户退出系统，其功能和login指令相互对应。 </p>
		<p>　　--------------------------------------------------- </p>
		<p>　　logname </p>
		<p>　　功能说明：显示用户名称。 </p>
		<p>　　语　　法：logname [--help][--version] </p>
		<p>　　补充说明：执行logname指令，它会显示目前用户的名称。 </p>
		<p>　　参　　数： <br />　　--help 　在线帮助。 <br />　　--vesion 　显示版本信息。 </p>
		<p>　　-------------------------------------------------------- </p>
		<p>　　login </p>
		<p>　　功能说明：登入系统。 </p>
		<p>　　语　　法：login </p>
		<p>　　补充说明：login指令让用户登入系统，您亦可通过它的功能随时更换登入身份。在Slackware发行版中，您可在指令后面附加欲登入的用户名称，它会直接询问密码，等待用户输入。当/etc目录里含名称为nologin的文件时，系统只root帐号登入系统，其他用户一律不准登入。 </p>
		<p>　　------------------------------------------------------- </p>
		<p>　　lastb </p>
		<p>　　功能说明：列出登入系统失败的用户相关信息。 </p>
		<p>　　语　　法：lastb [-adRx][-f &lt;记录文件&gt;][-n &lt;显示列数&gt;][帐号名称...][终端机编号...] </p>
		<p>　　补充说明：单独执行lastb指令，它会读取位于/var/log目录下，名称为btmp的文件，并把该文件内容 <br />　　记录的登入失败的用户名单，全部显示出来。 </p>
		<p>　　参　　数： <br />　　-a 　把从何处登入系统的主机名称或IP地址显示在最后一行。 <br />　　-d 　将IP地址转换成主机名称。 <br />　　-f&lt;记录文件&gt; 　指定记录文件。 <br />　　-n&lt;显示列数&gt;或-&lt;显示列数&gt; 　设置列出名单的显示列数。 <br />　　-R 　不显示登入系统的主机名称或IP地址。 <br />　　-x 　显示系统关机，重新开机，以及执行等级的改变等信息。 </p>
		<p>　　------------------------------------------------------- </p>
		<p>　　last </p>
		<p>　　功能说明：列出目前与过去登入系统的用户相关信息。 </p>
		<p>　　语　　法：last [-adRx][-f &lt;记录文件&gt;][-n &lt;显示列数&gt;][帐号名称...][终端机编号...] </p>
		<p>　　补充说明：单独执行last指令，它会读取位于/var/log目录下，名称为wtmp的文件，并把该给文件的内容记录的登入系统的用户名单全部显示出来。 </p>
		<p>　　参　　数： <br />　　-a 　把从何处登入系统的主机名称或IP地址，显示在最后一行。 <br />　　-d 　将IP地址转换成主机名称。 <br />　　-f &lt;记录文件&gt; 　指定记录文件。 <br />　　-n &lt;显示列数&gt;或-&lt;显示列数&gt; 　设置列出名单的显示列数。 <br />　　-R 　不显示登入系统的主机名称或IP地址。 <br />　　-x 　显示系统关机，重新开机，以及执行等级的改变等信息。 </p>
		<p>　　--------------------------------------------------------- </p>
		<p>　　kill </p>
		<p>　　功能说明：删除执行中的程序或工作。 </p>
		<p>　　语　　法：kill [-s &lt;信息名称或编号&gt;][程序]　或　kill [-l &lt;信息编号&gt;] </p>
		<p>　　补充说明：kill可将指定的信息送至程序。预设的信息为SIGTERM(15)，可将指定程序终止。若仍无法终止该程序，可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看。 <br />　　参　　数： <br />　　-l &lt;信息编号&gt; 　若不加&lt;信息编号&gt;选项，则-l参数会列出全部的信息名称。 <br />　　-s &lt;信息名称或编号&gt; 　指定要送出的信息。 <br />　　[程序] 　[程序]可以是程序的PID或是PGID，也可以是工作编号。 </p>
		<p>　　----------------------------------------------------------- </p>
		<p>　　id </p>
		<p>　　功能说明：显示用户的ID，以及所属群组的ID。 </p>
		<p>　　语　　法：id [-gGnru][--help][--version][用户名称] </p>
		<p>　　补充说明：id会显示用户以及所属群组的实际与有效ID。若两个ID相同，则仅显示实际ID。若仅指定用户名称，则显示目前用户的ID。 </p>
		<p>　　参　　数： <br />　　-g或--group 　显示用户所属群组的ID。 <br />　　-G或--groups 　显示用户所属附加群组的ID。 <br />　　-n或--name 　显示用户，所属群组或附加群组的名称。 <br />　　-r或--real 　显示实际ID。 <br />　　-u或--user 　显示用户ID。 <br />　　-help 　显示帮助。 <br />　　-version 　显示版本信息。 </p>
		<p>　　------------------------------------------------------------ </p>
		<p>　　halt </p>
		<p>　　功能说明：关闭系统。 </p>
		<p>　　语　　法：halt [-dfinpw] </p>
		<p>　　补充说明：halt会先检测系统的runlevel。若runlevel为0或6，则关闭系统，否则即调用shutdown来关闭系统。 </p>
		<p>　　参　　数： <br />　　-d 　不要在wtmp中记录。 <br />　　-f 　不论目前的runlevel为何，不调用shutdown即强制关闭系统。 <br />　　-i 　在halt之前，关闭全部的网络界面。 <br />　　-n 　halt前，不用先执行sync。 <br />　　-p 　halt之后，执行poweroff。 <br />　　-w 　仅在wtmp中记录，而不实际结束系统。 </p>
		<p>　　---------------------------------------------------------- </p>
		<p>　　groupmod(group modify) </p>
		<p>　　功能说明：更改群组识别码或名称。 </p>
		<p>　　语　　法：groupmod [-g &lt;群组识别码&gt; &lt;-o&gt;][-n &lt;新群组名称&gt;][群组名称] </p>
		<p>　　补充说明：需要更改群组的识别码或名称时，可用groupmod指令来完成这项工作。 </p>
		<p>　　参　　数： <br />　　-g &lt;群组识别码&gt; 　设置欲使用的群组识别码。 <br />　　-o 　重复使用群组识别码。 <br />　　-n &lt;新群组名称&gt; 　设置欲使用的群组名称。 </p>
		<p>　　-------------------------------------------------------- </p>
		<p>　　groupdel(group delete) </p>
		<p>　　功能说明：删除群组。 </p>
		<p>　　语　　法：groupdel [群组名称] </p>
		<p>　　补充说明：需要从系统上删除群组时，可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户，则必须先删除这些用户后，方能删除群组。 </p>
		<p>　　---------------------------------------------------------- </p>
		<p>　　gitps(gnu interactive tools process status) </p>
		<p>　　功能说明：报告程序状况。 </p>
		<p>　　语　　法：gitps [acefgjlnrsSTuvwxX][p &lt;程序识别码&gt;][t &lt;终端机编号&gt;][U &lt;帐号名称&gt;] </p>
		<p>　　补充说明：gitps是用来报告并管理程序执行的指令，基本上它就是通过ps指令来报告，管理程序，也能通过gitps指令随时中断，删除不必要的程序。因为gitps指令会去执行ps指令，所以其参数和ps指令相当类似。 </p>
		<p>　　参　　数： <br />　　a 　显示　现行终端机下的所有程序，包括其他用户的程序。 <br />　　c 　列出程序时，显示每个程序真正的指令名称，而不包含路径，参数或是常驻服务的标示． <br />　　e 　列出程序时，显示每个程序所使用的环境变量。 <br />　　f 　用ASCII字符显示树状结构，表达程序间的相互关系。 <br />　　g 　显示现行终端机下的所有程序，包括群组领导者的程序。 <br />　　j 　采用工作控制的格式来显示程序状况。 <br />　　l 　采用纤细的格式来显示程序状况。 <br />　　n 　以数字来表示USER和WCHAN栏位。 <br />　　p&lt;程序识别码&gt; 　指定程序识别码，并列出该程序的状况。 <br />　　r 　只列出现行终端机正在执行中的程序。 <br />　　s 　采用程序信号的格式显示程序状况。 <br />　　S 　列出程序时，包括已中断的子程序信息。 <br />　　t&lt;终端机机标号&gt; 　指定终端机编号，并列出属于该终端机的程序的状况。 <br />　　T 　显示现行终端机下的所有程序。 <br />　　u 　以用户为主的格式来显示程序状况。 <br />　　U&lt;帐号名称&gt; 　列出属于该用户的程序的状况。 <br />　　v 　采用虚拟内存的格式显示程序状况。 <br />　　w 　采用宽阔的格式来显示程序状况。 <br />　　x 　显示所有程序，不以终端机来区分。 <br />　　X 　采用旧试的Linux i386登陆格式显示程序状况。 </p>
		<p>　　---------------------------------------------------------- </p>
		<p>　　fwhois </p>
		<p>　　功能说明：查找并显示用户信息。 </p>
		<p>　　语　　法：fwhios [帐号名称] </p>
		<p>　　补充说明：本指令的功能有点类似finger指令，它会去查找并显示指定帐号的用户相关信息。不同之处在于fwhois指令是到Network Solutions的WHOIS数据库去查找，该帐号名称必须有在上面注册才能寻获，且名称没有大小写的差别。 </p>
		<p>　　------------------------------------------------------ </p>
		<p>　　free </p>
		<p>　　功能说明：显示内存状态。 </p>
		<p>　　语　　法： free [-bkmotV][-s &lt;间隔秒数&gt;] </p>
		<p>　　补充说明：free指令会显示内存的使用情况，包括实体内存，虚拟的交换文件内存，共享内存区段，以及系统核心使用的缓冲区等。 </p>
		<p>　　参　　数： <br />　　-b 　以Byte为单位显示内存使用情况。 <br />　　-k 　以KB为单位显示内存使用情况。 <br />　　-m 　以MB为单位显示内存使用情况。 <br />　　-o 　不显示缓冲区调节列。 <br />　　-s&lt;间隔秒数&gt; 　持续观察内存使用状况。 <br />　　-t 　显示内存总和列。 <br />　　-V 　显示版本信息。 </p>
		<p>　　----------------------------------------------------- </p>
		<p>　　finger </p>
		<p>　　功能说明：查找并显示用户信息。 </p>
		<p>　　语　　法：finger [-lmsp][帐号名称...] </p>
		<p>　　补充说明：finger指令会去查找，并显示指定帐号的用户相关信息，包括本地与远端主机的用户皆可，帐号名称没有大小写的差别。单独执行 finger指令，它会显示本地主机现在所有的用户的登陆信息，包括帐号名称，真实姓名，登入终端机，闲置时间，登入时间以及地址和电话。 </p>
		<p>　　参　　数： <br />　　-l 　列出该用户的帐号名称，真实姓名，用户专属目录，登入所用的Shell，登入时间，转信地址，电子邮件状态，还有计划文件和方案文件内容。 <br />　　-m 　排除查找用户的真实姓名。 <br />　　-s 　列出该用户的帐号名称，真实姓名，登入终端机，闲置时间，登入时间以及地址和电话。 <br />　　-p 　列出该用户的帐号名称，真实姓名，用户专属目录，登入所用的Shell，登入时间，转信地址，电子邮件状态，但不显示该用户的计划文件和方案文件内容。 <br /></p>
<img src ="http://www.cnitblog.com/CrackSky/aggbug/23680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/CrackSky/" target="_blank">黑虫</a> 2007-03-06 20:12 <a href="http://www.cnitblog.com/CrackSky/archive/2007/03/06/23680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>