搬砖头

Knocking on Heaven's Door
posts - 34, comments - 6, trackbacks - 0, articles - 0

2009年4月28日

RedHat Linux操作系统修改时区的方法
Most modern Linux distributions have user-friendly programs to set the timezone, often accesible through the program menus or right-clicking the clock in a desktop environment such as KDE or GNOME. Failing that it’s possible to manually change the system timezone in Linux in a few short steps.
It’s possible to change the system timezone in Linux in a few short steps.
Steps
1. Logged in as root, check which timezone your machine is currently using by executing `date`. You’ll see something like “Mon 17 Jan 2005 12:15:08 PM PST -0.461203 seconds”, PST in this case is the current timezone.
2. Change to the directory to /usr/share/zoneinfo, here you will find a list of time zone regions. Choose the most appropriate region, if you live in Canada or the US this directory is the “Americas” directory.
3. If you wish, backup the previous timezone configuration by copying it to a different location. Such as `mv /etc/localtime /etc/localtime-old`.
4. Create a symbolic link from the appropiate timezone to /etc/localtime. Example: `ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime`.
5. If you have the utility rdate, update the current system time by executing `/usr/bin/rdate -s time.nist.gov`. (This step can be skip!)
6. Set the ZONE entry in the file /etc/sysconfig/clock file (e.g. “America/Los_Angeles”)
7. Set the hardware clock by executing: ` /sbin/hwclock –systohc`
Tips
· On some versions of RedHat Linux, Slackware, Gentoo, SuSE, Debian, Ubuntu, and anything else that is “normal”, the command to display and change the time is ‘date’, not ‘clock’
· On RedHat Linux there is a utility called “Setup” that allows one to select the timezone from a list, but you must have installed the ‘redhat-config-date’ package.
Warnings
· Some applications (such as PHP) have separate timezone settings from the system timezone.
· On some systems, /etc/localtime is actually a symlink to the appropriate file under the /usr/share/zoneinfo directory (rather than a copy of that file).
· On some systems, there is a system utility provided that will prompt for the correct timezone and make the proper changes to the system configuration. For example,Debianprovides the “tzsetup” utility.
Here is an example of changing the timezone: (Logged in as root)
In order to manually change the timezone, you can edit the /etc/sysconfig/clockfile and then make a new soft link to /etc/localtime. Here is an example of changing the timezone manually to “America/Denver”:
1. Select the appropriate time zone from the /usr/share/zoneinfo directory. Time zone names are relative to that directory. In this case, we will select “America/Denver”
2. Edit the /etc/sysconfig/clocktext file so that it looks like this:
ZONE=”America/Denver”
UTC=true
ARC=false
Of course, this assumes that your hardware clock is running UTC time…
3. Delete the following file: /etc/localtime (backup it when you need it !)
4. Create a new soft link for /etc/localtime. Here is an example of step 3 and step 4:
# cd /etc
# ls -al localtime
lrwxrwxrwx 1 root root 39 Mar 28 07:00 localtime -> /usr/share/zoneinfo/America/Los_Angeles
# rm /etc/localtime
# ln -s /usr/share/zoneinfo/America/Denver /etc/localtime
# ls -al localtime
lrwxrwxrwx 1 root root 34 Mar 28 08:59 localtime -> /usr/share/zoneinfo/America/Denver
# date
Fri Mar 28 09:00:04 MST 2003


针对中国时区,修改操作如下
1.   修改文件 /etc/sysconfig/clock内容:
ZONE=Asia/Shanghai
UTC=false
ARC=false
2.     rm /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
还有其他方法修改时区,不过是基于图形化界面的命令: tzselect 、 timeconfig
本文为镜像,原贴在此:http://www.btk4ever.com/?p=10443

posted @ 2009-04-28 09:35 生活在别处 阅读(1914) | 评论 (0)编辑 收藏

朋友搬到个新地方,没有宽带了,但是能收到些加密的无线网络,挺想蹭网的,本人由于是所谓“挨踢”人士,自当义不容辞出手相助。

