Showing posts with label Free Soft. Show all posts
Showing posts with label Free Soft. Show all posts

Tuesday, February 23, 2010

Key-Value 系統 分類整理 (NoSQL)

一般使用的 DB 統稱是 RDBMS(MSSQL、MySQL ... 等), 現在因為雲端運算的興起, Key-Value 的系統也漸漸紅了起來, 那到底有哪些 Key-Value system 可以用呢?

此篇文章 A Yes for a NoSQL Taxonomy 主要是這篇 NoSQL is a Horseless Carriage 簡報的整理.

此簡報將 Key-Value 的系統分成幾個類別, 並將這些資料整理出來. (下述內容主要取自簡報, 另外補上 連結 和 簡介.)

註: 下述連結有可能有誤, 有些系統不熟, 若有錯誤麻煩請隨時糾正我. orz.

Wednesday, July 11, 2007

Catalyst 介绍








名字



Catalyst 指南 - Catalyst 介绍






描述


本文简单的介绍了为何要用 Catalyst 以及如何使用它。文中解释了 Catalyst 的工作原理并通过一个简单应用的快速建立来加以验证。




Catalyst 是什么?


Catalyst 是一个优雅的 Web 应用框架,极为灵活又特别简单。它类似于 Ruby on Rails、Java 的 Spring 和 Maypole(原来就基于 Maypole 建立)。





MVC


Catalyst 遵循模型-视图-控制(MVC)设计模式,它擅长将内容处理、表示和流程控制方面的工作区分开来交给独立的模块来做。这种区分允许你为某一方面的问题修改代码而不影响解决其它问题的代码。这样 Catalyst 提升了原有的解决 Web 应用方面的问题的模块的重用程度。


下面就是 M、V、C 分别解决的问题,每个方面都有著名的 Perl 模块的可用。



如果你不熟悉 MVC 和设计模式,你得查看一下这方面的原始资料:Gamma、Helm、Johson、Vlissides 写的 Design Patterns,也叫 Gang of Four 或 GoF。你也可以 google 一下。有很多很多的 Web 应用框架都是基于 MVC 的,如前面提到的那些。




灵活性


Catalyst 比起其他的框架来说灵活很多。我们会慢慢的解释,很快就会看到那些你喜爱的 Perl 模块在 Catalyst 里面的应用。




  • 多模型、视图和控制


  • 为了要建立一个 Catalyst 应用,你得用名为 组件(Components) 的模块来处理各种问题。一般这样的代码会非常简单,只是调用 MVC 下面列出的 Perl 模块。Catalyst 用很灵活的方式来使用这些组件。在一个应用里面可以使用任意数量的模板、视图和控制模块。想要操作多个数据库并读写 LDAP 数据么?没问题。想要用 Template ToolkitPDF::Template 来展现同样的模型么?很简单。


Saturday, May 12, 2007

Perl6与唐宗汉

摘要

大部分文字整理自 PerlChina 北京的 3月5日台湾大陆Perl小型聚会 ,唐宗汉的口述,其他部分文字整理翻译自perl的相关站点。
写作目的:讲述一个奇异华人在世界开放源代码界的努力,叙述开放源代码作者们的宏伟蓝图。


唐个人简历:

  • 唐宗汉 男 1981年生人 籍贯台湾。
  • 唐的外表:长发,面白,十指修长。
  • 唐的行为:说话有力,吐字清晰,语速很快(说明思维敏捷),随时携带自己的笔记本电脑,包括上厕所,目的是纪录下自己的随时会有的想法。
  • 唐的称号:据称台湾十大电脑高手。
  • 唐个人网址:http://www.autrijus.org/
  • 唐的工作态度:每天一直努力干活直到累倒为止(累倒,是说感觉到十分的疲劳,沾床就睡的感觉)。
  • 唐的教育经历: 14岁辍学,一直凭兴趣自学计算机知识(自称拥有自8086以来每个类型的计算机,现在在用一台华硕讯驰1。8G,计划很快去买台Mini-mac),是个绝对自学成材的自由软件者。曾去大学蹭课听,主听中文系与哲学系的课程。自我感受听中文系的老教授所讲的知识很有受益。
  • 英语的学习:曾一段时间迷恋万智牌,为了打好牌而常上irc与老外交流,切磋牌技,经过一段时间,在irc里熟练了英语。而且还曾打到台湾万智牌的积分排名第一。
  • 唐现在的生活:
      喜欢旅游,过去去过世界各地的很多地方(基本都是自费)。
      到处推广perl,参加开放源代码会议。刚在大陆给perlchina成员上课,推广perl。

  开办一家小计算机公司2-3年,没有什么正式的员工,大家都是网上认识的朋友。接到工作后,按照过去对大家能力的评价分配给大家干,然后大家分钱。自己干活的话是按照小时收费。每写一小时的软件收费100美金或欧元。写完的产品给客户说明需要开源,开源可以让客户免费享受很多的开源社区升级更新所带来的好处。当然如果客户不同意,他就说明要收两倍的价钱,如果客户要求软件的版权完全归自己所有,他会要求收6倍的价钱(竟然还是有一个客户愿意收6倍的价钱)。


  从2005-02-01开始领导一个开发团队夜以继日的编写Pugs。这个团队大约有十五六人,其中有三分之一来自于台北perl推广组。


  平时当遇到某些困难问题的时候就需要大量的咖啡因(咖啡,后来换成可乐,可乐其实比较伤胃,所以注意不能多喝,好像现在想要换成茶?)。



