??xml version="1.0" encoding="utf-8" standalone="yes"?>
auto eth0
iface eth0 inet static
address ip
gateway default gateway
netmask default netmask
]]>
get -r -p -np -k http://xxx.com/abc/
-r, --recursiveQ递归Q?nbsp;
specify recursive download.Q指定递归下蝲Q?br />
-k, --convert-linksQ{换链接)
make links in downloaded HTML point to local files.Q将下蝲的HTML面中的链接转换为相寚w接即本地链接Q?br style="padding-bottom: 0px; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 宋体; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" />
-p, --page-requisitesQ页面必需元素Q?nbsp;
get all images, etc. needed to display HTML page.Q下载所有的囄{页面显C所需的内容)
-np, --no-parentQ不q溯至父U)
don't ascend to the parent directory.
另外断点l传?nc参数 日志 ?o参数
]]>
from:
http://blog.chinaunix.net/space.php?uid=233938&do=blog&cuid=211941
from: ibm developerworks
看了很多E\上有關於 SELinux 的文章以及到書店ȝ了一下有提到 SELinux ?
Linux 書籍
看完了的感覺不是很好
q乎都沒提到什麼是 SELinuxQ?strong style="color: black; background-color: #ffff66;">SELinux
的運作機制是什|
大部份提到的解決辦法Q都?“請把 SELinux 停用”
這樣也只不過是治標而不是治本的Ҏ
* /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
若要停用 SELinuxQ? 則把 SELINUX=enforcing Ҏ SELINUX=disabled 後重新開即?/p>
* sestatus
查看 SELinux
是否啟用及目前狀態如何的指o
?
1.SELinux
Disabled
$ sestatus
SELinux status: disabled
2.SELinux
Enabled
mode: enforcing
Policy: targeted
$ sestatus
SELinux status: disabled
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 18
Policy from config file:targeted
Policy booleans:
...skip...
httpd_builtin_scripting active
httpd_disable_trans active
httpd_enable_cgi active
httpd_enable_homedirs active
httpd_ssi_exec active
httpd_tty_comm inactive
httpd_unified active
...skip...
* system-config-securitylevel
圖Ş化介面的工具E式Q除了可以設定防火牆(iptables)外,也可以設?SELinux
* setenforce
?SELinux
啟動?enforcing 的狀況下Q可以執?“setenforce 0“ 來將 SELinux 暫時停用
* getsebool and setsebool
/etc/selinux/targeted/booleans
這個檔裡面攄是各?Policy 的布林|不過Q在 FC5 之後Q已E沒有這個檔了,你可以用
$ getsebool -a
來查看所有的 booleans a定狀?br>
或是使用?
$ setsebool -P httpd_disable_trans 1
來將 httpd_disable_trans 停用Q這樣其實也就{於是停?SELinux ?httpd 的保護了
* chcon
傳箔?chmod 指o是用來設定檔案或目錄的權限的Q而同樣的 chcon 指o則是用來a定 SELinux 檔案或目錄?content 標籤?/p>
* fixfiles
fixfiles check 指o可以用來檢查檔案或目錄的 SELinux content
fixfiles restore 指o則可以用來修?還原)檔案或目錄的 SELinux content
fixfiles relabel 則是會重C?還原)所有的檔案及目錄的 SELinux content
前面提到Q我們可以將 SELinux 停用(disabled) 或是埯 “setsebool -P httpd_disable_trans 1“ 來停?SELinux ?httpd 的保P這樣Q?strong style="color: black; background-color: #a0ffff;">httpd 可以跟q_一樣的運作?br> 那如果我們要啟用 SELinux 且讓 httpd 也可以正帔R作呢Q?br> 舉個例子來?
[root@acer:~] pwd
/root
[root@acer:~] echo "" > index.php
[root@acer:~] mv index.php /var/www/html/
`index.php' -> `/var/www/html/index.php'
[root@acer:~]
在上q的指o中,我在 root ?$HOME 目錄下產生了一?index.php 的檔案,內容為顯C?phpinfo
然後把再把這個檔案搬Ud /var/www/html 目錄底下Q然後開 browser 來瀏覽
http://localhost/index.php 這個頁面,得到的畫面卻?
Forbidden
You don't have permission to access /index.php on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
沒錯Q無法存取,我們來看一看到底是怎麼回事:
[root@acer:~] ls -Z /var/www/html/index.php
-rw-r--r-- root root root:object_r:user_home_t /var/www/html/index.php
[root@acer:~]
[root@acer:~] ls -Z /var/www/
drwxr-xr-x root root system_u:object_r:httpd_sys_script_exec_t cgi-bin/
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t error/
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t html/
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t icons/
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t manual/
因為 index.php ?content type ?user_home_t 而不?httpd_sys_content_t 所以無法存?br> 因此Q我們可以執?
[root@acer:~] chcon -u system_u -t httpd_sys_content_t /var/www/html/index.php
[root@acer:~] ls -Z /var/www/html/index.php
-rw-r--r-- root root system_u:object_r:httpd_sys_content_t /var/www/html/index.php
請再開一?browser (or reload)Q現在是不是可以正常存取 index.php 頁面了呢Q?/p>
再看另一個例?
[root@acer:~] wget http://wordpress.org/latest.tar.gz
--13:36:59-- http://wordpress.org/latest.tar.gz
=> `latest.tar.gz'
Resolving wordpress.org... 72.232.44.122
Connecting to wordpress.org|72.232.44.122|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/octet-stream]
[ ] 505,475 90.49K/s
13:37:07 (90.28 KB/s) - `latest.tar.gz' saved [505475]
[root@acer:~] tar zxf latest.tar.gz
[root@acer:~] mv wordpress /var/www/html/wp
`wordpress' -> `/var/www/html/wp'
瀏覽 http://localhost/wp/ 的結果一樣被拒絕存取Q因?content 的問?/p>
[root@acer:~] ls -dZ /var/www/html/wp
drwxr-xr-x 1025 1011 root:object_r:user_home_t /var/www/html/wp/
同樣的,我們可以用 chone -R 指o來修?content
[root@acer:~] chcon -R -u system_u -t httpd_sys_content_t /var/www/html/wp/
或是使用 fixfiles restore 指o也可?/p>
[root@acer:~] fixfiles restore /var/www/html/wp/
修正過後的狀?
[root@acer:~] ls -dZ /var/www/html/wp
drwxr-xr-x apache apache system_u:object_r:httpd_sys_content_t /var/www/html/wp/
http://linux.vbird.org/somepaper/20050801_SELinux.pdf
http://fedoraproject.org/wiki/SELinux
http://fedora.redhat.com/docs/selinux-faq/
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/
http://www.redhat.com/magazine/001nov04/features/selinux/
http://www.redhat.com/magazine/006apr05/features/selinux/
http://www.tresys.com/selinux/index.shtml
http://www.nsa.gov/selinux/
Linux文gpȝl所有者(ownerQ、所有组Qowning groupQ、其它(otherQ每一cȝ户分别定义了的rwx权限Q且是彼此独立的。虽然Linux有也LinuxҎ文g权限的功能支持,但要像在Windows下把权限控制可以_到用户和l(如允许某个文件允许某一Ҏ用户修改Q允许某一l的用户可以查看{)一Lz,q些昄q不够。o人欣慰的是,Linux也有ACLs权限控制的支持,在Linux中ACLs在ReiserFS,Ext2,Ext3,JFS,XFS{文件系l中受到支持?/p>
修改文gACLQsetfacl -m u:tux:rw file允许用户tuxdfile文g
查看文gACLQgetfacl file
使用了ACL的文Ӟ通过ls -l命o来查看权限时Q后面会有一?#8220;+”Pgroup的权限会有变化(使用了ACL mask权限Q?/p>
文g使用ACL后,权限角色有如下几U类型:
最化ACLQ?/p>
owning user
owning group
other
扩展ACLQ?/p>
可以包含若干个对象:named userQ设|单独用L讉K权限Q、named groupQ设|单独群l的讉K权限Q?/p>
包含一个maskQ限制named users ?named groups的权限)
举例说明如下Q?/p>
owner user::rwx
named user user:name:rwx
owning group group ::rwx
named group group :nam e:rwx
mask mask::rwx
other other::rwx
定义在owner、other里的权限一直都是有效的Q其它权限可能用效或者被隐蔽?/p>
named user与named group的值是否生效,q要看其gmask?#8220;?#8221;|即mask也要有该权限Q才能生效?/p>
mask的g般是与owning group一致的Q可以通过修改owning group的值来修改mask?/p>
举例说明如下Q?/p>
linux-canbeing:/home/canbeing/temp # getfacl my
# file: my
# owner: canbeing
# group: users
user::rw-
user:canbeing:rwx#effective:r-x w没有生效
group::r--
mask::r-x
other::r--
子目录会l承父目录的ACL?/p>
如果父目录有ACLQ则创徏新文件或者文件夹Ӟ默认权限不会Ҏumask来计,而是l承或者根据命令参数?/p>
使用setfacl -d -m u:canbeing:rw /tmp/acl_test/ 则此权限会得到子目录及文件的l承Q权限以default开_
linux-canbeing:/tmp/acl_test # getfacl /tmp/acl_test/
getfacl: Removing leading '/' from absolute path names
# file: tmp/acl_test/
# owner: root
# group: root
user::rwx
user:canbeing:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:canbeing:rw-
default:group::---
default:mask::rw-
default:other::---
[root@dbrg-2 ~]# curl -I www.baidu.com
HTTP/1.1 200 OK
Date: Wed, 29 Jul 2009 02:51:19 GMT
Server: BWS/1.0
Content-Length: 3509
Content-Type: text/html
Cache-Control: private
Expires: Wed, 29 Jul 2009 02:51:19 GMT
Set-Cookie: BAIDUID=0D5F54C0853B7C38D6BD3A3E5EA63C44:FG=1; expires=Wed, 29-Jul-39 02:51:19 GMT; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "
[root@dbrg-2 ~]# wget -S --spider www.baidu.com
--10:51:34-- http://www.baidu.com/
=> `index.html
那么工具是实C,如何用c来实现呢... 其实也很?我刚开始还C点弯路想的是L看wget or curl的源?奈何那种代码怺之间依赖性太强实在不易阅?于是自己用wireshark抓包, so easy!!!!有兴的自己L?/p>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define HTTPPORT 80
char* head =
"HEAD / HTTP/1.0\r\n"
"Accept: */*\r\n"
"User-Agent: Wget/1.10.2 (Red Hat modified)\r\n"
"Host:127.0.0.1\r\n"
"Connection: Keep-Alive\r\n\r\n";
int connect_URL(char *domain,int port)
{
int sock;
struct hostent * host;
struct sockaddr_in server;
host = gethostbyname(domain);
if (host == NULL)
{
printf("gethostbyname error\n");
return -2;
}
sock = socket(AF_INET,SOCK_STREAM,0);
if (sock < 0)
{
printf("invalid socket\n");
return -1;
}
memset(&server,0,sizeof(struct sockaddr_in));
memcpy(&server.sin_addr,host->h_addr_list[0],host->h_length);
server.sin_family = AF_INET;
server.sin_port = htons(port);
return (connect(sock,(struct sockaddr *)&server,sizeof(struct sockaddr)) <0) ? -1 : sock;
}
int main()
{
int sock;
int ret;
char buf[100];
char *domain = "127.0.0.1";
FILE* fp = fopen("test","w+");
if(NULL == fp){
printf("can't open stockcode file!\n");
return -1;
}
sock = connect_URL(domain,HTTPPORT);
if (sock <0){
printf("connetc err\n");
return -1;
}
send(sock,head,strlen(head),0);
while(1)
{
if((ret=recv(sock,buf,100-1,0))<1)
break;
buf[ret]='\0';
printf("%s", buf);
fprintf(fp,"%s",buf); //save http data
}
fclose(fp);
close(sock);
//printf("bye!\n");
return 0;
}
from:
http://linux.chinaitlab.com/server/800420_2.html
linux下的nc命o中,-l后跟随监听端口,-p后跟随与目标L建立q接时的本地端口Q二者不可能同时使用?br style="font: normal normal normal 12px/normal song, Verdana; ">
nc -l 1234
nc 127.0.0.1 1234资源
# free -m # 查看内存使用量和交换Z用量
# df -h # 查看各分Z用情?br># du -sh <目录?gt; # 查看指定目录的大?br># grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看I闲内存?br># uptime # 查看pȝq行旉、用h、负?br># cat /proc/loadavg # 查看pȝ负蝲
盘和分?br># mount | column -t # 查看挂接的分区状?br># fdisk -l # 查看所有分?br># swapon -s # 查看所有交换分?br># hdparm -i /dev/hda # 查看盘参数(仅适用于IDE讑֤)
# dmesg | grep IDE # 查看启动时IDE讑֤状?/p>
|络
# ifconfig # 查看所有网l接口的属?br># iptables -L # 查看防火墙设|?br># route -n # 查看路由?br># netstat -lntp # 查看所有监听端?br># netstat -antp # 查看所有已l徏立的q接
# netstat -s # 查看|络l计信息
q程
# ps -ef # 查看所有进E?br># top # 实时昄q程状?/p>
用户
# w # 查看zd用户
# id <用户?gt; # 查看指定用户信息
# last # 查看用户d日志
# cut -d: -f1 /etc/passwd # 查看pȝ所有用?br># cut -d: -f1 /etc/group # 查看pȝ所有组
# crontab -l # 查看当前用户的计划Q?/p>
from:
http://blog.chinaunix.net/u2/76292/showart_1276219.html
proc文gpȝ是一个伪文gpȝQ它只存在内存当中,而不占用外存I间。它以文件系l的方式问系l内核数据的操作提供接口。用户和应用E序可以通过proc得到pȝ的信息,q可以改变内核的某些参数。由于系l的信息Q如q程Q是动态改变的Q所以用h应用E序dproc文gӞproc文gpȝ是动态从pȝ内核d所需信息q提交的。它的目录结构如下:
目录名称 目录内容
apm 高甉|理信息
cmdline 内核命o?/p>
Cpuinfo 关于Cpu信息
Devices 可以用到的设备(块设?字符讑֤Q?/p>
Dma 使用的DMA通道
Filesystems 支持的文件系l?/p>
Interrupts 中断的?/p>
Ioports I/O端口的?/p>
Kcore 内核核心印象
Kmsg 内核消息
Ksyms 内核W号?/p>
Loadavg 负蝲均衡
Locks 内核?/p>
Meminfo 内存信息
Misc 杂项
Modules 加蝲模块列表
Mounts 加蝲的文件系l?/p>
Partitions pȝ识别的分
Rtc 实时旉
Slabinfo Slab池信?/p>
Stat 全面l计状态表
Swaps ҎI间的利用情?/p>
Version 内核版本
Uptime pȝ正常q行旉
q不是所有这些目录在你的pȝ中都有,q取决于你的内核配置和装载的模块。另外,?proc下还有三个很重要的目录:netQscsi和sys?Sys目录是可写的Q可以通过它来讉K或修改内核的参数Q见下一部分Q,而net和scsi则依赖于内核配置。例如,如果pȝ不支持scsiQ则scsi 目录不存在?/p>
除了以上介绍的这些,q有的是一些以数字命名的目录,它们是进E目录。系l中当前q行的每一个进E都有对应的一个目录在/proc下,以进E的 PID号ؓ目录名,它们是读取进E信息的接口。而self目录则是dq程本n的信息接口,是一个link。Proc文gpȝ的名字就是由之而v。进E目录的l构如下Q?/p>
目录名称 目录内容
Cmdline 命o行参?/p>
Environ 环境变量?/p>
Fd 一个包含所有文件描q符的目?/p>
Mem q程的内存被利用情况
Stat q程状?/p>
Status q程当前状态,以可ȝ方式昄出来
Cwd 当前工作目录的链?/p>
Exe 指向该进E的执行命o文g
Maps 内存映象
Statm q程内存状态信?/p>
Root 链接此进E的root目录
用户如果要查看系l信息,可以用cat命o。例如:
# cat /proc/interrupts
CPU0
0: 8728810 XT-PIC timer
1: 895 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 531695 XT-PIC aha152x
4: 2014133 XT-PIC serial
5: 44401 XT-PIC pcnet_cs
8: 2 XT-PIC rtc
11: 8 XT-PIC i82365
12: 182918 XT-PIC Mouse
13: 1 XT-PIC fpu PS/2
14: 1232265 XT-PIC ide0
15: 7 XT-PIC ide1
NMI: 0
用户q可以实C改内核参数。在/proc文gpȝ中有一个有的目录Q?proc/sys。它不仅提供了内怿息,而且可以通过它修改内核参敎ͼ来优化你的系l。但是你必须很小心,因ؓ可能会造成pȝ崩溃。最好是先找一台无关紧要的机子Q调试成功后再应用到你的pȝ上?/p>
要改变内核的参数Q只要用vi~辑或echo参数重定向到文g中即可。下面有一个例子:
# cat /proc/sys/fs/file-max
4096
# echo 8192 > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
8192
如果你优化了参数Q则可以把它们写成添加到文grc.local中,使它在系l启动时自动完成修改?/p>
/proc文gpȝ中网l参?/p>
?proc/sys/net/ipv4/目录下,包含的是和tcp/ip协议相关的各U参敎ͼ下面我们对q些|络参数加以详细的说明?/p>
ip_forward 参数cdQBOOLEAN
0 - 关闭(默认?
not 0 - 打开ip转发
在网l本地接口之间{发数据报。该参数非常ҎQ对该参数的修改导致其它所有相关配|参数恢复其默认?对于L参阅RFC1122Q对于\由器参见RFC1812)
ip_default_ttl 参数cdQINTEGER
默认gؓ 64 。表CIP数据报的Time To Live倹{?/p>
ip_no_pmtu_disc 参数cdQBOOLEAN
关闭路径MTU探测Q默认gؓFALSE
ipfrag_high_thresh 参数cdQ整?/p>
用来l装分段的IP包的最大内存量。当ipfrag_high_thresh数量的内存被分配来用来组装IP包,则IP分片处理器将丢弃数据报直到ipfrag_low_thresh数量的内存被用来l装IP包?/p>
ipfrag_low_thresh 参数cdQ整?/p>
参见ipfrag_high_thresh?/p>
ipfrag_time 参数cdQ整?/p>
保存一个IP分片在内存中的时间?/p>
inet_peer_threshold 参数cdQ整?/p>
INET对端存储器某个合适|当超q该阀值条目将被丢弃。该阀值同样决定生存时间以及废物收集通过的时间间隔。条目越?存活期越?GC 间隔短
inet_peer_minttl 参数cdQ整?/p>
条目的最低存zL。在重组端必要有够的片(fragment)存活期。这个最低存zL必须保证~冲池容U是否少?inet_peer_threshold。该g jiffies为单位测量?/p>
inet_peer_maxttl 参数cdQ整?/p>
条目的最大存zL。在此期限到达之?如果~冲池没有耗尽压力的话(例如 ~冲池中的条目数目非常少) 不用的条目会时。该g jiffies为单位测量?/p>
inet_peer_gc_mintime 参数cdQ整?/p>
废物攉(GC)通过的最短间隔。这个间隔会影响到缓冲池中内存的高压力?该g jiffies为单位测量?/p>
inet_peer_gc_maxtime 参数cdQ整?/p>
废物攉(GC)通过的最大间隔,q个间隔会媄响到~冲池中内存的低压力?该g jiffies为单位测量?/p>
tcp_syn_retries 参数cdQ整?/p>
对于一个新接,内核要发送多个 SYN q接h才决定放弃。不应该大于255Q默认值是5Q对应于180U左叟?/p>
tcp_synack_retries 参数cdQ整?/p>
对于q端的连接请求SYNQ内怼发送SYN Q?ACK数据报,以确认收C一?SYNq接h包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在攑ּq接之前所送出?SYN+ACK 数目?/p>
tcp_keepalive_time 参数cdQ整?/p>
当keepalive打开的情况下QTCP发送keepalive消息的频率,默认值是2个小时?/p>
tcp_keepalive_probes 参数cdQ整?/p>
TCP发送keepalive探测以确定该q接已经断开的次敎ͼ默认值是9?/p>
tcp_keepalive_interval 参数cdQ整?/p>
探测消息发送的频率Q乘以tcp_keepalive_probes得到对于从开始探以来没有响应的q接杀除的旉。默认gؓ75U,也就是没有活动的q接在大约11分钟以后被丢弃?/p>
tcp_retries1 参数cdQ整?/p>
当出现可疑情况而必d|络层报告这个可疑状况之?需要进行多次重试。最低的 RFC 数值是 3 q也是默认?ҎRTO的值大U在3U?- 8分钟之间?/p>
tcp_retries2 参数cdQ整?/p>
在丢弃激zȝTCPq接之前 需要进行多次重试。RFC1122规定Q该值必d?00U。默认gؓ15Q根据RTO的值来军_Q相当于13-30分钟Q?/p>
tcp_orphan_retries 参数cdQ整?/p>
在近端丢弃TCPq接之前 要进行多次重试。默认值是 7 ?相当?50U?- 16分钟 ?RTO 而定。如果您的系l是负蝲很大的web服务?那么也许需要降低该?q类 sockets 可能会耗费大量的资源。另外参的?tcp_max_orphans ?/p>
tcp_fin_timeout 参数cdQ整?/p>
对于本端断开的socketq接QTCP保持在FIN-WAIT-2状态的旉。对方可能会断开q接或一直不l束q接或不可预料的q程M。默 认gؓ 60 U。过d2.2版本的内怸?180 U。您可以讄该?但需要注?如果您的机器载很重的web服务?您可能要冒内存被大量无效数据报填满的风险 FIN-WAIT-2 sockets 的危险性低?FIN-WAIT-1 因ؓ它们最多只?1.5K 的内?但是它们存在旉更长。另外参?tcp_max_orphans?/p>
tcp_max_tw_buckets 参数cdQ整?/p>
pȝ在同时所处理的最大timewait sockets 数目。如果超q此数的?time-wait socket 会被立即砍除q且昄警告信息。之所以要讑֮q个限制 UaZ抵M那些单的 DoS d 千万不要Zؓ的降低这个限?不过 如果|络条g需要比默认值更?则可以提高它(或许q要增加内存)?/p>
tcp_tw_recycle 参数cdQ布?/p>
打开快?TIME-WAIT sockets 回收。默认值是1。除非得到技术专家的或要?请不要随意修改这个倹{?/p>
tcp_max_orphans 参数cdQ整?/p>
pȝ所能处理不属于Mq程的TCP sockets最大数量。假如超q这个数?那么不属于Q何进E的q接会被立即resetQƈ同时昄警告信息。之所以要讑֮q个限制 UaZ抵M那些单的 DoS d 千万不要依赖q个或是Zؓ的降低这个限?/p>
tcp_abort_on_overflow 参数cdQ布?/p>
当守护进E太忙而不能接受新的连接,pҎ发送reset消息Q默认值是false。这意味着当溢出的原因是因Z个偶然的猝发Q那么连接将恢复状态。只有在你确信守护进E真的不能完成连接请求时才打开该选项Q该选项会媄响客L使用?/p>
tcp_syncookies 参数cdQ整?/p>
只有在内核编译时选择了CONFIG_SYNCOOKIES时才会发生作用。当出现syn{候队列出现溢出时象对方发送syncookies。目的是Z防止syn floodd。默认值是false?/p>
注意Q该选项千万不能用于那些没有收到d的高负蝲服务器,如果在日志中出现synflood消息Q但是调查发现没有收到synflood?击,而是合法用户的连接负载过高的原因Q你应该调整其它参数来提高服务器性能。参? tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.
syncookie严重的违背TCP协议Q不允许使用TCP扩展Q可能对某些服务D严重的性能影响(如SMTP转发)?/p>
tcp_stdurg 参数cdQ整?/p>
使用 TCP urg pointer 字段中的Lh解释功能。大部䆾的主机都使用老旧?BSD解释Q因此如果您?Linux 打开?或会D不能和它们正沟通。默认gؓ?FALSE
tcp_max_syn_backlog 参数cdQ整?/p>
对于那些依然q未获得客户端确认的q接h 需要保存在队列中最大数目。对于超q?128Mb 内存的系l?默认值是 1024 低于 128Mb 的则?128。如果服务器l常出现q蝲 可以试增加q个数字。警?假如您将此D为大?1024 最好修?include/net/tcp.h 里面?TCP_SYNQ_HSIZE 以保?TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog q且~进核心之内?/p>
tcp_window_scaling 参数cdQ布?/p>
正常来说QTCP/IP 可以接受最大到65535字节?windows。对于宽带网l,该值可能是不够的,通过调整该参数有助于提高宽带服务器性能?/p>
tcp_timestamps 参数cdQ布?/p>
Timestamps 用在其它一些东西中 可以防范那些伪造的 sequence L。一?G的宽带线路或怼重遇到带 out-of-line数值的旧sequence L(假如它是׃上次产生?。Timestamp 会让它知道这是个 '旧封??/p>
tcp_sack 参数cdQ布?/p>
使用 Selective ACK 它可以用来查扄定的遗失的数据报--- 因此有助于快速恢复状态?/p>
tcp_fack 参数cdQ布?/p>
打开FACK拥塞避免和快速重传功能?/p>
tcp_dsack 参数cdQ布?/p>
允许TCP发?两个完全相同"的SACK?/p>
tcp_ecn 参数cdQ布?/p>
打开TCP的直接拥塞通告功能?/p>
tcp_reordering 参数cdQ整?/p>
TCP中重排序的数据报最大数量默认值是 3 ?/p>
tcp_retrans_collapse 参数cdQ布?/p>
对于某些有bug的打印机提供针对其bug的兼Ҏ?/p>
tcp_wmem - 三个整数的向量: min, default, max
minQؓTCP socket预留用于发送缓冲的内存最倹{每个tcp socket都可以在以后都可以用它。默认gؓ4K?/p>
defaultQؓTCP socket预留用于发送缓冲的内存数量Q默认情况下该g影响其它协议使用的net.core.wmem_default |一般要低于net.core.wmem_default的倹{默认gؓ16K?/p>
max: 用于TCP socket发送缓冲的内存最大倹{该g会媄响net.core.wmem_maxQ今天选择参数SO_SNDBUF则不受该值媄响。默认gؓ128K?/p>
tcp_rmem - 三个整数的向量: min, default, max
minQؓTCP socket预留用于接收~冲的内存数量,即在内存出现紧张情况下tcp socket都至会有这么多数量的内存用于接收缓Ԍ默认gؓ8K?/p>
defaultQؓTCP socket预留用于接收~冲的内存数量,默认情况下该值媄响其它协议用的 net.core.wmem_default 倹{该值决定了在tcp_adv_win_scale、tcp_app_win和tcp_app_win:0是默认值情况下Qtcp H口大小?5535?/p>
maxQ用于TCP socket接收~冲的内存最大倹{该g会媄?net.core.wmem_maxQ今天选择参数 SO_SNDBUF则不受该值媄响。默认gؓ 128K。默认gؓ87380*2 bytes?/p>
tcp_mem - 三个整数的向量: low, pressure, high
lowQ当TCP使用了低于该值的内存面数时QTCP不会考虑释放内存?/p>
pressureQ当TCP使用了超q该值的内存面数量ӞTCP试图E_其内存用,q入pressure模式Q当内存消耗低于low值时则退出pressure状态?/p>
highQ允许所有tcp sockets用于排队~冲数据报的面量?/p>
一般情况下q些值是在系l启动时Ҏpȝ内存数量计算得到的?/p>
tcp_app_win - 整数
保留max(window/2^tcp_app_win, mss)数量的窗口由于应用缓册Ӏ当?时表CZ需要缓册Ӏ默认值是31?/p>
tcp_adv_win_scale - 整数
计算~冲开销bytes/2^tcp_adv_win_scale(如果tcp_adv_win_scale > 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale <= 0Q,默认gؓ2?/p>
ip_local_port_range - 两个整数
定于TCP和UDP使用的本地端口范_W一个数是开始,W二个数是最后端口号Q默认g赖于pȝ中可用的内存敎ͼ
> 128Mb 32768-61000
< 128Mb 1024-4999 or even less.
该值决定了zdq接的数量,也就是系l可以ƈ发的q接?/p>
icmp_echo_ignore_all - 布尔cd
icmp_echo_ignore_broadcasts - 布尔cd
如果M一个设|ؓtrue(>0)则系l将忽略所有发送给自己的ICMP ECHOh或那些广播地址的请求?/p>
icmp_destunreach_rate - 整数
icmp_paramprob_rate - 整数
icmp_timeexceed_rate - 整数
icmp_echoreply_rate - 整数(not enabled per default)
限制发向特定目标的ICMP数据报的最大速率?表示没有M限制Q否则表Cjiffies数据单位中允许发送的个数?/p>
icmp_ignore_bogus_error_responses - 布尔cd
某些路由器违背RFC1122标准Q其对广播发送伪造的响应来应{。这U违背行为通常会被以告警的方式记录在系l日志中。如果该选项讄为TrueQ内怸会记录这U警告信息。默认gؓFalse?/p>
(1) Jiffie: 内核使用的内部时间单位,在i386pȝ上大ؓ1/100sQ在Alpha中ؓ1/1024S。在/usr/include/asm/param.h中的HZ定义有特定系l的倹{?/p>
conf/interface/*:
conf/all/*是特定的Q用来修Ҏ有接口的讄Qis special and changes the settings for all interfaces.
Change special settings per interface.
log_martians - 布尔cd
记录带有不允许的地址的数据报到内核日志中?/p>
accept_redirects - 布尔cd
收发接收ICMP重定向消息。对于主机来说默认ؓTrueQ对于用作\由器旉认gؓFalse?/p>
forwarding - 布尔cd
在该接口打开转发功能
mc_forwarding - 布尔cd
是否q行多播路由。只有内核编译有CONFIG_MROUTEq且有\由服务程序在q行该参数才有效?/p>
proxy_arp - 布尔cd
打开proxy arp功能?/p>
shared_media - 布尔cd
发?路由?或接?L) RFC1620 ׃n媒体重定向。覆盖ip_secure_redirects的倹{默认ؓTrue?/p>
secure_redirects - 布尔cd
仅仅接收发给默认|关列表中网关的ICMP重定向消息,默认值是TRUE?/p>
send_redirects - 布尔cd
如果是routerQ发送重定向消息Q默认值是TRUE
bootp_relay - 布尔cd
接收源地址?.b.c.dQ目的地址不是本机的数据报。用来支持BOOTP转发服务q程Q该q程捕获ƈ转发该包。默认ؓFalseQ目前还没有实现?/p>
accept_source_route - 布尔cd
接收带有SRR选项的数据报。对于主机来说默认ؓFalseQ对于用作\由器旉认gؓTrue?/p>
rp_filter 参数cd
1 - 通过反向路径回溯q行源地址验证(在RFC1812中定?。对于单I主机和stub|络路由器推荐用该选项?/p>
0 - 不通过反向路径回溯q行源地址验证?/p>
默认gؓ0。某些发布在启动时自动将其打开?br>
from:http://blog.chinaunix.net/u2/76292/showart_1327412.html
的原因,或者受到攻Ld者留下的痕迹。日志主要的功能有:审计和监。他q可以实时的监测pȝ状态,
监测和追tR入者等{?/p>
1. 日志?/p>
日志对于安全来说Q非帔R要,他记录了pȝ每天发生的各U各L事情Q你可以通过他来查错误发?/p>
的原因,或者受到攻Ld者留下的痕迹。日志主要的功能有:审计和监。他q可以实时的监测pȝ状态,
监测和追tR入者等{?/p>
在Linuxpȝ中,有三个主要的日志子系l:
q接旉日志--由多个程序执行,把纪录写入到/var/log/wtmp?var/run/utmpQlogin{程序更
新wtmp和utmp文gQɾpȝ理员能够跟t谁在何时登录到pȝ?/p>
q程l计--ql内核执行。当一个进E终止时Qؓ每个q程往q程l计文gQpacct或acctQ中写一?/p>
U录。进E统计的目的是ؓpȝ中的基本服务提供命o使用l计?/p>
错误日志--由syslogdQ?Q执行。各U系l守护进E、用L序和内核通过syslogQ?Q向文g
/var/log/messages报告值得注意的事件。另外有许多UNIXE序创徏日志。像HTTP和FTPq样提供|络?/p>
务的服务器也保持详细的日志?/p>
常用的日志文件如下:
access-log U录HTTP/web的传?/p>
acct/pacct U录用户命o
aculog U录MODEM的活?/p>
btmp U录p|的纪?/p>
lastlog U录最q几ơ成功登录的事g和最后一ơ不成功的登?/p>
messages 从syslog中记录信息(有的链接到syslog文gQ?/p>
sudolog U录使用sudo发出的命?/p>
sulog U录使用su命o的?/p>
syslog 从syslog中记录信息(通常链接到messages文gQ?/p>
utmp U录当前d的每个用?/p>
wtmp 一个用hơ登录进入和退出时间的怹U录
xferlog U录FTP会话
utmp、wtmp和lastlog日志文g是多数重用UNIX日志子系l的关键--保持用户dq入和退出的U录?/p>
有关当前d用户的信息记录在文gutmp中;dq入和退出纪录在文gwtmp中;最后一ơ登录文件可?/p>
用lastlog命o察看。数据交换、关机和重v也记录在wtmp文g中。所有的U录都包含时间戳。这些文?/p>
Qlastlog通常不大Q在h大量用户的系l中增长十分q速。例如wtmp文g可以无限增长Q除非定期截取?/p>
许多pȝ以一天或者一周ؓ单位把wtmp配置成@环用。它通常由cronq行的脚本来修改。这些脚本重新命
名ƈ循环使用wtmp文g。通常Qwtmp在第一天结束后命名为wtmp.1Q第二天后wtmp.1变ؓwtmp.2{等Q直
到wtmp.7?/p>
每次有一个用L录时QloginE序在文件lastlog中察看用LUID。如果找CQ则把用户上ơ登录?/p>
退出时间和L名写到标准输ZQ然后loginE序在lastlog中纪录新的登录时间。在新的lastlogU录?/p>
入后Qutmp文g打开q插入用LutmpU录。该U录一直用到用L录退出时删除。utmp文g被各U命?/p>
文g使用Q包括who、w、users和finger?/p>
下一步,loginE序打开文gwtmp附加用户的utmpU录。当用户d退出时Q具有更新时间戳的同
一utmpU录附加到文件中。wtmp文g被程序last和ac使用?/p>
2. 具体命o
wtmp和utmp文g都是二进制文Ӟ他们不能被诸如tail命o剪脓或合qӞ使用cat命oQ。用?/p>
需要用who、w、users、last和ac来用这两个文g包含的信息?/p>
whoQwho命o查询utmp文gq报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登?/p>
日期及远E主机。例如:whoQ回车)昄
chyang pts/0 Aug 18 15:06
ynguo pts/2 Aug 18 15:32
ynguo pts/3 Aug 18 13:55
lewis pts/4 Aug 18 13:35
ynguo pts/7 Aug 18 14:12
ylou pts/8 Aug 18 14:15
如果指明了wtmp文g鈀?? ?? ???!名,则who命o查询所有以前的U录。命令who /var/log/wtmp报告自从wtmp文g
创徏或删改以来的每一ơ登录?/p>
wQw命o查询utmp文gq显C当前系l中每个用户和它所q行的进E信息。例如:wQ回车)?/p>
C:3:36pm up 1 day, 22:34, 6 users, load average: 0.23, 0.29, 0.27
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
chyang pts/0 202.38.68.242 3:06pm 2:04 0.08s 0.04s -bash
ynguo pts/2 202.38.79.47 3:32pm 0.00s 0.14s 0.05s w
lewis pts/3 202.38.64.233 1:55pm 30:39 0.27s 0.22s -bash
lewis pts/4 202.38.64.233 1:35pm 6.00s 4.03s 0.01s sh /home/users/
ynguo pts/7 simba.nic.ustc.e 2:12pm 0.00s 0.47s 0.24s telnet mail
ylou pts/8 202.38.64.235 2:15pm 1:09m 0.10s 0.04s -bash
usersQusers用单独的一行打印出当前d的用P每个昄的用户名对应一个登录会话。如果一?/p>
用户有不止一个登录会话,那他的用户名显C相同的ơ数。例如:usersQ回车)?/p>
C:chyang lewis lewis ylou ynguo ynguo
lastQlast命o往回搜索wtmp来显C从文件第一ơ创Z来登录过的用戗例如:
chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49)
cfan pts/6 202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14)
chyang pts/4 202.38.68.242 Tue Aug 1 08:32 - 12:13 (03:40)
lewis pts/3 202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03)
lewis pts/2 202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12)
如果指明了用P那么last只报告该用户的近期活动,例如Qlast ynguoQ回车)昄Q?/p>
ynguo pts/4 simba.nic.ustc.e Fri Aug 4 16:50 - 08:20 (15:30)
ynguo pts/4 simba.nic.ustc.e Thu Aug 3 23:55 - 04:40 (04:44)
ynguo pts/11 simba.nic.ustc.e Thu Aug 3 20:45 - 22:02 (01:16)
ynguo pts/0 simba.nic.ustc.e Thu Aug 3 03:17 - 05:42 (02:25)
ynguo pts/0 simba.nic.ustc.e Wed Aug 2 01:04 - 03:16 1+02:12)
ynguo pts/0 simba.nic.ustc.e Wed Aug 2 00:43 - 00:54 (00:11)
ynguo pts/9 simba.nic.ustc.e Thu Aug 1 20:30 - 21:26 (00:55)
acQac命oҎ当前?var/log/wtmp文g中的dq入和退出来报告用户q结的时_时Q,
如果不用标志,则报告ȝ旉。例如:acQ回车)昄Qtotal 5177.47
ac -dQ回车)昄每天的ȝq结旉
Aug 12 total 261.87
Aug 13 total 351.39
Aug 14 total 396.09
Aug 15 total 462.63
Aug 16 total 270.45
Aug 17 total 104.29
Today total 179.02
ac -p Q回车)昄每个用户的ȝq接旉
ynguo 193.23
yucao 3.35
rong 133.40
hdai 10.52
zjzhu 52.87
zqzhou 13.14
liangliu 24.34
total 5178.24
last鈀?? ?? ???!logQlastlog文g在每ơ有用户d时被查询。可以用lastlog命o来检查某特定用户上次
d的时_q格式化输出上次d日志/var/log/lastlog的内宏V它ҎUID排序昄d名、端?/p>
PttyQ和上次d旉。如果一个用户从未登录过Qlastlog昄"**Never logged**。注意需?/p>
以rootq行该命令,例如Q?/p>
rong 5 202.38.64.187 Fri Aug 18 15:57:01 +0800 2000
dbb **Never logged in**
xinchen **Never logged in**
pb9511 **Never logged in**
xchen 0 202.38.64.190 Sun Aug 13 10:01:22 +0800 2000
另外Q可一加一些参敎ͼ例如Qlast -u 102报告UID?02的用Plast -t 7表示限制上一周的报告?/p>
3. q程l计
UNIX可以跟踪每个用户q行的每条命令,如果想知道昨晚弄׃哪些重要的文Ӟq程l计子系l可
以告诉你。它对还跟踪一个R入者有帮助。与q接旉日志不同Q进E统计子pȝ~省不激z,它必d
动。在Linuxpȝ中启动进E统计用accton命oQ必ȝrootw䆾来运行。Accton命o的Ş
式accton fileQfile必须先存在。先使用touch命o来创建pacct文gQtouch /var/log/pacctQ?/p>
然后q行acctonQ?accton /var/log/pacct。一旦accton被激z,可以用lastcomm命o监测pȝ
中Q何时候执行的命o。若要关闭统计,可以使用不带M参数的accton命o?/p>
lastcomm命o报告以前执行的文件。不带参数时Qlastcomm命o昄当前l计文g生命周期内纪?/p>
的所有命令的有关信息。包括命令名、用戗tty、命令花费的CPU旉和一个时间戳。如果系l有许多?/p>
P输入则可能很ѝ下面的例子Q?/p>
crond F root ?? 0.00 secs Sun Aug 20 00:16
promisc_check.s S root ?? 0.04 secs Sun Aug 20 00:16
promisc_check root ?? 0.01 secs Sun Aug 20 00:16
grep root ?? 0.02 secs Sun Aug 20 00:16
tail root ?? 0.01 secs Sun Aug 20 00:16
sh root ?? 0.01 secs Sun Aug 20 00:15
ping S root ?? 0.01 secs Sun Aug 20 00:15
ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15
sh root ?? 0.01 secs Sun Aug 20 00:15
ping S root ?? 0.02 secs Sun Aug 20 00:15
ping6.pl F root ?? 0.02 secs Sun Aug 20 00:15
sh root ?? 0.02 secs Sun Aug 20 00:15
ping S root ?? 0.00 secs Sun Aug 20 00:15
ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15
sh root ?? 0.01 secs Sun Aug 20 00:15
ping S root ?? 0.01 secs Sun Aug 20 00:15
sh root ?? 0.02 secs Sun Aug 20 00:15
ping S root ?? 1.34 secs Sun Aug 20 00:15
locate root ttyp0 1.34 secs Sun Aug 20 00:15
accton S root ttyp0 0.00 secs Sun Aug 20 00:15
q程l计的一个问题是pacct文g可能增长的十分迅速。这旉要交互式的或l过cron机制q行sa?/p>
令来保持日志数据在系l控制内。sa命o报告、清理ƈl护q程l计文g。它能把/var/log/pacct中的?/p>
息压~到摘要文g/var/log/savacct?var/log/usracct中。这些摘要包含按命o名和用户名分cȝpȝ
l计数据。sa~省情况下先d们,然后读pacct文gQ报告能包鈀?? ?? ???!含所有的可用信息。sa的输出有下面一
些标记项Q?/p>
avio--每次执行的^均I/O操作ơ数
cp--用户和系l时间dQ以分钟?/p>
cpu--和cp一?/p>
k--内核使用的^均CPU旉Q以1k为单?/p>
k*sec--CPU存储完整性,?k-coreU?/p>
re--实时旉Q以分钟?/p>
s--pȝ旉Q以分钟?/p>
tio--I/O操作的L
u--用户旉Q以分钟?/p>
例如Q?/p>
842 173.26re 4.30cp 0avio 358k
2 10.98re 4.06cp 0avio 299k find
9 24.80re 0.05cp 0avio 291k ***other
105 30.44re 0.03cp 0avio 302k ping
104 30.55re 0.03cp 0avio 394k sh
162 0.11re 0.03cp 0avio 413k security.sh*
154 0.03re 0.02cp 0avio 273k ls
56 31.61re 0.02cp 0avio 823k ping6.pl*
2 3.23re 0.02cp 0avio 822k ping6.pl
35 0.02re 0.01cp 0avio 257k md5sum
97 0.02re 0.01cp 0avio 263k initlog
12 0.19re 0.01cp 0avio 399k promisc_check.s
15 0.09re 0.00cp 0avio 288k grep
11 0.08re 0.00cp 0avio 332k awk
用户q可以根据用戯不是命令来提供一个摘要报告。例如sa -m昄如下Q?/p>
885 173.28re 4.31cp 0avk
root 879 173.23re 4.31cp 0avk
alias 3 0.05re 0.00cp 0avk
qmailp 3 0.01re 0.00cp 0avk
4. Syslog讑֤
Syslog已被许多日志函数采纳Q它用在许多保护措施?-ME序都可以通过syslog U录事g?br>syslog可以U录pȝ事gQ可以写C个文件或讑֤中,或给用户发送一个信息。它能纪录本C件或通过
|络U录另一个主Z的事件?/p>
Syslog讑֤依据两个重要的文Ӟ/etc/syslogdQ守护进E)?etc/syslog.conf配置文gQ习惯上Q?/p>
多数syslog信息被写?var/adm?var/log目录下的信息文g中(messages.*Q。一个典型的syslogU录?/p>
括生成程序的名字和一个文本信息。它q包括一个设备和一个优先范围Q但不在日之中出玎ͼ?/p>
每个syslog消息被赋予下面的主要讑֤之一Q?/p>
LOG_AUTH--认证pȝQlogin、su、getty{?/p>
LOG_AUTHPRIV--同LOG_AUTHQ但只登录到所选择的单个用户可ȝ文g?/p>
LOG_CRON--cron守护q程
LOG_DAEMON--其他pȝ守护q程Q如routed
LOG_FTP--文g传输协议Qftpd、tftpd
LOG_KERN--内核产生的消?/p>
LOG_LPR--pȝ打印机缓冲池Qlpr、lpd
LOG_MAIL--电子邮gpȝ
LOG_NEWS--|络新闻pȝ
LOG_SYSLOG--由syslogdQ?Q生的内部消息
LOG_USER--随机用户q程产生的消?/p>
LOG_UUCP--UUCP子系l?/p>
LOG_LOCAL0~LOG_LOCAL7--为本C用保?/p>
Syslog为每个事件赋予几个不同的优先U:
LOG_EMERG--紧急情?/p>
LOG_ALERT--应该被立x正的问题Q如pȝ数据库破?/p>
LOG_CRIT--重要情况Q如盘错误
LOG_ERR--错误
LOG_WARNING--警告信息
LOG_NOTICE--不是错误情况Q但是可能需要处?/p>
LOG_INFO--情报信息
LOG_DEBUG--包含情报的信息,通常旨在调试一个程序时使用
syslog.conf文g指明syslogdE序U录日志的行为,该程序在启动时查询配|文件。该文g׃同程
序或消息分类的单个条目组成,每个占一行。对每类消息提供一个选择域和一个动作域。这些域由tab隔开Q?/p>
选择域鈀?? ?? ???!指明消息的类型和优先U;动作域指明syslogd接收C个与选择标准相匹配的消息时所执行的动作?/p>
每个选项是由讑֤和优先l成。当指明一个优先Ӟsyslogd纪录一个拥有相同或更高优先U的消息?/p>
所以如果指?crit"Q那所有标为crit、alert和emerg的消息将被纪录。每行的行动域指明当选择域选择了一?/p>
l定消息后应该把他发送到哪儿。例如,如果x所有邮件消息纪录到一个文件中Q如下:
#Log all the mail messages in one place
mail.* /var/log/maillog
其他讑֤也有自己的日志。UUCP和news讑֤能生许多外部消息。它把这些消息存到自q日志
Q?var/log/spoolerQ中q把U别限ؓ"err"或更高。例如:
# Save mail and news errors of level err and higher in aspecial file.
uucp,news.crit /var/log/spooler
当一个紧急消息到来时Q可能想让所有的用户都得到。也可能惌自己的日志接收ƈ保存?/p>
#Everybody gets emergency messagesQ?plus log them on anther machine
*.emerg *
*.emerg @linuxaid.com.cn
alert消息应该写到root和tiger的个̎号中Q?/p>
#Root and Tiger get alert and higher messages
*.alert root,tiger
有时syslogd生大量的消息。例如内核("kern"讑֤Q可能很冗长。用户可能想把内核消息纪?/p>
?dev/console中。下面的例子表明内核日志U录被注释掉了:
#Log all kernel messages to the console
#Logging much else clutters up the screen
#kern.* /dev/console
用户可以在一行中指明所有的讑֤。下面的例子把info或更高别的消息送到/var/log/messagesQ?/p>
除了mail以外。?none"止一个设备:
#Log anythingQexcept mailQof level info or higher
#Dont log private authentication messages!
*.info:mail.none;authpriv.none /var/log/messages
在有些情况下Q可以把日志送到打印机,q样|络入R者怎么修改日志都没有用了。通常要广泛纪?/p>
日志。Syslog讑֤是一个攻击者的显著目标。一个ؓ其他Ll护日志的系l对于防范服务器d特别?/p>
弱,因此要特别注意?/p>
有个命令logger为syslogQ?Q系l日志文件提供一个shell命o接口Q用户能创建日志文件中的条
目。用法:logger 例如Qlogger This is a testQ?/p>
它将产生一个如下的syslogU录QAug 19 22:22:34 tiger: This is a test!
注意不要完全怿日志Q因为攻击者很Ҏ修改它的?/p>
5. E序日志
许多E序通过l护日志来反映系l的安全状态。su命o允许用户获得另一个用L权限Q所以它的安?/p>
很重要,它的文g为sulog。同Lq有sudolog。另外,想Apache有两个日志:access_log和error_log?br>
转自 http://blog.chinaunix.net/u2/76292/showart_1335926.html