我也只是想了解下WEP破解这事,目的也只是提醒大家一下要加强无线网络安全,千万不要干啥非法的事情,当然有本事的话,就把屁股擦干净。

其实前两年我就知道WEP加密是极不安全的,而且也出于好奇做过密钥破解的尝试,但是由于破解软件特别挑网卡,结果自然就是半途而废了。这次到网上 再度查了点相关资料,发现这事情已然变得相当的简单了,基本上只需要 BackTrack3 就可以搞定了。Backtrack 是一个黑客操作系统,其实也算是一个linux的黑客版,主要是安装了很多实用的软件和黑客工具,偏向于安全侵入方面的。

我是下载了一个BackTrack3 的usb版本,并且下了最新的扫描工具spoonwep2,系统自带的是spoonwep也能用,但是据说新版更好使,更方面。整个过程挺简单的,机器设 置成usb可引导启动,然后启动进入usb上的BackTrack系统,都是图形界面的,打开spoonwep2工具,扫描周围的无线信号,选择信号强 的,有客户端连接,并且DATA包比较多的信号来破解吧,这样应该可以快点,据说XX分钟就能破解了。没有客户端连接的无线信号,据说有些AP也是同样可 以破解的,无非是攻击方式的变化以及花费的时间更长而已。

我的经历是,晚上10点多开始破一个无线信号,等了一个多小时,进度开始变缓慢,因为本来连着的两个客户端下线了,估计困搞去了…,很无奈,我也不 能傻等,只得也睡觉去了。第二天早上起来,1o点多的时候,才抓满了要求的数据包,整个密钥破解过程倒是瞬间完成,然后我看到的密码是”1111111″ ,囧 rz,看来设无线密码的人都很懒。这个过程还是挺漫长的,可能是没选择对正确的攻击方式,导致数据包获取的过程很长。假如有客户端在BT下载,估计快很 多,要是只是qq聊天,那就要耗很久了。不过整个过程,已经相当的傻瓜化了。

这事也不能说的太细,想了解详细的人,网上查去吧,顺便提供一个教程

至于如何加强无线安全,有这么几点(网上找的)

如果你需要你的AP很难被破解,建议:
1)用WPA 加密方式,并且使用不可能被字典猜到的密码,目前还是基本可靠的
2)如果只支持 WEP加密,那么,尽量考虑用隐藏 SSID的方式,这样可以增加破解难度
3)如果只支持 WEP加密,那么,可以考虑使用中文名字作为SSID,这样基本问题不大。
4)一般破解时候,大家都会选择常用的频道,例如 6频道, 第三步显示频道的时候,你的AP也会被列出来,那么第一个目标失败的时候,黑客往往会选择第二个容易下手的目标, 但是如果你选择了8、 4、这些奇怪的频道,那么狠客往往懒得重新进入该频道的监控模式,你就可以逃过一劫。不过, 某些廉价AP,往往对6 频道做了优化,这个频道信号最强….这就没办法了。
5)有空换换你的密码:)

还有其他几点也可以做,如减低信号、关闭DHCP、MAC地址绑定,当然这些措施也只是增加难度而已。

最后提一下,蹭网是有风险的,无线信号不加密的,人家未必就是大善人或者菜鸟,而且还有人专门钓鱼的,加大信号,设置简单密码,专门等蹭网的人来,数据包一抓,等着被玩吧。

本文为镜像,原贴在此:http://www.btk4ever.com/?p=10423

posted @ 2009-04-28 09:33 生活在别处 阅读(1095) | 评论 (0)编辑 收藏

2009年2月17日

考虑把Live Space的日志转移到Wordpress 架的blog去,郁闷的是Live Space并不支持通用的导出格式,要是一条条日志复制过去的话,这工作量也实在是够吓人的。只好到网上找解决办法了,真搞不定的话,只能放弃Live Space的日志了。结果很不幸,被我找个一个Live Space Mover的工具,很华丽的搞定了动迁的工作。在此向作者Wei Wei致敬了,随便介绍推广一下。