唐对于perl的经历:

  学习perl只是由于正值互联网的兴起,有公司要他过去开发cgi,这才开始了perl的生涯。后来编写了大量的perl模块,有100多个,可以在cpan(请看附录)上找到。
  网址:http://search.cpan.org/~autrijus/


  原来最初觉得写perl很孤独,但是经过长时间的与各种朋友的交流才发现,原来很多的软件都是用perl写,原来有很多的大公司都在使用perl,例如:微软的员工在用perl,微软赞助了windows下面的perl版本activeperl的开发;摩根士坦利整个公司都在使用perl,他们在2003年赞助了perl基金会大约一半的费用;众多华尔街的金融机构都在使用perl   来做金融数据的处理;物工程科学也都在很大程度上使用perl,据称现在的基因工程还十分得益于perl的快速开发。


  由于在cpan上的贡献,曾在2003年2次获得perl基金会的奖励,每次2000美金。
  网址:http://www.perlfoundation.org/gc/grants/2003.html


  与台北的perl爱好者成立了台北perl推广组,每个月组织一次聚会,大约有30多人,大家见见面,并找个新的perl课题让某个人上台给大家讲演一下。最近半年这个活动已经成为了例行活动。(在台湾写perl的人大家互相都很熟悉,从唐口中了解到了董仲恺,openwebmail的开发者,一个上了8年的博士生,将自己的精力都放在了openwebmail的开发上,一个perl写的web mail,很不错)。


  在2001年唐第2次参加开放源代码大会的时候,需要在会上做一个5分钟的演讲,那时唐刚接管cpan的相关管理工作,所以他把自己在cpan上最喜欢用的模块拿出来用中文创作了一段数来宝(cpan数来宝,有点中文rap的味道),最后还有一段一用英文唱的总结歌曲,这引起了与会者的满堂喝彩。所以以后唐到西雅图,德国,英国,都会应要求表演一段。
  网址:http://wagner.elixus.org/~autrijus/favcpan/start.html
  錄像:http://www.perl.org/tpc/2003/movies/perl-lt/


Monday, July 17, 2006

A free new web template

Last week, I designed the new web template under GPL lisence. You can download and codeview at here.

Wednesday, July 5, 2006

Smaba 客户端配置

环境: Kubuntu 6.06 , KDE 3.5.2
软件: Smb4K

本来原来不能挂载中文共享文件(windows下),今天对 /etc/samba/smb.conf 作了些调整可以了,不过在Smb4k 中被挂载的中文目录却是不能被直接打开(其实是挂载成功的)。

下面是我完整的 smb.conf 文件

Thursday, June 1, 2006

GNU: grep 2.5

GNU/grep
著名开源软件撰稿人Michael Stutz在Linux.com上写作了一篇关于grep新特新的文章,其中描述了主要的几个非常有用的新特性:

  • 新的选项 -o
    新选项 -o 允许用户只匹配字符串而不是某一行
    比如想要抓取某个文件中的URL地址
    egrep -o '(((http(s)?|ftp|telnet|news|gopher)://|mailto:)[^\(\)[:space:]]+)' logfile
    抓取某个文件中的电子邮件email地址
    egrep -o '\@/:[:space:]]+\>@[a-zA-Z_\.]+?\.[a-zA-Z]{2,3}' somefile
    抓取某个邮件存档中的所有发信人地址导出并排序
    grep '^From: ' huge-mail-archive | egrep -o '\@/:[:space:]]+\>@[a-zA-Z_\.]+?\.[a-zA-Z]{2,3}' | sort | uniq > email.addresses

  • 使用带颜色的匹配输出
    grep --color=always "regexp" myfile | less -R
    也可以通过定义 GREP_COLOR 变量设置颜色
    30 black
    31 red
    32 green
    33 yellow
    34 blue
    35 purple
    36 cyan
    37 white

    比如说:
    GREP_COLOR=32; export GREP_COLOR; grep pattern myfile

  • 允许用户使用Perl的正则表达式
    这里新引进了 -P 参数,比如匹配一个系统响铃
    grep -P '\cG' myfile
  • 标准输入行为
    如比你只想匹配 /usr/local/src 中 包含 “linux" 的txt文件
    grep -r --include=*.txt linux /usr/local/src
    还可以指定特定的设备
    grep -r --device=skip linux /
    当搜索一个大文档时,查找10匹配就退出
    grep --line-buffered -m 10 huge.file

  • POSIX 的升级
    升级到符合POSIX 2标准,特别对于正则表达式


