VirtualBox安装CentOS后如何安装增强功能
[ 2011/11/11 17:24 | by Sonic ]
本机操作系统为vista,virtualbox版本为3.1.2 r56127,虚拟机为CentOS 5.4 i386。安装vitualbox增强功能的步骤:
1.启动CentOS,以root身份登录,进入桌面环境。
2.在virtualbox菜单中选择“设备-->安装增强功能”,会在桌面上出现一个“VBOXADDITIONS_3.1.2_56127”图标。
3.双击上述图标,打开文件窗口,选择“工具-->打开终端”菜单,进入终端模式。
4.执行如下命令:
#yum install kernel-devel //执行此命令提示有错误,忽略;
#yum install gcc //执行此命令提示有错误,忽略;
ln -s /usr/src/kernels/2.6.18-......-i686 /usr/src/linux //省略号处用TAB键补全
sh VBoxLinuxAdditions-x86.run
5.重启系统即可。
6.更改屏幕分辨率:
#vi /etc/X11/xorg.conf
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
1.启动CentOS,以root身份登录,进入桌面环境。
2.在virtualbox菜单中选择“设备-->安装增强功能”,会在桌面上出现一个“VBOXADDITIONS_3.1.2_56127”图标。
3.双击上述图标,打开文件窗口,选择“工具-->打开终端”菜单,进入终端模式。
4.执行如下命令:
#yum install kernel-devel //执行此命令提示有错误,忽略;
#yum install gcc //执行此命令提示有错误,忽略;
ln -s /usr/src/kernels/2.6.18-......-i686 /usr/src/linux //省略号处用TAB键补全
sh VBoxLinuxAdditions-x86.run
5.重启系统即可。
6.更改屏幕分辨率:
#vi /etc/X11/xorg.conf
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
mysql手动复制数据库技巧
[ 2011/11/03 12:57 | by Sonic ]
一步完成mysql数据库复制。
我下面对这个命令的几个部分说明一下。mysqldump wap --opt,是把名为wap的这个数据库导出到标准输出。并且使用--opt选项。 --opt 等效于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, 和--disable-keys。这在完全导出然后完全导入数据的时候,非常有用。
小心前后别弄反。要不就悲剧大了。
mysqldump esojourn --opt -u root -p | mysql esojourn -h 192.168.0.2 -u root -p
我下面对这个命令的几个部分说明一下。mysqldump wap --opt,是把名为wap的这个数据库导出到标准输出。并且使用--opt选项。 --opt 等效于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, 和--disable-keys。这在完全导出然后完全导入数据的时候,非常有用。
小心前后别弄反。要不就悲剧大了。
Windows下读取Linux分区
[ 2011/11/01 15:19 | by Sonic ]
不说过程,直接说结论吧。用ext2fsd兼容性很好。http://www.ext2fsd.com/
其他很多工具都没能找到RAID卡带起来的硬盘。感觉ext2fsd用了更底层的办法,直接找到RAID驱动,找到了linux分区。重启后就挂接到windows自己的资源管理器里了。很不错。
下载:http://sourceforge.net/projects/ext2fsd/files/
fail2ban阻止vsftpd暴力攻击失败的对策
[ 2011/08/11 15:48 | by Sonic ]
Fail2ban is failing to ban VSFTPD bruteforce:
In my case with VSFTPD, with unresolvable DNS names from /var/log/secure:
Scenario: VSFTP configuration is set for PAM authentication, using xferlog in standard format. Fail2ban for vsftpd is watching /var/log/secure
Problem: PAM sends failed login information to /var/log/secure, but the remote server's IP address has been replaced by a DNS name. Resulting DNS name does not resolve or does not resolve correctly, thus fail2ban is unable to ban the IP address.
Fix: Configure VSFTP for "dual_log_enable=YES", and have fail2ban watch /var/log/vsftpd.log instead. This log file shows the incoming ip address instead of the DNS name.
[ update: you also need to adde'use_localtime=YES' to config file of VSFTPD. otherwise, above trick not working. it took me hours to solve the problem. :(]
Source and more tips.
In my case with VSFTPD, with unresolvable DNS names from /var/log/secure:
Scenario: VSFTP configuration is set for PAM authentication, using xferlog in standard format. Fail2ban for vsftpd is watching /var/log/secure
Problem: PAM sends failed login information to /var/log/secure, but the remote server's IP address has been replaced by a DNS name. Resulting DNS name does not resolve or does not resolve correctly, thus fail2ban is unable to ban the IP address.
Fix: Configure VSFTP for "dual_log_enable=YES", and have fail2ban watch /var/log/vsftpd.log instead. This log file shows the incoming ip address instead of the DNS name.
[ update: you also need to adde'use_localtime=YES' to config file of VSFTPD. otherwise, above trick not working. it took me hours to solve the problem. :(]
Source and more tips.
CentOS安装Socks5
[ 2011/08/09 13:51 | by Sonic ]
1.配置编译环境
2.安装socks5必要的包
3.下载,编译安装ss5(socks5)
可以通过修改 /etc/opt/ss5/ss5.conf 设置密码
# SHost SPort Authentication
#
auth 0.0.0.0/0 - -
# SHost SPort Authentication
#
auth 0.0.0.0/0 - u
在 /etc/opt/ss5/ss5.passwd 中添加 用户名和密码 如:
admin 123456
使用用户验证,重启ss5服务
/etc/init.d/ss5 start
2.安装socks5必要的包
yum -y install gcc automake make
yum -y install pam-devel openldap-devel cyrus-sasl-devel
yum -y install pam-devel openldap-devel cyrus-sasl-devel
3.下载,编译安装ss5(socks5)
wget http://disk.boluo.org/linux/27001-ss5-3.6.1-1.tar.gz
tar zxvf 27001-ss5-3.6.1-1.tar.gz
cd ss5-3.6.1
./configure
make
make install
tar zxvf 27001-ss5-3.6.1-1.tar.gz
cd ss5-3.6.1
./configure
make
make install
可以通过修改 /etc/opt/ss5/ss5.conf 设置密码
# SHost SPort Authentication
#
auth 0.0.0.0/0 - -
# SHost SPort Authentication
#
auth 0.0.0.0/0 - u
在 /etc/opt/ss5/ss5.passwd 中添加 用户名和密码 如:
admin 123456
使用用户验证,重启ss5服务
/etc/init.d/ss5 start
CentOS中预设服务简介及精简建议
[ 2011/07/25 15:38 | by Sonic ]
mysql新建用户本地无法登录
[ 2011/07/22 10:07 | by Sonic ]
因为root权限过高,所以新建一用户esojourn,权限仅为要用到的数据库。创建语句如下:grant select,insert,update,delete on test.* to esojourn@"%" identified by "password";其中@“%”是可以在任何地址登录。
创建后到mysql.user下查看,有该用户。但是使用mysql -u esojourn -ppassword 登录,提示无法登录:ERROR 1045 (28000): Access denied for user 'esojourn'@'localhost' (using password: YES)
百思不得其解,遂google,其中有人说到“mysql.user 表中有另外一些记录产生了作用,最有可能的就是已经有一条''@localhost记录,就是用户名是空,主机字段是localhost的记录。” 影响了。查看该表果然有。
mysql> select host,user,password from mysql.user;
+-----------+------------------+-------------------------------------------+
| host | user | password |
+-----------+------------------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| esojourn.org| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost | | |
| esojourn.org | | |
| localhost | debian-sys-maint | *19DF6BF8310D46D681AE072AB73ECEC99C018C19 |
| % | esojourn | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-----------+------------------+-------------------------------------------+
7 rows in set (0.00 sec)
但是删除那些为空(匿名)的用户后仍然无法登录。(可能是因为没有重启mysql)于是只好耐着性子看mysql参考手册。发现其中增加用户部分有这么一段话:
其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。请注意monty的两个账户必须能从任何主机以monty连接。没有localhost账户,当monty从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比'monty'@'%'账户更具体,这样在user表排序顺序中排在前面。
这段话说的很清楚,因此执行 grant select,insert,update,delete on test.* to esojourn@"localhost" identified by "password";
退出后用esojourn登录,成功。
直接把esojourn的账户从全部主机改成localhost。
转自:http://anonymity.iteye.com/blog/347737
创建后到mysql.user下查看,有该用户。但是使用mysql -u esojourn -ppassword 登录,提示无法登录:ERROR 1045 (28000): Access denied for user 'esojourn'@'localhost' (using password: YES)
百思不得其解,遂google,其中有人说到“mysql.user 表中有另外一些记录产生了作用,最有可能的就是已经有一条''@localhost记录,就是用户名是空,主机字段是localhost的记录。” 影响了。查看该表果然有。
mysql> select host,user,password from mysql.user;
+-----------+------------------+-------------------------------------------+
| host | user | password |
+-----------+------------------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| esojourn.org| root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| localhost | | |
| esojourn.org | | |
| localhost | debian-sys-maint | *19DF6BF8310D46D681AE072AB73ECEC99C018C19 |
| % | esojourn | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+-----------+------------------+-------------------------------------------+
7 rows in set (0.00 sec)
但是删除那些为空(匿名)的用户后仍然无法登录。(可能是因为没有重启mysql)于是只好耐着性子看mysql参考手册。发现其中增加用户部分有这么一段话:
其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。请注意monty的两个账户必须能从任何主机以monty连接。没有localhost账户,当monty从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比'monty'@'%'账户更具体,这样在user表排序顺序中排在前面。
这段话说的很清楚,因此执行 grant select,insert,update,delete on test.* to esojourn@"localhost" identified by "password";
退出后用esojourn登录,成功。
直接把esojourn的账户从全部主机改成localhost。
转自:http://anonymity.iteye.com/blog/347737
安装iftop流量监控工具
[ 2011/07/14 12:21 | by Sonic ]
yum install libpcap-devel ncurses-devel
yum install gcc
wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz
tar xvzf iftop-0.17.tar.gz
cd iftop-0.17
./configure -prefix=/usr/local
make ; make install
iftop -n -i eth0
Linux启动失败的修复
[ 2011/07/04 16:21 | by Sonic ]
情况一:/etc/fstab写错。输入root密码后进入修复模式。
然后要重新mount /。这是比较关键的一步(mount -n -o remount,rw /)。如果没有此步操作,则文件系统处于只读状态,导致不能修改配置文件并保存,修复存在的问题。
情况二:RAID驱动装载失败。导致无法启动。
这时,不会出现输入密码进入修复模式的提示。可以用linux系统光盘引导,进入'linux rescue'。
原来根目录会被装载到/mnt/sysimage/下。
修改/etc/rc.d/rc.sysinit。手工加入设备驱动。
modprobe sd_mod
insmod /lib/modules/rr26xx.ko
然后要重新mount /。这是比较关键的一步(mount -n -o remount,rw /)。如果没有此步操作,则文件系统处于只读状态,导致不能修改配置文件并保存,修复存在的问题。
情况二:RAID驱动装载失败。导致无法启动。
这时,不会出现输入密码进入修复模式的提示。可以用linux系统光盘引导,进入'linux rescue'。
原来根目录会被装载到/mnt/sysimage/下。
修改/etc/rc.d/rc.sysinit。手工加入设备驱动。
modprobe sd_mod
insmod /lib/modules/rr26xx.ko
Linux下使用parted分区工具为大于2T硬盘分区
[ 2011/07/04 13:26 | by Sonic ]
目的:在centos 5.4系统下,用parted功能分区12T的硬盘并格式化成ext4,12T共分为2个分区,一个7.5T,另一个4.5T.
在linux 下大磁盘的分区不能再采用fdisk了,MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表。下面说明下具体的步骤:
1.分为两个主分区
2.然后格式化成ext4,需要安装包e4fsprogs.x86_64(yum install e4fsprogs.x86_64)即可。
3.接着用mount挂载分区
4.最后修改/etc/fstab,添加如下两行,让其开机自动挂载.
在linux 下大磁盘的分区不能再采用fdisk了,MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表。下面说明下具体的步骤:
1.分为两个主分区
[root@localhost ~]# parted /dev/sdb # 使用parted来对GPT磁盘操作,进入交互式模式
GNU Parted 1.8.1 Using /dev/sdb Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklabel gpt # 将MBR磁盘格式化为GPT
(parted) print #打印当前分区
(parted) mkpart primary 0 4.5TB # 分一个4.5T的主分区
(parted) mkpart primary 4.5TB 12TB # 分一个7.5T的主分区
(parted) print #打印当前分区
(parted) quit 退出
Information: Don’t forget to update /etc/fstab, if necessary.
GNU Parted 1.8.1 Using /dev/sdb Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted) mklabel gpt # 将MBR磁盘格式化为GPT
(parted) print #打印当前分区
(parted) mkpart primary 0 4.5TB # 分一个4.5T的主分区
(parted) mkpart primary 4.5TB 12TB # 分一个7.5T的主分区
(parted) print #打印当前分区
(parted) quit 退出
Information: Don’t forget to update /etc/fstab, if necessary.
2.然后格式化成ext4,需要安装包e4fsprogs.x86_64(yum install e4fsprogs.x86_64)即可。
[root@localhost ~]# mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkfs.ext4 /dev/sdb2
[root@localhost ~]# mkfs.ext4 /dev/sdb2
3.接着用mount挂载分区
[root@localhost]# mount -t ext4 /dev/sdb1 /bk
[root@localhost]# mount -t ext4 /dev/sdb2 /mail
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda6 ext3 39G 9.4G 28G 26% /
/dev/sda1 ext3 122M 13M 103M 12% /boot
none tmpfs 1004M 0 1004M 0% /dev/shm
/dev/sdb1 ext4 4.1T 194M 3.9T 1% /bk
/dev/sdb2 ext4 6.8T 179M 6.4T 1% /mail
[root@localhost]# mount -t ext4 /dev/sdb2 /mail
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda6 ext3 39G 9.4G 28G 26% /
/dev/sda1 ext3 122M 13M 103M 12% /boot
none tmpfs 1004M 0 1004M 0% /dev/shm
/dev/sdb1 ext4 4.1T 194M 3.9T 1% /bk
/dev/sdb2 ext4 6.8T 179M 6.4T 1% /mail
4.最后修改/etc/fstab,添加如下两行,让其开机自动挂载.
/dev/sdb1 /bk ext4 defaults,noatime 1 2
/dev/sdb2 /mail ext4 defaults,noatime 1 2
/dev/sdb2 /mail ext4 defaults,noatime 1 2
linux查看CPU,内存等信息
[ 2011/06/09 15:49 | by Sonic ]
Linux里,硬件信息在/proc目录下。下面列出常用查询。
测试机器的硬件信息:
查看CPU信息(型号)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(说明实际上是两颗4核的CPU)
# getconf LONG_BIT
32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
再完整看cpu详细信息, 不过大部分我们都不关心而已.
# dmidecode | grep 'Processor Information'
查看内 存信息
# cat /proc/meminfo
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发行版信息)
查看机器型号
# dmidecode | grep "Product Name"
查看网卡信息
# dmesg | grep -i eth
原文出处:http://www.51testing.com/?uid-225738-action-viewspace-itemid-210333
测试机器的硬件信息:
查看CPU信息(型号)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(说明实际上是两颗4核的CPU)
# getconf LONG_BIT
32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
再完整看cpu详细信息, 不过大部分我们都不关心而已.
# dmidecode | grep 'Processor Information'
查看内 存信息
# cat /proc/meminfo
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发行版信息)
查看机器型号
# dmidecode | grep "Product Name"
查看网卡信息
# dmesg | grep -i eth
原文出处:http://www.51testing.com/?uid-225738-action-viewspace-itemid-210333
用fail2ban阻止SSH和VSFTP暴力破解密码
[ 2011/06/03 10:40 | by Sonic ]
某几个IP最近一直不停的在试图登录SSH和FTP。把机器上的几个虚拟主机都猜了一遍。
用fail2ban加个屏蔽吧。三次猜不对,就jail里休息俩小时再回来。
用fail2ban加个屏蔽吧。三次猜不对,就jail里休息俩小时再回来。