Live Space Mover 工具的说明在这里:http://b2.broom9.com/?page_id=519

这个工具是通过Python脚本抓取live space的日志和留言,保存为wordpress支持的通用xml文件。最后将文件通过wordpress后台管理提供的导入功能,将日志迁移过去。

具体操作步骤就参照作者blog里的user guide,非常详细的。

大致过程是这样:

1.安装Python的环境,并下载Beautiful Soup的类库

2.Google Code下载最近的Live Space Mover 工具(几个python脚本)

3.按照作者的要求,对space进行设置,主要是开放访问权限和设置日期格式

4.命令行方式执行脚本,开始日志抓取(脚本参数参照user guide)

–如执行过程出现超时或者假死情况(我都碰到了…),关闭重新执行脚本即可,工具有cache文件,会从断点开始继续的

5.将生成的xml文件导入wordprss

工具目前还有一点瑕疵,下面这段话来自作者的blog,关于目前工具无法解决问题的说明,看来又是live space的怨念。

After the live space updates in Dec 2008 (live space mover version 1.7), there are some limitations for comments, including:

1. can’t get the accurate time of comments, sometimes even incorrect;

2. can’t get the email and url of comment authors.

These are both due to the ridiculous design of Live Space. If you have any idea about how to solve these 2 problems, please let me know.

本文为镜像,原贴在此:http://www.btk4ever.com/?p=10025

posted @ 2009-02-17 17:00 生活在别处 阅读(809) | 评论 (0)编辑 收藏

已部署的一个JAVA程序最近需要改成定期执行,于是就放到crontab调度,结果遇到了中文乱码问题。脚本在shell环境下直接运行没有问 题。到网上收了一下,碰到这个问题的还真不少,结论是crontab执行时不会携带用户的环境变量,缺失一些系统变量。需要在脚本里额外添加缺失的环境变 量,针对中文问题,需要声明 LANG参数

在脚本开头增加:
LANG=”zh_CN.GB18030″
export LANG

由于是中文问题,设置的编码要和系统设置的一致,具体可以到/etc/sysconfig/i18n 查看对应的环境变量

本文为镜像:原帖在此:http://www.btk4ever.com/?p=10040

posted @ 2009-02-17 16:55 生活在别处 阅读(1211) | 评论 (0)编辑 收藏

2008年11月11日

据说在oracle 10g的版本,在数据库实例正常启动open的情况下,直接通过命令类似" drop database 'dbname' "这种方式就可以删除一个数据库实例。
这里说的是oracle 9i的情况下,不依赖其他工具的情况下,手工删除一个数据库实例。
操作步骤为网上查来的,并经过我验证通过,操作之前请确保该实例已经被停止,具体步骤见下:
========================
To delete a database,
First:
Select "rm -f "||name from v$controlfile
union
select "rm -f "||name from v$datafile
union
select "rm -f "||member from v$logfile;
Second:
Clean up above output & make it executable
Third:
If installation follows OFA standard:
remove directory $ORACLE_BASE/admin/$ORACLE_SID
Fourth:
Delete archive log directory (if archive mode)
============================
 

posted @ 2008-11-11 11:49 生活在别处 阅读(1546) | 评论 (0)编辑 收藏

找一篇靠谱的教程来跟着做,是相当重要,不然就会吃药,网上文章都是抄来抄去的,不然怎么死的都不知道个。
我比较衰,找了一篇不是很靠谱的来做,结果越到了不少小问题。
关于手工建库,参照下面两篇,应该是比较靠谱的。
另外一篇比较靠谱的文章,地址如下:http://www.ixdba.net/hbcms/article/14/336.html
===============================================

Red Hat Enterprise 3 + Oracle 10g Release 2

$su – oracle

1--- 设置系统环境变量:

ORACLE_HOME=/opt/oracle/product/10.2

ORACLE_BASE=/opt/oracle

ORACLE_SID=dbtest

......

2--- 系统规划:

