“unix”标签相关文章 »

八月 28
MacPorts

Mac OS X 下可以方便的使用 MacPorts 安装你想要的 Unix 相关工具或者软件,间隔一段时间之后,可能会涉及到更新升级的问题, MacPorts 提供非常方便的方法。

(MacPorts 的安装非常简单,到 MacPorts 官方网站下载对应版本运行安装即可。)

第一步,需要将 MacPorts 本身更新到最新版本:

sudo port selfupdate

或者开启 debug 功能,看完整更新信息:

sudo port -d selfupdate

第二步,更新所有过期(ports 中有新版本)的软件到最新版本:

sudo port -u upgrade outdated

此处的 -u 参数的作用:upgrade 选项默认只是在安装新版本后 deactivates 旧版本,并不会删除,这个 -u 就是告诉 port 安装新版本后,将不再需要的旧版本删除掉;便于保持干净的系统。

更详细的命令参数可以参考 MacPorts Guide

dirk 发表于 2009-08-28 星期五
七月 31

Unix 的 syslogd 记录的日志信息不包含年份,在 FreeBSD,Linux 下都是如此。如果系统的日志文件记录的时间跨度足够长(比如你的日志信息很少或者你的日志轮询尺寸设置的非常大),如果超过一年,那么就会发生无法辨识日志发生年份的问题。一般情况下,这算不得什么,但在某些情形下多少会引起麻烦。

FreeBSD 下有一个每天进行安全性报告的 /etc/periodic/daily/450.status-security 脚本,它的目的之一就是将 /var/log/auth.log 文件中属于昨天发生的失败、错误信息通过邮件方式发送给系统管理员。如果 auth.log 文件记录的足够长,超过一年,那么就会发生重叠问题,stats-security 脚本会发出错误的报告。

假设,一台 FreeBSD 主机在 2006 年 01 月 22 号托管到机房,在这一天,为了测试系统状态,做了很多可能从安全性上来说不太正常的操作,比如,你可能 telnet 到本地的 sshd,看到正常的连接信息后直接“quit”了,这个时候,/var/log/auth.log 会记录一条类似认证失败的日志条目。在此之后,这台主机非常稳定,很少发生登录操作,也没有受到任何攻击,这就使得 /var/log/auth.log 文件的日志量非常少,当时间跨过一年,到达 2007 年 01 月 23 号的早晨,系统每天发送的安全报告邮件中称,系统的 sshd 服务在昨天(也就是 01 月 22 号)受到了不安全的认证攻击,这个时候,绝大部分系统管理员不可能想到或者记起是去年自己的测试操作,正常的情况下,系统管理员会进行大量的安全检查,直到查出昨天的攻击来自哪里。如果这台主机是关键性的系统,或者属于非常重视安全性的组织,这个小小的误解也许会引起很大的误会或者损失。

这个问题,不能说是系统的漏洞,但多少算是 Unix 系统的缺陷,只是这个缺陷在一般情况下不太可能引起问题。目前有类似 syslog-ngSawmill 这样的针对 Unix syslogd 的改进系统,支持年份的记录。

dirk 发表于 2009-07-31 星期五