方法1:限制客户端的连接。例如,只允许指定的客户按指定的协议连接到指定的端口等等。这种方法可以大大减小服务器遭受攻击的可能性。但是,客户端如果是动态地址,身份认证成问题。
方法2:使用网络入侵侦测防止系统(IDS/IPS/NIPS),例如SNORT。并辅之以其他方法,例如关闭不用的服务、采用虚拟的用户等等。
Saturday, 30 October 2010
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
DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.248
BOOTPROTO=static
ONBOOT=yes
如何显示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文件
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;
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
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
Subscribe to:
Posts (Atom)