实例名称ORACLE_SID=dbtest

数据库名称DB_NAME=dbtest

3--- 手工创建如下目录:

/opt/oracle/admin/dbtest/cdump

/opt/oracle/admin/dbtest/bdump

/opt/oracle/admin/dbtest/udump

/opt/oracle/admin/dbtest/pfile

/opt/oracle/oradata/dbtest/

/opt/oracle/oradata/dbtest/archive

4--- 建立密码文件:

orapwd file=/opt/oracle/product/10.2/dbs/orapwd_dbtest password=superman

5---修改参数文件:

格式:/opt/oracle/product/10.2/dbs/init.ora

实例:/opt/oracle/product/10.2/dbs/initdbtest.ora

内容如下:

---------------------------------------------------

dbtest.__db_cache_size=331350016

dbtest.__java_pool_size=4194304

dbtest.__large_pool_size=8388608

dbtest.__shared_pool_size=138412032

dbtest.__streams_pool_size=0

*._kgl_large_heap_warning_threshold=8388608

*.audit_file_dest='/opt/oracle/admin/dbtest/adump'

*.background_dump_dest='/opt/oracle/admin/dbtest/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/opt/oracle/oradata/dbtest/control01.ctl','/opt/oracle/oradata/dbtest/control02.ctl','/opt/oracle/oradata/dbtest/control03.ctl'

*.core_dump_dest='/opt/oracle/admin/dbtest/cdump'

*.db_2k_cache_size=33554432

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=128

*.db_files=4000

*.db_name='dbtest'

*.db_recovery_file_dest_size=4294967296

*.db_recovery_file_dest=''

*.log_archive_dest='/opt/oracle/oradata/dbtest/archive'

*.log_checkpoints_to_alert=FALSE

*.open_cursors=300

*.parallel_execution_message_size=65535

*.parallel_max_servers=128

*.pga_aggregate_target=209715200

*.processes=150

*.recyclebin='OFF'

*.remote_login_passwordfile='EXCLUSIVE'

*.replication_dependency_tracking=FALSE

*.session_cached_cursors=100

*.sga_target=500m

*.shared_pool_size=100m

*.undo_management='AUTO'

*.undo_retention=0

*.undo_tablespace='UNDOTS'

*.user_dump_dest='/opt/oracle/admin/dbtest/udump'

*.workarea_size_policy='AUTO'

_allow_resetlogs_corruption=true

---------------------------------------------------

可将此文件复制到:/opt/oracle/admin/dbtest/pfile/init.ora

6--- 登陆oracle

> sqlplus “/ as sysdba”

7--- 启动实例:

SQL> startup nomount pfile=/opt/oracle/admin/dbtest/pfile/init.ora

8--- 创建数据库的脚本:

-----------------------------------------------------------

CREATE DATABASE dbtest

LOGFILE

GROUP 1 ('/opt/oracle/oradata/dbtest/redo01.log','/opt/oracle/oradata/dbtest/redo01_1.log') size 100m reuse,

GROUP 2 ('/opt/oracle/oradata/dbtest/redo02.log','/opt/oracle/oradata/dbtest/redo02_1.log') size 100m reuse,

GROUP 3 ('/opt/oracle/oradata/dbtest/redo03.log','/opt/oracle/oradata/dbtest/redo03_1.log') size 100m reuse

MAXLOGFILES 50

MAXLOGMEMBERS 5

MAXLOGHISTORY 200

MAXDATAFILES 500

MAXINSTANCES 5

ARCHIVELOG

CHARACTER SET UTF8

NATIONAL CHARACTER SET UTF8

DATAFILE '/opt/oracle/oradata/dbtest/system01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/opt/oracle/oradata/dbtest/sysaux01.dbf' SIZE 1000M

UNDO TABLESPACE UNDOTS DATAFILE '/opt/oracle/oradata/dbtest/undo.dbf' SIZE 500M

DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oracle/oradata/dbtest/temp.dbf' SIZE 500M

;

-----------------------------------------------------------