就我个人而言是非常喜欢grep的,在系统管理上有很大的用处,当然对与一个Unix/Linux的程序员也是一个非常好的工具,更快更实用,就是GNU/grep的设计标准。

Tuesday, May 16, 2006

充分利用Linux安全防护工具

在ChinaUnix上发现这个文章,虽然都已经知道,不过这篇文章的结构很好,值得学习。

Linux的安全防护离不开各种工具,Linux的开源性也促进了这些优秀的安全防护工具的发展。

目前在Linux环境下的安全工具林林总总,种类繁多。本文精选一些比较常用的、具有代表性的加以介绍,它们包括系统管理工具和网络管理工具。它们基本都是开源的,一般都随着诸如Red Hat Linux、Debian Linux等发行套件而发布,一些发行套件里面没有的,用户可以按照本文所提供的方式下载使用。由于篇幅的关系,本文只对这些工具的用途、原理和使用作指导性的介绍,要了解更加详细的使用情况,读者可以根据文中的介绍去查找和使用。

协议分析工具——Ethereal

Ethereal是一个有名的网络端口探测器,是可以在Linux、Solaris、SGI等各种平台运行的网络监听软件,它主要是针对TCP/IP协议的不安全性对运行该协议的机器进行监听。其功能相当于Windows下的Sniffer,都是在一个共享的网络环境下对数据包进行捕捉和分析,而且还能够自由地为其增加某些插件以实现额外功能。

其最常用的功能是被攻击者用来检测被攻击电脑通过23(telnet)和110(pop3)端口进行的一些明文传输数据,以轻松得到用户的登录口令和邮件账号密码。一般说来,Ethereal基本上是为破坏者所利用的工具,而对于网络管理员来说,也可以通过捕包分析,来确定一些异常的流量和局域网内部的非正常用户与外界的通信,比如说对于现在比较占用网络带宽的诸如Bit Torrent 等P2P应用软件流量,通过使用该软件确定这些流量,网络管理员就可以使用流量控制(TC)的方法来规范、合理的分配带宽资源,提高网络的利用率。

ethereal可以在http://www.ethereal

.com/download.html上下载,该软件有极其方便和友好的图形用户界面,并且能够使得用户通过图形界面的配置和选择,针对多块网卡、多个协议进行显示,效果非常好。目前最新版本为:ethereal 0.10.12。


# cp ethereal-0.10.12.tar.bz2 /usr/local/src/

# cd /usr/local/src/

# bzip2 -d ethereal-0.10.12.tar.bz2

# tar xvf ethereal-0.10.12.tar

另外,同Tcpdump一样,在编译Ethereal之前应先确定已经安装pcap库(libpcap),这是编译Ethereal时所必需的。如果该库已经安装,就可以执行下面的命令来编译并安装Ethereal:


# cd ethereal-0.10.12

# ./configure

# make

# make install

当编译并安装好Ethereal后,就可以执行“ethereal”命令来启动Ethereal。在用 Ethereal截获数据包之前,应该为其设置相应的过滤规则,可以只捕获感兴趣的数据包。Ethereal使用与Tcpdump相似的过滤规则,并且可以很方便地存储已经设置好的过滤规则。

Ethereal和其他的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。使用Ethereal可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。

网络端口扫描工具——nmap

nmap是用来对一个比较大的网络进行端口扫描的工具,它能检测该服务器有哪些TCP/IP端口目前正处于打开状态。用户可以运行它来确保和查证系统目前打开了哪些端口和外界进行通信,从而禁止掉不该打开的不安全的端口号,比如一些特别占用带宽的P2P端口和一些具有漏洞的应用端口。nmap设计的初衷是系统管理员可以方便地了解自己的网络运行情况,例如有多少台主机在运行、分别提供什么样的服务等。因此,它扫描的速度非常快,尤其适合大型网络。在对网络进行扫描时,nmap主要利用ICMP echo探测主机是否开启。nmap的主页为:http://www.insecure.org/nmap/index.html,目前网上最新版本为: nmap-3.93.tar.bz2,可按照如下步骤进行安装:


#bzip2 -cd nmap-3.93.tar.bz2 | tar xvf -

#cd nmap-3.93

#./configure

#make

#make install

下面给出一个探测本机的简单例子:


# nmap 127.0.0.1

Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ )

Interesting ports on localhost (127.0.0.1):

(The 1540 ports scanned but not shown below are in state: closed)

Port State Service

22/tcp open ssh

2401/tcp open cvspserver

Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds

