Unix的日志文件系统 unix文件系统概述
不同版本的Unix日志文件的目录是不同的,最常用的目
录是:/usr/adm 早期版本的
Unix /var/adm 较新版本的
Unix /var/log 用于Solaris,Linux,BSD等
/etc Unix system V早期版本
在这些目录下,或其子目录下,你可以找到以下日志文
件(也许是其中的一部分):
lastlog 记录用户最后一次成功登录时间
loginlog 不良的登陆尝试记录
messages 记录输出到系统主控台以及由syslog系统服务
程序产生的消息
utmp 记录当前登录的每个用户
utmpx 扩展的utmp
wtmp 记录每一次用户登录和注销的历史信息 wtmpx 扩
展的wtmp
vold.log 记录使用外部介质出现的错误
xferkig 记录Ftp的存取情况 sulog 记录su命令的使用
情况
acct 记录每个用户使用过的命令
aculog 拨出自动呼叫记录
下面按顺序仔细介绍一下
lastlog文件
Unix在lastlog日志文件中记录每一个用户注册进入系统
的最后时间,在你每一次进入系统时,系统会显示出这
个时间:
login: blackeyes
password: h3ll0
Last login :Tue Jul 27 09:55:50 on tty01
lastlog告诉用户,要核对一下最后注册进入系统的时间
是否争确,若系统显示的时间与你上次进入系统的时间
不符,说明发生了非授权用户注册,若这种情况发生
了,用户应该马上修改帐户口令,并通知管理员。
在每次注册时,lastlog新的内容冲掉老的内容。
标准版本的Unix没有提供服务程序可以阅读lastlog文
件,有些程序可以提供这个服务,跟我们这里要 谈的东
西关系不太大,以后再说了。
loginlog文件
Unix system V版本中,可以把不成功的登录行为记录在
/var/adm/loginlog中。要登记不成功的注册行为,可以
用下列命令建立/var/adm/loginlog文件:
#touch /var/adm/loginlog
#chmod 600 /var/adm/loginlog
#chown root /var/adm/loginlog
如果你知道一个系统的用户名,而你又想猜出密码,
/var/adm/loginlog就会记录你的失败的登录尝试 管理
员看看/var/adm/loginlog的内容,你的企图就露馅了:
#cat /var/adm/loginlog
hacker: from 202.88.88.xx: Tue Jul 27 02:40:50
2001
hacker: from 202.88.88.xx: Tue Jul 27 02:41:50
2001
hacker: from 202.88.88.xx: Tue Jul 27 02:42:50
2001
hacker: from 202.88.88.xx: Tue Jul 27 02:43:50
2001
hacker: from 202.88.88.xx: Tue Jul 27 02:44:50
2001
messages文件
记录输出到系统主控台以及由syslog系统服务程序产生
的消息
先看看syslog问题
syslog采用可配置的、统一的系统登记程序,随时从系
统各处
接受log请求,然后根据/etc/syslog.conf中的预先设定
把log
信息写入相应文件中、邮寄给特定用户或者直接以消息
的方式
发往控制台。值得注意的是,为了防止入侵者修改、删
除messages
里的记录信息,可以采用用打印机记录或跨越网络登记
的方式
来挫败入侵者的企图。
syslog.conf的详细说明
以Sun Solaris operating system, version 2.5.1. 为
例
/etc/syslog.conf的一般格式如下:
设备.行为级别 [;设备.行为级别] 记录行为
设备 描述
auth used by authorization systems (login)
认证系统,即询问用户名和口令
cron used for the cron and at systems
系统定时系统
daemon system/netword daemon
其他系统的daemons
kern produced by kernel messages
内核
lpr printing system
打印机系统
mail mail system
邮件系统
mark internally used for time stamps
定时发送消息的时标程序
news reserved for the news system
新闻系统
user default facility, used for any program
正式用户处理程序
uucp reserved for the uucp system
uucp子系统
local0..7 reserved for local use
留做指定站点使用
行为级别 描述
debug normally used for debugging
调试程序时的消息
info informational messages
信息消息
notice conditions that may require attention
要注意的消息
warning any warnings
警告
err any errors
一般性错误
crit critical conditions like hardware
problems 严重情况
alert any condition that demand immediate
attention 应该立即被纠正的情况
emerg any emergency condition
紧急情况
none Do not send messages from the
indicated 指定的服务程序未给所选择的
facility to the selected file.
文件发送信息[Page]
记录归属(举例) 描述
/dev/console send messages to devices
控制台
/var/adm/messages write messages to files
写入/var/adm/messages
@loghost forward messages to a
loghost 其他的日志记录服务器
fred,user1 send messages to users
传送消息给用户
* send messages to all
logged-in users 传送消息给所有的在线用户
下面是一个/etc/syslog.conf的模式
*.notice;mail.info /var/log/notice
*.crit /var/log/critical
kern,mark.debug /dev/console
kern.err @server
*.emerg *
*.alert root,operator
*.alert;auth.warning /var/log/auth
如果用打印机来记录日志文件,可以采用如下方法:
把打印机连接到终端端口/dev/ttya上,在
/etc/syslog.conf中加入配置语句,例如:
auth.* dev/ttya
这样就可以记录如不正确口令等信息了。 如果采用跨越网络登记,可以在/etc/syslog.conf中加
入配置语句,例如:
auth.* @loghost
可以采用非unix主机来作为日志记录机,这样的话入侵
者就算是得到了root权限也没有办法修改日志文件。
在/var/adm/messages中的一些记录,可以找出入侵者的
痕迹,举例如下:
1。Jun 21 06:17:55 youserver
/usr/dt/bin/rpc.ttdbserverd[371]:
_Tt_file_system::findBestMount.
Jun 21 06:17:55 youserver inetd[146]:
/usr/dt/bin/rpc.ttdbserverd: Segmentation Fault -
cod
Jun 21 06:17:58 youserver inetd[146]:
/usr/dt/bin/rpc.ttdbserverd: Illegal Instruction
- cd
入侵者利用rpc.ttdbserverd漏洞进攻服务器
2。"Sep 8 09:08:03 xxx login: REPEATED LOGIN
FAILURES ON /dev/pts/3 FROM xxxxx "
入侵者采用暴力试口令命令失败
3。"Sep 8 09:08:03 xxx su: 'su root' failed for
xxxxx on /dev/pts/2"
入侵者想利用su命令成为root失败
关于messages可以利用tail -f /var/adm/messages命令
来查看
Unix系统的口令文件
/etc/passwd文件是UNIX安全的关键文件之一.该文件用
于用户登录时校验用户的口令,当然应当仅对root可写.
文件中每行的一般格式为:
LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL
每行的头两项是登录名和加密后的口令,后面的两个数是
UID和GID,接着的一项是系统管理员想写入的有关该用户
的任何信息,最后两项是两个路径名: 一个是分配给用户
的HOME目录,第二个是用户登录后将执行的shell(若为空
格则 缺省为/bin/sh).
(1)口令时效
/etc/passwd文件的格式使系统管理员能要求用户定期地
改变他们的口令.在口令文件中可以看到,有些加密后的
口令有逗号,逗号后有几个字符和一个 冒号.如:
steve:xyDfccTrt180x,M.y8:0:0:admin:/:/bin/sh
restrict:pomJk109Jky41,.1:0:0:admin:/:/bin/sh
pat:xmotTVoyumjls:0:0:admin:/:/bin/sh
可以看到,steve的口令逗号后有4个字符,restrict有2
个,pat没有逗号.
逗号后第一个字符是口令有效期的最大周数,第二个字符
决定了用户再次修改口信之前,原口令应使用的最小周数
(这就防止了用户改了新口令后立刻又改回成老口令).其
余字符表明口令最新修改时间.
要能读懂口令中逗号后的信息,必须首先知道如何用
passwd_esc计数,计数的方法是: .=0 /=1 0-9=2-11
A-Z=12-37 a-z=38-63
系统管理员必须将前两个字符放进/etc/passwd文件,以
要求用户定期的修改口令,另外两个字符当用户修改口令
时,由passwd命令填入.
注意:若想让用户修改口令,可在最后一次口令被修改时,
放两个".",则下一次用户登录时将被要求修改自己的口
令.
有两种特殊情况:
. 最大周数(第一个字符)小于最小周数(第二个字符),则
不允许用户修改口令,仅超级用户可以修改用户的口令.
. 第一个字符和第二个字符都是".",这时用户下次登录
时被要求修改口令,修改口令后,passwd命令将"."删除,
此后再不会要求用户修改口令.
(2)UID和GID
/etc/passwd中UID信息很重要,系统使用UID而不是登录
名区别用户.一般来说,用户的UID应当是独一无二的,其
他用户不应当有相同的UID数值.根据惯 例,从0到99的
UID保留用作系统用户的UID(root,bin,uucp等).
如果在/etc/passwd文件中有两个不同的入口项有相同的
UID,则这两个用户对相互的文件具有相同的存取权限.
/etc/group文件含有关于小组的信息,/etc/passwd中的
每个GID在本文件中应当有相应的入口项,入口项中列出
了小组名和小组中的用户.这样可方便地了 解每个小组
的用户,否则必须根据GID在/etc/passwd文件中从头至尾
地寻找同组 用户.
/etc/group文件对小组的许可权限的控制并不是必要的,
因为系统用UID,GID(取自/etc/passwd)决定文件存取权
限,即使/etc/group文件不存在于系统中,具有相同的GID
用户也可以小组的存取许可权限共享文件.
小组就像登录用户一样可以有口令.如果/etc/group文件
入口项的第二个域为非空,则将被认为是加密口
令,newgrp命令将要求用户给出口令,然后将口令加密,再
与该域的加密口令比较.
给小组建立口令一般不是个好作法.第一,如果小组内共
享文件,若有某人猜着小组口令,则该组的所有用户的文
件就可能泄漏;其次,管理小组口令很费事, 因为对于小
组没有类似的passwd命令.可用/usr/lib/makekey生成一
个口令写入/etc/group.
以下情况必须建立新组:
(1)可能要增加新用户,该用户不属于任何一个现有的小
组.
(2)有的用户可能时常需要独自为一个小组.
(3)有的用户可能有一个SGID程序,需要独自为一个小组.
(4)有时可能要安装运行SGID的软件系统,该软件系统需
要建立一个新组.
要增加一个新组,必须编辑该文件,为新组加一个入口项.
由于用户登录时,系统从/etc/passwd文件中取GID,而不
是从/etc/group中 取GID,所以group文件和口令文件应
当具有一致性.对于一个用户的小组,UID和GID应当是相
同的.多用户小组的GID应当不同于任何用户的UID,一般
为5位数,这样在查看/etc/passwd文件时,就可根据5位数
据的GID识别多用户小组,这将减少 增加新组,新用户时
可能产生的混淆.
更多阅读
如何清理C盘的垃圾文件 win8电脑c盘怎么清理
如何清理C盘的垃圾文件?很多网友都会有这样的疑问,那么今天就和大家来分享下如何清理C盘的垃圾文件,请看下文:1、360的小工具里有个软件搬家功能 把你的软件和大的文件都移到其他盘。?2、首先你的C盘空间是多大的,还有你是否经常将软件
酷狗的皮肤文件存放在哪 酷狗皮肤图片
酷狗的皮肤文件存放在哪——简介为了吸引用户,播放器一般都制作了精美的皮肤文件。有很多人都很喜欢这些皮肤,甚至想要“据为己有”,问题是酷狗的皮肤文件存放在哪儿了。好的,现在我就带领大家去寻找美丽的皮肤。以我在百度知道上遇到的
如何查看linux系统版本 查看linux系统的位数 linux系统查看jdk版本
如何查看linux系统版本 查看linux系统的位数——简介 之前咗嚛介绍了如何查看linux系统下,各文件系统版本。根本经验主要看看linux下系统版本和操作系统位数如何查看。对于windows而已,linux版本有不同的版本号和内核等,本经验以Centos
如何打开win7系统IE的缓存文件夹? ie缓存文件夹在哪
如何打开win7系统IE的缓存文件夹?——简介下边给出打开win7系统IE缓存文件夹的方法,希望能帮助到大家呵呵!!如何打开win7系统IE的缓存文件夹?——工具/原料win7 如何打开win7系统IE的缓存文件夹?——方法/步骤如何打开win7系统IE的缓存文
不可预料的压缩文件末端怎么解决? 不可预料的压缩文件
不可预料的压缩文件末端怎么解决?——简介有时候我们下载文件解压的时候会出现不可预料的压缩文件末端怎么解决,小编今天就遇到这个问题了,就是报错,辛苦下载的文件就不能用了,能否用办法解决呢?其实有方法的,看小小编是怎么解决的。不可