9--- 运行如下文件(安装下面的先后顺序)

/opt/oracle/product/10.2/rdbms/admin/catalog.sql

/opt/oracle/product/10.2/rdbms/admin/catproc.sql

10--- 创建相关表空间与用户:

CREATE TABLESPACE USERS DATAFILE '/opt/oracle/oradata/dbtest/users01.dbf' SIZE 1000M;---数据表空间

CREATE TABLESPACE INDX DATAFILE '/opt/oracle/oradata/dbtest/indx01.dbf' SIZE 1000M;---在建立索引的时候把此表空间作为存储空间,即单独用一个表空间来存储索引,这是个好习惯,虽然我们没有办法建立一个默认的索引表空间!

CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE users ;---测试用户

GRANT CONNECT,RESOURCE TO test;

11--- 一点注意的地方:

1>.相关文件的目录要设置正确,有数据文件,控制文件,参数文件等,还有就是它们的位置要与控制文件中指定的要一致。

2>.init.ora中的undo_tablespace的名字必须要与create database的相同,包括大小写等注意。否则很麻烦,报的错误你都不知道是不是在忽悠你!总之,一句话,控制文件中的内容要和init文件中的内容以及要和实际文件的实际情况要相同。

3>.分析数据库出错可以到/opt/oracle/admin/dbtest/bdump/alert_dbtest.log中查找。

===============================================

 补充:

   我碰到的一个问题,在普通用户sqlplus登录时,碰到下面的告警提示  

    Error accessing PRODUCT_USER_PROFILE
Warning: Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM

 请按照提示,以SYSTEM用户登入SQL*Plus,然后执行PUPBLD.SQL,这个文件通常在$ORACLE_HOME/sqlplus/admin目录中。
SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql

posted @ 2008-11-11 11:47 生活在别处 阅读(585) | 评论 (0)编辑 收藏

切割合并文件在linux下用split和cat就可以完成。下面举些实例进行说明。
1.文件切割
文件切割模式分为两种:
     文本文件
     二进制模式。
1.1文本模式
文本模式只适用于文本文件,用这种模式切割后的每个文件都是可读的。文本模式又分为两种:
     按最大文件大小切割;
     按文本行数切割。
1.1.1最大文件大小切割
split -C 5k duanxin split
将文本文件duanxin按每块最大5k的大小进行切割,不打碎行。输出文件名类似splitaa, splitab……
1.1.2 按文本行数切割
split -l 100 duanxin split
每个分块100行,不考虑大小。日志分析时应该有用。
1.2 二进制模式
split -b 5k duanxin split
每个分块(当然,最后一个不保证)大小都是5k,基本不可读。任何类型文件都可以用这种切割模式。
2.文件合并
cat split* >newduanxin
不管用什么方式切割,合并方法不变。
3.其它
split可以用-a选项指定输出文件名的长度。如
split -l 100 -a 3 duanxin split
则输出文件出类似于splitaaa,splitaab。不指定时默认为2。
用-b或-C指定分块大小时,可用的单位有,b for 512bytes, k for 1Kbytes, m for 1 Megbytes.

参考资料
man split
-----------------------------------------------------------
找东西的时候发现网上都是讲这个的,就随手贴一下,据说分割还可以用DD命令
我的需求用split好像是搞不定的,希望从文本的指定行数进行分割,最终找到一个方法,见下:
sed -n '1001,2000p' ur-file >newfile
随后就发现,sed超级有用,有兴趣的自己了解吧,附送一个介绍sed用法的文章:

posted @ 2008-11-11 11:25 生活在别处 阅读(3757) | 评论 (0)编辑 收藏

2008年7月11日

 

今天晚上上网,打开网页都很困难,查了查发现开着BT,关掉以后就正常。
这种鸟事情,以前也碰到过,应该是TCP/IP并发连接数的问题,一查果然又被重置到了10。
昨天是10号,是微软每月发布安全补丁的日子,记得是有装补丁个,估计就是那个补丁搞得鬼了。
各位打了补丁的同志,去修改下系统连接数吧!