上面通过查看本机的端口使用情况,发现该机器打开了22以及2401端口,且都为TCP服务,另外,1540端口也为该软件扫描到,但是该端口的状态为关闭,所以没有列出来。当然,该软件的功能很强大,还有很多复杂和高级的选项,用户可以自己到该软件的主页上学习。

密码分析工具——John the ripper

在Linux中,密码以hash格式被存储,用户不能反向从该hash数据表中分析出密码,因为该hash函数是单向的。但是,用户可以对一组单词进行hash加密,然后和保存的密码进行比较,如相同就说明猜测出密码。所以要选取一个很难被猜测的、非常有效的密码是非常关键的。一般地来说,决不能用字典存在的某个单词作为密码,那是相当容易被猜测出来的。另外也不能用一些常见的有规则性的字母数字排列作为密码。

为了验证用户所选取的密码是否能由较高的安全性,我们可以使用一些Linux下的密码分系统工具来对这些密码进行分析确认,具有一定的指导意义。在这当中,John the ripper是一个经典、高效的易于使用的密码猜测程序,其主页为:http://www.openwall.com/john/,目前最新版本为 John the Ripper 1.6。下面给出其安装步骤:

下载tar.gz格式的Unix版的程序,然后执行如下命令即可:


#tar xzvf john-1.6.tar.gz

#cd john-1.6/src

#make linux-x86-any-a.out

#cd john-1.6/run

上述命令完成了该软件的解压缩以及编译,使用起来非常方便。在进行密码分析的过程中,有如下几个常用选项:


  • Single:破解单一口令文件。



  • Worldlist:file:利用该软件使用词典文件破解口令,也叫字典攻击。



  • Rules:使用规则库,允许该软件对词典单词做相应变化来破解口令。


  • Incremental:根据john-1.6/run目录下的john.ini文件中定义的参数启用递增或者强行模式。


  • Restore:file:继续一次被中断的破解过程。


  • Session:file:允许定义存储破解信息的文件名。


  • Show:显示上次破解过程所破解出来的口令信息。




在实际的密码分析过程中,推荐如下步骤和方法:

(1)首先,运行以下命令看破解了哪些口令:

#john——single 待破解的口令文件名

#john——show

(2)然后,采用字典攻击,破解口令:

#john——w:字典名 待破解的口令文件名

#john——show

(3)如果上述字典攻击不成功,则进行强行攻击:

#john——待破解的口令文件名

#john -show

日志检查工具——Logcheck

Logcheck是用来自动检查系统安全入侵事件和非正常活动记录的工具,它分析各种Linux下的日志文件,比如前文所介绍过的/var/log/messages、/var/log/secure、/var/log/maillog等等,然后生成一个可能有安全问题的问题报告自动发送电子邮件给管理员。能设置它基于每小时或者每天用crond来自动运行。

Logcheck是一个软件包,用来实现自动检查日志文件,以发现安全入侵和不正常的活动。Logcheck用logtail程序来记录读到的日志文件的位置,下一次运行的时候从记录下的位置开始处理新的信息。所有的源代码都是公开的,实现方法也非常简单。

Logcheck SHELL脚本和logtail.c程序用关键字查找的方法进行日志检测。在这儿提到的关键字就是指在日志文件中出现的关键字,会触发向系统管理员发的报警信息。Logcheck的配置文件自带了缺省的关键字,适用于大多数的Unix系统。但是最好还是自己检查一下配置文件,看看自带的关键字是否符合自己的需要。

Logcheck脚本是简单的SHELL程序,logtail.c程序只调用了标准的ANSI C函数。Logcheck要在cron守护进程中配置,至少要每小时运行一次。脚本用简单的grep命令来从日志文件检查不正常的活动,如果发现了就发送电子邮件给管理员。如果没有发现异常活动,就不会收到电子邮件。

logcheck工具的主页在http://logcheck.org/,用户可以在上面下载其最新版本: logcheck-1.1.1.tar.gz。下载后用tar xvfz logcheck-1.1.1.tar.gz命令解开到一临时目录下,然后用make linux自动生成相应的文件到/usr/local/etc、/usr/local/bin/等目录下。用户可能需要更改设置,如发送通知到谁的邮件账号等,默认发送到root。

利用logcheck工具分析所有logfile,避免每天经常手动地检查它们,节省了时间,提高了效率。

后门工具——rootkit

rootkit是一种比普通木马后门更为隐秘和危险的木马后门。它主要通过替换系统文件来达到目的,这样就会更加隐蔽,使检测变得比较困难。传统的rootkit主要针对Unix平台,例如Linux、AIX、SunOs 等操作系统,有些rootkit可以通过替换DLL文件或更改系统来攻击Windows平台。rootkit并不能让攻击者直接获得权限,相反它是在用户通过各种方法获得权限后才能使用的一种保护权限的措施,在攻击者获取系统根权限(根权限即root权限,是Unix系统的最高权限)以后,rootkit 提供了一套工具用来建立后门和隐藏行迹,从而让攻击者保住权限,在任何时候都可以使用root权限登录到系统。

