2007/02/10

修改 Linux 下面mysql 5.0.xx 的默认连接数

这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是mysql的默认连接数引起的问题,一查果然,老天,默认连接数才100, 怎么够呀,在网上找了半天资料,有说修改my.cnf的,有说修改safe_mysqld,试了,前者无用,后者文件找不到:)原来是以前的版本跟现在的版本有所不同。

言归正传。我以centos 4.4 下面的mysql 5.0.27 手工编译版本为例说明:

vi /usr/local/mysql/bin/mysqld_safe

找到safe_mysqld编辑它,找到mysqld启动的那两行,在后面加上参数 :
-O max_connections=1500

具体一点就是下面的位置:

用红字特别说明:

then $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking -O max_connections=1500 >> $err_log 2>&1 else eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args -O max_connections=1500 >> $err_log 2>&1"

保存。
# service mysqld restart
# /usr/local/mysql/bin/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
max_connections 1000 即新改动已经生效。

还有一种方法,
修改原代码:

解开MySQL的原代码,进入里面的sql目录修改mysqld.cc找到下面一行:

{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
0},

把它改为:

{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
0},

存盘退出,然后./configure ;make;make install可以获得同样的效果

2007/02/07

最新的Codeweavers CrossOver Office Professional 6.0下载

6.0才出来,真不好找,找了半天才在0day里面找到。可是却下载不了。
终于发现了BT,能够下载,提供给大家。

Codeweavers.CrossOver.Office.Professional.v6.0.LINUX-SHOCK

http://www.mininova.org/get/571009

CrossOver Office 6.0的特色是对微软office系统2003的支持。新"Bottles" 能力CrossOver Office, 版本5.0 提供全新的虚拟化技术称Bottles 。

"Bottles为它提供巨大的可靠的和便利的未实施CrossOver Office的用户更容易的安装。Bottles创造一个有利环境为所有公司的重要软件。 管理员能有效地现在安装, 处理, 并且更新他们公司的整个窗口应用存货在CrossOver Office之内。

"其它操作的改善对CrossOver Office5.0 包括一个更好的整体视觉介绍, 例如, 更加光滑的页刷新和少量图表人工制品。 新软件为DirectX 并且提供更好的API支持 。最新的wine技术wine项目是全世界开放来源编程的社区致力创造Win32 的实用实施API 在Unix 之下。 由工作在旁边, 并且贡献对, wine项目, CodeWeavers 能提供CrossOver Office5.0 用户实际上所有改善被发现在新wine 0.9 里。

wine0.9 是主要发行和wine中具有历史性的版本。 它提供健壮和充分功能核心, 以对微软组分的最小对没有依赖。 这是在CodeWeavers 的工作安置者(微软安置者) 并且使窗口能应用增加的可能wine的COM (组分对象模型) 部份安装在wine0.9 和CrossOver Office5.0 。

定价, 折扣CrossOver Office5.0 标准版现在是可利用的为$39.95 。 CrossOver Office5.0 专家版, 产品的企业版本, 定价在$69.95, 以总量折扣可利用。 下载任何产品CrossOver Office5.0 家庭, 或学会更多, 参观www.codeweavers.com 。

CentOS 4.4及Linux下最常用最有效的安全设置

1、CentOS或Red Had Enterprise Linux 4 的用户要首先要打开SElinux,方法是修改/etc/selinux/config文件中的SELINUX="" 为enforcing 。它可以保证你的系统不会非正常的崩溃。有些人认为应该关闭,我强烈不推荐,当然只是将centos用来玩玩,不是用于实际服务器则无所谓了。

2、启用iptables 防火墙,对增加系统安全有许多好处。设置好防火墙的规则。

3、执行setup 关闭那些不需要的服务 ,记住少开一个服务,就少一个危险。

