分类 Unix,Linux,BSD 下的文章

一、安装snmpd

aptitude install snmpd

二、修改配置文件

vi /etc/snmp/snmpd.conf

1、监听所有IP地址,以允许外部监控

#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161

2、外部访问权限配置

snmp v2 方法

rocommunity AnripCom 12.34.56.78
rocommunity AnripCom 23.35.67.89

snmp v3 方法

createUser AnripCom MD5 "123456789"
rouser AnripCom

三、重启snmpd服务

service snmpd restart

1.安装组件

aptitude install apache2 apache2-utils libapache2-svn subversion
a2enmod dav_svn authz_svn expires

2.创建SVN仓库

mkdir -p /var/lib/svn
svnadmin create /var/lib/svn/project1
chown -R www-data:www-data /var/lib/svn

3.创建用户和密码

htpasswd -c /var/lib/svn/passwd anrip
htpasswd -c /var/lib/svn/passwd public

4.配置访问权限

创建文件 /var/lib/svn/authz ,添加内容如下

[groups]
admin = anrip
guest = public

[/]
@admin = rw

[project1:/]
@guest = r

5.下载 websvn界面程序

放到apache2站点目录中,例如 /var/www/html/websvn

6.配置Apache服务

编辑文件/etc/apache2/mods-available/dav_svn.conf,添加如下内容

<Location /svn>

    DAV svn

    SVNIndexXSLT "/websvn/index.xsl"

    SVNListParentPath on
    SVNParentPath "/var/lib/svn"

    AuthType Basic
    AuthName "Anrip-SVN Server"
    AuthUserFile "/var/lib/svn/passwd"
    AuthzSVNAccessFile "/var/lib/svn/authz"

    Require valid-user

    # Add Expires/Cache-Control header explictly
    ExpiresActive on
    ExpiresDefault access

</Location>

重启web服务器

service apache2 restart

现在通过网页 http://your.hostname/svn 应该就能看到本地的svn内容了.

更多有关svn的操作请查看
svn攻略

安装完Ubuntu忘记写入引导文件,或者使用工具调整分区后,很容易出现grub损坏无法进入系统的情况。
也可能是由于分区调整或分区UUID改变造成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。

error : unknow filesystem
grub rescue >

在救援模式下只有很少的命令可以用:

(1)set     查看环境变量,这里可以查看启动路径和分区。
(2)ls      查看设备
(3)insmod  加载模块
(4)root    指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)prefix  设定grub启动路径

具体修复步骤如下:

1、查看分区:

grub rescue> ls   //回车,会出现如下字样:
(hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)

2、寻找ubuntu分区:

若包含/bin以及/sbin等目录,表示为主分区。
若包含/boot/grub或者/grub,即为启动分区。

grub rescue> ls (hd0,msdos1)/

3、修改启动分区:

假如你找到的主分区为(hd0,msdos6),grub所在路径是(hd0,msdos1)/grub

grub rescue > root=hd0,msdos1
grub rescue > prefix=/grub    //grub路径设置
grub rescue > set root=hd0,msdos1
grub rescue > set prefix=(hd0,msdos1)/grub
grub rescue > insmod normal   //启动normal启动
grub rescue > normal

之后你就会看到熟悉的启动菜单栏了

4、进入命令行启动ubuntu

进入系统启动选项界面后还是进不去,按C进入命令行模式

grub > set root=hd0,msdos1
grub > set prefix=(hd0,msdos1)/grub
grub > linux /vmlinuz-xxx-xxx root=/dev/sda6 //按Tab键自动补全,若acpi有问题,在最后添加acpi=off
grub > initrd /initrd.img-xxx-xxx
grub > boot

这样就可以进入了

5、进入ubuntu修复grub

sudo update-grub
sudo grub-install /dev/sda

6、重启,搞定!!

第一种,查找访问非图片的最多的ip地址
采集或者蜘蛛在访问页面的时候不会同时访问css及图片资源,从而定位到此类ip地址

tail -n 10000 access.log | egrep -vi "GET .*\.gif|\.jpg|\.png|\.css" | awk '{print $1}' | sort | uniq -c | sort -rn | head -n 20

第二种,测试客户ip地址是否开启了80端口
部分采集程序嵌入在web应用之中,可以通过此类方法探测得知

[ -x /usr/bin/nmap ] || aptitude -y install nmap
for ip in `cat access.log | awk '{print $1}' | sort -n | uniq`; do
    echo testing ${ip}
    nmap -p 80 ${ip% *} | grep open
    [ ${?} -eq 0 ] && echo ${ip} >> ipret
done

在Ubuntu中一些经常使用的参数操作方法,脚本环境为 sh / bash

#最后一个守护进程pid
echo " last daemon process id : $! "

#exit退出状态
echo " exit status : $? "

#当前脚本进程
echo " process id of this script : $$ "

#脚本名
echo " script name : `basename $0` "

#第一个参数
echo " first param : $1 "

#所有参数
echo " all params : $* "

#所有参数
echo " all params : '$@' "

#参数长度
echo " params length : $# "

以下一些扩展方法,需要 bash 环境


#倒数第一个参数
#或 ${$#}, 但由于大括号中不能嵌套$符号, 要用!代替
echo " last param : ${!#} "
echo " last param : ${@:${#@}} "

#倒数第二个参数
echo " last 2nd param : ${@:${#@}-1:1} "

#最后两个参数
echo " last 2 param : ${@:${#@}-1} "

#从第二个到最后一个参数
echo " from 2nd to last param : ${@:2} "

#从第2个参数开始,连续2个参数
echo " from 2nd, count 2 : ${@:2:2} "