rootkit主要有两种类型:文件级别和系统级别,下面分别加以简要介绍。

1.文件级rootkit

rootkit威力很大,可以轻而易举地在系统中建立后门。最一般的情况就是它们首先进入系统然后修改系统的重要文件来达到隐藏自己的目的。合法的文件被木马程序替代。通常情况下,合法的程序变成了外壳程序,而其内部就是隐藏着的后门程序。下面列出的程序就是经常被木马程序利用掩护自己的Linux rootkit:login、 ls、ps、 find、who、 netstat。

其中,当我们访问Linux时(不管是本地还是远程登录),/bin/login程序都会运行,系统将通过 /bin/l ogin来收集并核对用户的账号和密码。rootkit使用一个带有根权限后门密码的/bin/login来替换系统的/bin/login,这样攻击者输入根权限后门的密码,就能进入系统。就算管理员更改了原来的系统密码或者把密码清空,仍能够使用后门密码以根用户身份登录。在攻入Linux系统后,入侵者通常会进行一系列的攻击动作,如安装嗅探器收集重要数据,而Linux中也会有些系统文件监视这些动作,比如ifconfig等系统命令。所以,为了避免被发现,攻击者会想方设法替换一下这些系统文件,通常被rootkit替换的系统程序有login、ifconfig、du、find、ls、 netstat、ps等。这些命令都能在正常情况下查看系统一些重要的进程、文件和网络情况的信息,而一旦被替换,则无法发现rootkit已经在系统中工作。所以,如果攻击者将所有用户经常使用的命令都替换了的话,他不但能在系统中建立后门,而且还可以隐藏自己的踪迹。所以通过rootkit可以达到双重目的,攻击者可以随时进入系统,并且我们还不能对他的行为进行检测。

rootkit功能如此强大,所以必须好好进行防范。实际上,最有效的防御方法是定期对重要系统文件的完整性进行核查,这类工具很多,像Tripwire就是一个非常不错的文件完整性检查工具。该软件可以检测出一段时间内,系统中哪些文件发生了变化,如果一旦被替换,那么肯定能够反映出来。(该软件的使用方法请参阅本报2005 年4月18日第14期C10版《使用Tripwire保护Linux文件系统》一文,或访问 www2.ccw.com.cn/05/0514/d/0514d04_1.asp)而一但使用该软件发现系统遭受到rootkit攻击,必须完全重装所有的系统文件、部件和程序,以确保安全性。

下面给出一些目前常用的文件级rootkit工具,用户可以选择使用:TrojanIT、Lrk5、Ark、Rootkit(有很多个不同的版本)、TK。

2.内核级rootkit

在大多数操作系统中(各种Unix和Windows),内核是操作系统最基本的部件,它控制着对网络设备、进程、系统内存、磁盘等的访问。例如当你打开一个文件时,打开文件的请求被发送到内核,内核负责从磁盘得到文件的比特位并运行文件浏览程序。内核级 rootkit使攻击者获得对系统底层的完全控制权。攻击者可以修改系统内核,大多数内核级rootkit都能进行执行重定向,即截获运行某一程序的命令,将其重定向到入侵者所选中的程序并运行此程序。也就是说,用户或管理员要运行程序A,被修改过的内核假装执行A,实际却执行了程序B。

对于工作在文件级的rootkit来说,它们非常容易被检测到。而内核级rootkit工作在一个很低的内核级上。它们经常依附在内核上,并没有修改系统的任何文件,于是tripwire工具就不能检测到它的使用。因为它并没有对系统的任何文件进行修改,攻击者可以对系统为所欲为而不被发现。系统级rootkit为攻击者提供了很大的便利,并且修复了文件级rootkit的一些错误。所以建议用户要做好前期的安全防范工作。例如将最小权限的原则应用到整个系统当中,这样攻击者就很难在系统中运行内核级的rootkit,因为运行它首先需要取得root权限。另外,可以模仿攻击者的攻击方式来确认系统是否已经受到内核级rootkit的威胁。以系统管理员的身份来运行攻击者一般需要运行的命令,如果系统对这些命令有所反应,那么基本可以确定系统已经被入侵了。不过做好前期的防范工作始终是最重要的,事后的弥补比较困难,而且显得有些捉襟见肘。

下面给出一些目前常用的内核级rootkit工具,用户可以选择使用:Knark、Adore。

由于上述的rootkit的工具种类繁多,所以这里不再介绍其安装以及使用的步骤,网上有很丰富的资源,读者可以参看。

系统管理工具——sudo

sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt、reboot、su 等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。如果用户在系统中需要每天以root身份做一些日常工作,经常执行一些固定的几个只有root身份才能执行的命令,那么用sudo是非常适合的。

sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:


  • sudo能够限制用户只在某台主机上运行某些命令。


  • sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。


  • sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票(这个值可以在编译的时候改变),过了这个时间,用户所获得的权限将失效。


  • sudo的配置文件是sudoers文件,它允许系统管理员集中管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0411。




sudo的主页为:http://www.sudo.ws/sudo/,当前最新的稳定版本为sudo 1.6.8p9。可以从该网站下载文件sudo-1.6.8p9.tar.gz后进行解压安装,如下步骤所示:

#tar xzvf sudo-1.6.8p9.tar.gz

#cd sudo-1.6.8p9

在笔者所使用的版本中,将该软件解压后即可使用,也不需要编译,直接进入sudo-1.6.8p9中使用sudo命令即可。如下所示:

#[root@localhost root]# su liyang

[liyang@localhost root]$ sudo reboot

Password:******

上述例子中,用户liyang使用sudo命令来行使root的权限,重新启动系统。因为通常情况下,一般用户并没有这个权限。系统提示输入该用户的密码加以确认。另外,为了达到该目的,还需要root用户修改一下上述的sudo的配置文件sudoers,将其中的相关选项改为如下内容:

# User privilege specification

root ALL=(ALL) ALL

liyang ALL=(ALL) ALL

这里,liyang用户具有和root同样的权限,当然在实际应用中不能这么做,而只能将部分权限赋给用户。

其他工具

本文上面介绍的几款安全工具是在实际应用中经常使用的,他们的功能非常强大。在当前环境下,这些工具以及工具的变种层出不穷。比如一些被黑客用来进行攻击的后门和特洛伊木马工具、Sadmind攻击工具、DoS攻击工具(Targa)、DdoS攻击工具等等。虽然这些是黑客工具,但是也可以用来对系统某方面的漏洞进行测试攻击,从而采取打补丁、升级系统、加固系统的方法来保障系统安全。特别是系统管理员要有这种超前的意识,应该多采用和有针对性地选用一些黑客攻击工具,对系统的安全进行分析、评价和保护,这是一项长期的、艰巨的任务。

虽然一些工具是黑客工具,但是也可以用来对系统某方面的漏洞进行测试攻击,从而采取打补丁、升级系统、加固系统的方法来保障系统安全。系统管理员要有一种超前的意识,应该多采用和有针对性地选用一些黑客攻击工具,对系统的安全进行分析、评价和保护,这是一项长期的、艰巨的任务。

Wednesday, March 22, 2006

Xara Xtreme on Linux !

这几周以来听到的最好消息就是 Xara Xtreme 的发布,它是 Xara (一个win32系统的高速图形处理软件的Linux版本,更为重要的是,它是开源软件,如果你是LINUX上的高级用户,你完全可以定制 Xara Xtreme。) 它几乎和WIN32版本的界面,操作一模一样;非常容易上手。并且Xara网站上提供了非常丰富的视频教程和图象资源,不到一天,你就可以成为专业的图形处理专家。

值得注意的是它是运行在 GTK+ 引擎上的,似乎优秀的图形处理工具都不约而同的选择了 GTK+ 引擎,比如GIMP, Inkscape。 毫无疑问,Xara Xtreme 这次的发布给LINUX社区带来了一份厚礼,有GIMP,Inkscape,Xara Xtreme成为一名优秀了LINUX平台处理专家,你还忧郁什么?

Sunday, February 5, 2006

Bluefish 1.0.5 released!

Improvements, changes and fixes you can expect in this maintenance and bug-fix release:




A complete list of all changes can be found in the NEWS file.

Wednesday, February 1, 2006

降低企业互联网络投入:使用开放源代码

如果您对开放源代码还不是很了解,可以先查阅google相关搜索结果

您的公司还需要象那些信息科技公司支付高额的费用却又常常获得劣质的WEB内容管理程序或者电子商务网站? 其实没有必要那样做,你只需要使用完全免费的CMS(内容管理系统),其实他们都不止是内容管理,通过安装插件或者自己编写简单的代码,你就可以或者电子商务甚至公司资源管理,这样的系统非常适合中小企业,不过你最好于精通这些开源代码的知讯公司购买相关的信息服务,这样你就完全可以不必花钱雇佣一个员工来做公司的互联网络事物,因为有了知讯公司与完全免费的代码,你还缺什么呢?你只需要在空余时间把需要的东西通过内容管理系统输入到自己的站点之上。

这是我常常关注的几个开放代码CMS系统,各有特点:

Tuesday, January 31, 2006

SeaMonkey 1.0 Released

期待已久的 Mozilla Application Suite 革新项目 “SeaMonkey” 昨天正事发布了1.0版本!