4、禁止Control-Alt-Delete 键盘关闭命令
在"/etc/inittab" 文件中注释掉下面这行(使用#):
ca::ctrlaltdel:/sbin/shutdown -t3 -r now 
改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now 
为了使这项改动起作用,输入下面这个命令:
# /sbin/init q

5、给"/etc/rc.d/init.d" 下script文件设置权限
给执行或关闭启动时执行的程序的script文件设置权限。
# chmod -R 700 /etc/rc.d/init.d/* 
这表示只有root才允许读、写、执行该目录下的script文件。

6、修改"/etc/host.conf"文件
"/etc/host.conf"说明了如何解析地址。编辑"/etc/host.conf"文件(vi /etc/host.conf),加入下面这行:
# Lookup names via DNS first then fall back to /etc/hosts. 
order bind,hosts 
# We have machines with multiple IP addresses. 
multi on 
# Check for IP address spoofing. 
nospoof on 
第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。

7、使"/etc/services"文件免疫
使"/etc/services"文件免疫,防止未经许可的删除或添加服务:
# chattr +i /etc/services

8.阻止你的系统响应任何从外部/内部来的ping请求。
既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

9、对你的系统上所有的用户设置资源限制可以防止DoS类型攻击(denial of service attacks)
如最大进程数,内存数量等。例如,对所有用户的限制象下面这样:
vi /etc/security/limits.conf

下面的代码示例中,所有用户每个会话都限制在 10 MB,并允许同时有四个登录。第三行禁用了每个人的内核转储。第四行除去了用户 bin 的所有限制。ftp 允许有 10 个并发会话(对匿名 ftp 帐号尤其实用);managers 组的成员的进程数目限制为 40 个。developers 有 64 MB 的 memlock 限制,wwwusers 的成员不能创建大于 50 MB 的文件。


清单 3. 设置配额和限制

* hard rss 10000
* hard maxlogins 4
* hard core 0
bin -
ftp hard maxlogins 10
@managers hard nproc 40
@developers hard memlock 64000
@wwwusers hard fsize 50000


要激活这些限制,您需要在 /etc/pam.d/login 底部添加下面一行: session required /lib/security/pam_limits.so。

10、注释掉不需要的用户和用户组。
vipw
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
sshd:x:74:74:Privilerpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
pegasus:x:66:65:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin
htt:x:100:101:IIIMF Htt:/usr/lib/im:/sbin/nologin
wangjing:x:500:500::/home/wangjing:/bin/bash
mysql:x:101:102:MySQL server:/var/lib/mysql:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
ge-separated SSH:/var/empty/sshd:/sbin/nologin

对于不需要的用户全部加 # 注释掉。
注意,我不建议直接删除,当你某种原因需要某个用户时,自己重新会很麻烦。

vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:
dip:x:40:
ftp:x:50:
lock:x:54:
nobody:x:99:
users:x:100:
dbus:x:81:
floppy:x:19:
vcsa:x:69:
rpm:x:37:
haldaemon:x:68:
utmp:x:22:
netdump:x:34:
nscd:x:28:
slocate:x:21:
sshd:x:74:
rpc:x:32:
rpcuser:x:29:
nfsnobody:x:65534:
mailnull:x:47:
smmsp:x:51:
pcap:x:77:
xfs:x:43:
ntp:x:38:
gdm:x:42:
pegasus:x:65:
htt:x:101:
wangjing:x:500:
mysql:x:102:
apache:x:48:

对于不需要的用户组全部加 # 注释掉。注意,我不建议直接删除,当你某种原因需要某个用户组时,自己重新会很麻烦。

11、用chattr命令给下面的文件加上不可更改属性。
[root@deep]# chattr +i /etc/passwd
[root@deep]# chattr +i /etc/shadow
[root@deep]# chattr +i /etc/group
[root@deep]# chattr +i /etc/gshadow

注意执行这个操作后,以root身份都不能向系统增加用户或者修改密码了。如果我们要增加用户或者修改密码的。应该先用chattr -i /etc/passwd等命令解除不可写设置,再进行操作。

12、改变sshd缺省端口
SSHD的默认端口就是 22 ,地球人都知道,通常黑客在没有准确目标的情况下要寻找 Linux机器的最好方法就是扫描所有开放了 22 端口的机器,然后放在一个列表里,一个个去探求它的漏洞。
比如 nmap4 的新功能 nmap -v -iR 10000 -P0 -p 22 可随机在10000个IP里去寻找开放了 22 端口的机器。当然也可以有目标的把日本或者其他国家的ip段添上再扫描。
通常是按照服务对应的常规端口去扫描,除非用全端口1-65535,但除非是针对性的对一台机器扫描,否则这样效率不高。
把默认端口改变成60022的步骤如下:
vi /etc/ssh/sshd_config

找到#Port 22,标识默认使用22端口,如果需要更改为8888则去掉前面的 # 注释符号,修改为:Port 60022
然后重启服务进程
# /etc/init.d/sshd restart

sshd_config其他安全选项
把 #PermitRootLogin yes 改为 PermitRootLogin no 可防止 root 远程登陆
把 #Protocol 1,2 改 Protocol 2 ,不用 SSH protocol 1 协议,只用 2

当然还有一些选项,视需要而定,比如:Banner的伪造、登陆失败后的的锁定时间、是否允许空口令帐号登陆、服务器密钥的位数等、允许登陆的用户和IP等。

13、 内核参数调整
sysctl -w net.ipv4.conf.default.accept_source_route=0
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
#sysctl -w net.ipv4.icmp_echo_ignore_all=1
sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
sysctl -w net.ipv4.ip_conntrack_max=65535
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_syn_retries=1
sysctl -w net.ipv4.tcp_fin_timeout=5
sysctl -w net.ipv4.tcp_synack_retries=1
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.route.gc_timeout=100
sysctl -w net.ipv4.tcp_keepalive_time=500
sysctl -w net.ipv4.tcp_max_syn_backlog=10000

14、经常检查系统日志。系统日志主要位于/var/log/目录下。防患于未然。

通过以上设置你的系统一般来说就比较安全了。当然安全与不安全是道与魔的斗争。

2007/02/06

windows 下合并 solaris 10 u3 DVD 镜像

从sun网站下载 solaris 10 u3 的5个压缩包文件。
并5个压缩包逐一解压出来。
然后执行:
copy /b sol-10-u3-ga-x86-dvd-iso-a + sol-10-u3-ga-x86-dvd-iso-b + sol-10-u3-ga-x86-dvd-iso-c + sol-10-u3-ga-x86-dvd-iso-d + sol-10-u3-ga-x86-dvd-iso-e sol-10-u3-ga-x86-dvd-iso.iso

OK。MD5值检查为308f19269b250bf03b7a597d85d471 跟官方提供的sol-10-u3-ga-x86-dvd.iso的MD5吻合。
烧录DVD。

centos 4.4 upgrade install openoffice 2.1.0

cd /usr/local/src
wget http://ftp.ntu.edu.tw/OpenOffice/stable/2.1.0/OOo_2.1.0_LinuxIntel_install_en-US.tar.gz
tar zxvf OOo_2.1.0_LinuxIntel_install_en-US.tar.gz
cd OOE680_m6_native_packed-1_en-US.9095
cd RPMS
rpm -Uvh openoffice.org-.*.rpm
cd desktop-integration
rpm -Uvh openoffice.org-redhat-menus-2.1-5.noarch.rpm

OK.enjoy it .

centos 4.4 quickly install mplayer

cd /usr/local/src
wget http://ftp.wl0.org/RPMS-rhel4-various/mplayer-1.0pre7-2.i386.rpm
wget http://ftp.wl0.org/RPMS-rhel4-various/mplayer-gui-1.0pre7-2.i386.rpm
wget ftp://fr2.rpmfind.net/linux/falsehope/home/rathann/apt/7.3/RPMS.stable/mplayer-skin-default-1.0-2.noarch.rpm

rpm -ivh mplayer-1.0pre7-2.i386.rpm mplayer-gui-1.0pre7-2.i386.rpm mplayer-skin-default-1.0-2.noarch.rpm

OK,It's very simple, enjoy it.

Linux Kernel 2.6.20发布

在经过几个月的精心准备之后,Linux 2.6.20终于发布了。这个内核版本包含两种不同的虚拟化实施方案,一个就是利用Intel/AMD的虚拟化扩展支持的完全虚拟化功能:KVM;还有一种是通过不同的超线程技术实现的并行虚拟化。

  另外最新的Linux2.6.20包含有对PS3的支持:一种新的错误注入调试功能也被引入Linux 2.6.20。

  更多的发布声明请阅读这里。