Saturday, 30 October 2010

如何使服务器免受网络攻击?

方法1:限制客户端的连接。例如,只允许指定的客户按指定的协议连接到指定的端口等等。这种方法可以大大减小服务器遭受攻击的可能性。但是,客户端如果是动态地址,身份认证成问题。

方法2:使用网络入侵侦测防止系统(IDS/IPS/NIPS),例如SNORT。并辅之以其他方法,例如关闭不用的服务、采用虚拟的用户等等。

Thursday, 28 October 2010

如何设定FC6的网址?

将 /etc/sysconfig/network-scripts/ifcfg-eth0 内容改为:

DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.248
BOOTPROTO=static
ONBOOT=yes

如何查询当前Linux的runlevel?

who -r

如何显示Linux命令行历史的时间?

add following into .bashrc

export HISTTIMEFORMAT='%F %T '

Friday, 1 October 2010

如何查看Ingres与Glassfish之间的JDBC对话?

1.创建iijdbc.properties文件,包括如下行:
ingres.jdbc.trace.log=../logs/iijdbc.log
ingres.jdbc.trace.timestamp=true
ingres.jdbc.trace.drv=5
2.将上述文件拷贝到如下目录下:
glassfish\domains\domain1\lib\classes
3.重新启动Glassfish
4.查看glassfish\domains\domain1\logs目录下的iijdbc.log文件

Friday, 10 September 2010

如何判断MySQL引擎是否支持Transaction?

简单测试方法:
BEGIN;
UPDATE table1 SET col1='new value' WHERE row_id='row1';
SELECT * FROM table1; -- 行row1列col1的值已经改为'new value'
ROLLBACK;
SELECT * FROM table1; -- 行row1列col1的值应该改为原来的值

MyISAM不支持,InnoDB支持。使用如下命令查看table1使用的引擎类型:
mysql> show create table table1;

Thursday, 9 September 2010

如何升级MySQL(4.0.15至5.1.50)?

将MySQL4.0.15数据库下载至文件:
mysqldump -p foo > foo1.sql;

删除开头的长注释行:
sed -e '/^----------[\-]*$/d' foo1.sql > foo2.sql

用下述命令将数据库转换为使用INNODB引擎:
echo 'SET AUTOCOMMIT = 0;' > foo.sql
sed -e 's/TYPE=MyISAM/TYPE=INNODB/g' foo2.sql >> foo.sql
echo 'COMMIT;' >> foo.sql
(或者,使用ALTER TABLE t ENGINE = MYISAM;逐个表转换。)

为了保证任何新生成的数据库使用INNODB引擎,在/etc/my.cnf中添加下述参数:
[mysqld]
default-storage-engine=INNODB
为了使旧版本的ODBC能够与新版本的数据库通讯,在 /etc/my.cnf 中添加如下参数:
[mysqld]
old-passwords
此外,还需将有关用户的口令设为旧的格式:
mysql> update user set password=OLD_PASSWORD('pass1') where user='user1';

在MySQL5.1.50生成用户boo并确认数据库foo不存在;
将文件foo.sql上载到MySQL5.1.50:mysql -u boo -p < foo.sql