The SeaMonkey Council is proud to announce SeaMonkey 1.0, the first end-user release of their internet suite. This open source application, available as a free download from its mozilla.org-hosted website, features a state-of-the-art web browser and powerful email client, as well as a WYSIWYG web page composer and a feature-rich IRC chat client. For web developers, mozilla.org's DOM inspector and JavaScript debugger tools are included as well. SeaMonkey 1.0 is one of the most complete, powerful, and secure internet software packages available today.

Wednesday, January 11, 2006

博客系统升级到 wordpress 2.0

顺利升级,本来以为插件与模板装多的会出问题,没想到非常顺利的就完成了升级,到 www.wordcodess.org 下载2.0包,解包 -> ftp上传覆盖(上个月备份过,所以也就懒的备份什么的了) -> 升级

http://yoursite/wp-admin/upgrade.php

mod_fastcgi的安装注意

今天帮人安装mod_fastcgi,fcgi用来运行 Ruby On Rails

  1. 先下载fgi-2.4.0安装,很容易,使用

    $./configure
    $make
    $sudo make install

    就可以。


  2. 在fastcgi官方网站上下载最新的源代码(目前是 2.4.2 不过也是2003年的更新,确实用不着更新,目前fastcgi被各种apache的mod慢慢取代了,但是它还是可以发挥很大的作用,不过需要注意的是:在 Apache 2.2 版本上 mod_fastcgi 不能正常编译,这是因为apache 2.2 重写了很多代码,看来fast_cgi不得不会再次更新了)

  3. 安装在apache 2.0 版本,阅读 INSTALL.AP2 文档,需要拷贝 Makefile.AP2 到 Makefile

    $cp Makefile.AP2 Makefile


    接下来就是指定Makefile中 top_dir 的正确路径,也就是你的apache2的安装路径,我的是



    #
    # Makefile for Apache2
    #

    builddir = .

    top_dir = /opt/apache

    top_srcdir = ${top_dir}
    top_builddir = ${top_dir}

    include ${top_builddir}/build/special.mk

    [......]


    接下来编译安装就行了

    $make
    $sudo make install


  4. 这时已经把 mod_fastcgi 正确安装了,这时在 你的 apache2 的配置文件 httpd.conf 中加入


    LoadModule fastcgi_module modules/mod_fastcgi.so

    然后让apache2重新启动就可以了

    $sudo apachectl restart

    或者重新加载配置文件

    $sudo /etc/init.d/apache reload

  5. 如果是debian或者ubuntu的用户,直接用apt-get安装就可以了

    $sudo apt-get install libapache2-mod-fcgid

    如果是apache不是apache2那么就是

    $sudo apt-get install libapache-mod-fcgid



Tuesday, January 10, 2006

关于Debian中info软件与texlive的冲突问题

今天系统例行维护自动安全更新之后,info软件包软件包出现了问题