posted @ 2008-07-11 21:46 生活在别处 阅读(221) | 评论 (0)编辑 收藏

2008年7月9日


    今天试图在gtalk上传个文件,捣腾半天也耍不起来,最后惊奇的发现,原来中文版的gtalk是被阉割过的,少掉了不少功能。话说,google.cn也就是谷歌,也是被阉割过的,在这个和谐的国度里,就算你输入google.com,你也去不了想去的地方,咱这里有伟大的GFW和DNS挟持。百度么,天生就阉掉的,谷歌至少还有行字“据当地法律法规和政策,部分搜索结果未予显示。”让你知道这玩意是太监,百度么看上去是个女人。
    我并不是google饭,但是google有些服务我倒一直在用。gmail、gtalk、reader、bookmark、picasa,还有那个工具条,有些东西用起来还挺爽的。但是你一旦知道,你常用的东西,有些是被阉割过的,总会有点疙瘩个。当然,有些阉割不能怪罪我们伟大的和谐国,比如把gmail语言换成英文,就会多出选项个。
    最后顺带提一下电影的阉割版,内地的剪刀手功力是相当的深厚,不仅可以把那玩意割掉,还不经意留下几个彩蛋,提升一下片子的深度,赞一记个。
    最后的最后,问候一记GFW,上个月几个网站又上不去了,连sourceforge也走掉了,罪过罪过!

posted @ 2008-07-09 16:33 生活在别处 阅读(269) | 评论 (0)编辑 收藏

2008年6月12日

原帖地址在此:http://www.geektalks.cn/article.php?story=20080602125246318


telnet发电子邮件的目的很多,我们暂且假设一番:如果你不幸落入恐怖份子之手,他们只有一台瘦得不行的电脑,总之除了telnet程序啥都没有,在恐怖份子去吃羊肉泡馍而疏于照看你的大好时机,你如何发电子邮件通知外界呢?



当然,首先你要有一个支持中继转发的SMTP的帐号,幸运的是,现在即使免费的邮箱也会提供这个。

假设你有一个geekx@126.com的邮箱,密码是xgeek,则会话如下:(红色的话是你要说的

 $ telnet smtp.126.com 25 # 25 为标准SMTP端口

Trying 220.181.15.111...
Connected to smtp.126.com (220.181.15.111).
Escape character is '^]'.
220 126.com Anti-spam GT for Coremail System (126com[071018])

helo 126.com # 打个招呼先

250 OK
auth login # SMTP需要认证
334 dXNlcm5hbWU6 # 这是个base64编码的明文,翻译过来是“username:"
Z2Vla3g= # base64编码的明文,翻译过来是“geekx"
334 UGFzc3dvcmQ6 # 这是个base64编码的明文,翻译过来是“password:"
eGdlZWs= # base64编码的明文,翻译过来是“xgeek"
235 Authentication successful
mail from:<geekx@126.com>
250 Mail OK
rcpt to:<superman@savetheworld.com> # 发给XXX
250 Mail OK
data #开始写信
354 End data with <CR><LF>.<CR><LF>

subject:Help!!
                                  #这里空一行再写正文
The world is under attack,

Terrorists are eating yang—rou—pao—mo...
                                  #写完信后空一行
.                  #写一个句点表示信的结束

250 Mail OK queued as smtp1,C8mowLC7fAy8GydISdAtCw==.834S2 1210522683
quit
221 Bye #SMTP小姐跟你说再见
Connection closed by foreign host.

那么,如何知道你的用户名和密码的base64编码呢?当然是预先要记在脑子里,如果实在记不下的话,用uuencode翻译一下吧:

 $ echo -n 'geekx' | uuencode -m xxx # -m 指定 base64编码

begin-base64 664 xxx
Z2Vla3g=
====

好了,在恐怖份子吃完午饭回来之前,你已经成功地把信发给超人啦。

posted @ 2008-06-12 10:28 生活在别处 阅读(397) | 评论 (0)编辑 收藏