> No `START-INFO-DIR-ENTRY' and no `This file documents'.
> install-info(/usr/share/info/info-stnd.info): unable to determine description
> for `dir' entry - giving up
> dpkg: error processing info (--configure):
> subprocess post-installation script returned error exit status 1
> Errors were encountered while processing:
> info
> E: Sub-process /usr/bin/dpkg returned an error code (1)

发现是因为在info上次更新后安装了 texlive,把texlive中的 install-info 可执行文件链接到了 /usr/bin/install-info ,然而真正的系统 install-info 文件却是在 /usr/sbin/install-info 位置,并且 texlive 把 info 文件也链接到了 /usr/share/info 目录中,删去这些就可以了。
$sudo rm /usr/bin/install-info
$find /usr/share/info/ -type l | sudo xargs rm

Thursday, January 5, 2006

Compile VLC media player on Ubuntulinux Hoary 5.04

VLC is a powerfull and free cross-platform media player, VLC can also be used as a streaming server. You can use it to save streaming media on your local PC. Now I'll show how to complie a VLC media player from source on ubuntulinux.

  1. download source from the VLC offical website

  2. complie it:

    ./configure --enable-real --enable-realrtsp --enable-esd --enable-xosd --enable-loader && make && sudo make install



  3. now you can use VLC media player by command "vlc", and don't forget set the Options -> Audio -> Output modules(advansed) -> EsounD output. enjoy it!



There is a srceenshot of my VLC media player on flickr ;)

Saturday, December 24, 2005

在Linux中转换 .bin 文件为 .iso 文件方法


  • 使用 bchunk 软件包
    CD image format conversion from bin/cue to iso/cdr
    The bchunk package contains a UNIX/C rewrite of the BinChunker program.
    BinChunker converts a CD image in a .bin/.cue format (sometimes .raw/.cue)
    into a set of .iso and .cdr/.wav tracks. The .bin/.cue format is used by some
    non-UNIX CD-writing software, but is not supported on most other CD-writing
    programs.


Monday, December 19, 2005

gimp技巧:怎么制作水晶按钮

今天根据一些资料自己总结了一个用gimp制作水晶按钮(Aqua button)的方法,当然使用图层与朦板结合的方法加上gimp标准的虑镜或者自己/别人写的虑镜可以制作出更棒的效果,注意,若是转载请著名出处哦 ^_^

  1. 系统:ubuntulinux hoary,gimp 版本: 2.3.3 开发者版本(不过推荐使用最新稳定版本

  2. 先看看最终效果

  3. 先按照我的这篇gimp文章创建一个如图所式黑底白前景色的新层

  4. 新建第二个图层,添加图层朦板,并把上一层复制到朦板中,此时可以利用图案填充等工具得到如下效果(当然你可以选择自己需要的颜色或者图案)

  5. 再新建一图层,用黑白渐变填充这个图层

    然后把这个渐变图层的模式设置为:遮蔽,此时关闭掉步骤 2 中的图层视图可以得到如下效果

  6. 接下来就是再新建一个图层制造如下图所式的光照效果:

    • [ 图像 ] - 选择 -收缩 - 2px

    • 使用选择矩形区域工具

    • 按住 Ctrl 键从当前选区减去 80% 的选取

    • 以 白色 填充

    • [ 图像 ] - 选择 - 无

    • [ 图像 ] - 虑镜 - 模糊 - 高斯模糊(IIR) - 2px

    • 设置这一图层的模式为: 遮蔽



  7. 最后再加上边框或者投影,添加背景图层,就得到了最终效果,如果不清楚,我这里还有一个 .xcf 格式的源文件 可以下载使用gimp仔细研究一下。


gimp技巧:圆形轮廓技巧

很多时候在gimp中制造圆形轮廓可以用 [图像] - 选择 - 圆角矩形,但是如果你需要一次的的处理多个矩形或者想制造与众不同的圆角该怎么办?这里介绍一个时候色阶变换的方法。

  1. 黑色 为背景填充画布,然后再选择矩形矩形区域以白色填充


  2. 操作:

    1. [图像] - 选择 - 无

    2. [图像] - 虑镜 - 模糊 - 高斯模糊(IIR) - 20px

    3. [图像] - 图层 - 颜色 - 色阶
      输入值: 119 - 1.00 - 135




  3. 最终效果


  4. 当然,还可以选择其它颜色与图形进行处理,这样的处理,可以为图层的相关朦板操作作基础

Sunday, December 18, 2005

用xmame模拟器在linux上玩游戏


  1. 安装:如果你使用的是debian或者ubuntu,
    $sudo apt-get instal xmame-common xmame-sdl xmame-svga xmame-tools xmame-x gxmame

    如果你使用其它发行版,比如redhat或者gentoo等,可以通过各自的安装手段找到xmame相关的软件包并安装;如果你实在找不到安装源,可以在
    http://x.mame.net/download.html

    找到最新版本的源代码。

  2. 下载 mame rom : 其实就是一些相关的zip压缩包,我在国内的站点找了一下,不是要收费就是下载速度慢得惊人,或者有些站点的下载链接根本就早已失效了;所以你应该在verycd找到链接,或者在我推荐的这几个国外站点下载



  3. 比如我下载的是Strikers 1945 Plus这个街机游戏,保存到任意目录,比如 ~/gmae/mame/rom/ ,现在还不能运行,因为neogeo的这款街机游戏还需要称为BIOS的文件才能成功启动游戏,如果没有neogeo.zip这个文件,错误提示会是未找到一些相关文件。所以接下来应该下载 neogeo.zip(261k) 这个文件。当两个文件都下载完成后,都放到 ~/gmae/mame/rom/ 中,不需要解压缩

  4. 现在就可以运行游戏了(进入 ~/gmae/mame/rom/ 中):
    xmame -ws 2 -hs 2 ./s1945p.zip

    其中 -ws 参数是游戏窗口是默认宽度的倍数, -hs 是高度倍数,这里我都设置的2倍;注意,一定要在 s1945p.zip 前加上 ./

  5. 游戏设置

    • 基本的画面控制: 左 alt + home 为全屏快捷键

    • 游戏按键设置: 按 tab 弹出英文菜单,可以自己设置,非常容易

    • 初始设置: 投币(9) ,确认(1/2), A(Ctrl), B(Alt), 退出(Esc), 还有很多可以按 tab 提示进行设置


  6. 以上是命令行形势的运行xmame,你还可是使用它的图形前端 gxmame 选择和启动,配置游戏,但我总认为还是命令行更好用,虽然看起来没有图形前端友好,不过xmame模拟器的却是在linux下放松的好东西(当然也可以玩一些大型游戏来放松,不过肯定没有mame游戏多),无聊的时候也去下载几个小时候在FC上玩的游戏再玩一玩,回忆一下童年的美好时光~ ^_^