# encoding: utf-8 #!/usr/bin/python import os import time import MySQLdb #设置目录 timearray = time.localtiime(time.time()) timedir = time.strftime("%Y/%m/%d/",timearray) monitordir = "/var/spool/asterisk/monitor/"+timedir vi conv.p # 打开数据库连接 db = MySQLdb.connect("localhost","root","Elastixdb","asteriskcdrdb" ) # 使用cursor()方法获取操作游标 cursor = db.cursor() sql = "SELECT recordingfile from cdr where recordingfile like '%.wav';" try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: recordingfile = row[0] if os.path.exists(monitordir+recordingfile): print "转换:%s" % monitordir+recordingfile os.system("sox "+monitordir+recordingfile+" "+monitordir+recordingfile.replace('wav','gsm')) os.remove(monitordir+recordingfile.replace('gsm','wav')) sql = "update cdr set recordingfile=replace(recordingfile,'wav','gsm') where recordingfile='"+recordingfile+"';" cursor.execute(sql) db.commit() else: print "找不到文件:%s" % monitordir+recordingfile except: print "Error: unable to fecth data" # 关闭数据库连接 db.close()
#下载 wget http://fossies.org/unix/privat/DenyHosts-2.6.tar.gz #解压 tar -zxvf DenyHosts-2.6.tar.gz #为了方便改个名 mv DenyHosts-2.6 denyhost #进入目录 cd denyhost #安装python yum install python -y #安装denyhost,脚本 python setup.py install #进入配置目录 cd /usr/share/denyhosts/ #为了方便改变配置文件名称 cp daemon-control-dist daemon-control #修改服务文件名称 cp denyhosts.cfg-dist denyhosts.cfg #提高安全级别,修改权限 chown root daemon-control chmod 700 daemon-control #创建启动服务连接 ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts #添加启动项 chkconfig --add denyhosts #配置denyhosts.cfg vi denyhosts.cfg
填充以下内容
SECURE_LOG = /var/log/secure #ssh日志文件 HOSTS_DENY = /etc/hosts.deny #将阻止IP写入到hosts.deny PURGE_DENY = 5m #过多久后清除已经禁止的,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟 BLOCK_SERVICE = sshd #阻止服务名 DENY_THRESHOLD_INVALID = 5 #允许无效用户(在/etc/passwd未列出)登录失败次数,允许无效用户登录失败的次数. DENY_THRESHOLD_VALID = 5 #允许普通用户登录失败的次数 DENY_THRESHOLD_ROOT = 5 #允许root登录失败的次数 DENY_THRESHOLD_RESTRICTED = 1 #设定 deny host 写入到该资料夹 WORK_DIR = /usr/share/denyhosts/data #将deny的host或ip纪录到Work_dir中 SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = YES HOSTNAME_LOOKUP=YES #是否做域名反解 LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。 ADMIN_EMAIL = denyhosts@163.com #设置管理员邮件地址 SMTP_HOST = localhost SMTP_PORT = 25 SMTP_FROM = DenyHosts SMTP_SUBJECT = DenyHosts Report AGE_RESET_VALID=1d #有效用户登录失败计数归零的时间 AGE_RESET_ROOT=1d #root用户登录失败计数归零的时间 AGE_RESET_RESTRICTED=5d #用户的失败登录计数重置为0的时间(/usr/share/denyhosts/data/restricted-usernames) AGE_RESET_INVALID=10d #无效用户登录失败计数归零的时间 DAEMON_LOG = /var/log/denyhosts #自己的日志文件 DAEMON_SLEEP = 30s DAEMON_PURGE = 5m #该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间
如果想删除一个已经禁止的主机IP,并加入到允许主机例表,只在 /etc/hosts.deny 删除是没用的。需要进入 /var/lib/denyhosts 目录,进入以下操作:
1、停止DenyHosts服务:
service denyhosts stop
2、在 /etc/hosts.deny 中删除你想取消的主机IP
3、编辑 DenyHosts 工作目录的所有文件,通过
grep 192.168.1.191 /usr/share/denyhosts/data/*
然后一个个删除文件中你想取消的主机IP所在的行:
* /usr/share/denyhosts/data/hosts
* /usr/share/denyhosts/data/hosts-restricted
* /usr/share/denyhosts/data/hosts-root
* /usr/share/denyhosts/data/hosts-valid
* /usr/share/denyhosts/data/users-hosts
4、添加你想允许的主机IP地址到/var/lib/denyhosts/allowed-hosts
vi /usr/share/denyhosts/data/allowed-hostsps
然后逐行输入你的IP
thinkai.net 192.168.1.*
5、启动DenyHosts服务:
service denyhosts start
报错排查
#service denyhost start
starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py –daemon
–config=/usr/share/denyhosts/denyhosts.cfg
python: can't open file '/usr/bin/denyhosts.py': [Errno 2] No such file or
directory
cd /usr/share/denyhosts/ vi daemon-control
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
改为
DENYHOSTS_BIN = "/usr/local/bin/denyhosts.py"
cd /usr/local/lib/python2.7/site-packages/ cp -rp DenyHosts /usr/lib/python2.4/site-packages/ /etc/init.d/denyhosts restart
vi /etc/passwd
按i键进入编辑状态
修改第1行第1个root为新的用户名
按esc键退出编辑状态,并输入:x保存并退出
vi /etc/shadow
修改第1行第1个root为新的用户名
按esc键退出编辑状态,并输入:x!强制保存并退出
补充:为了正常使用sudo,需要修改/etc/sudoers的设置,修改方法如下:
visudo
找到root ALL=(ALL) ALL
在下面添加一行:新用户名 ALL=(ALL) ALL
:x保存退出
虽然免费的stun服务器也能凑合着用,但是也越来越不适用于中国的网络环境,所以你可以到大的IDC去买云主机并购买额外IP来搭建STUN服务器,主流成本100多RMB一个月。
首先你的有两个公网IP的服务器!然后注意把防火墙关掉。
#下载stun
wget http://ncu.dl.sourceforge.net/project/stun/stun/0.97/stund-0.97.tgz
#检查安装编译环境
yum -y install gcc automake autoconf libtool make
#解压
tar -zxvf stund-0.97.tgz
#进入目录
cd stund
#编译
make
#复制服务端
mkdir /root/bin/ cp server /root/bin/stunserver
#创建服务脚本
vi /etc/init.d/stund
#然后填充服务脚本
#!/bin/bash # #chkconfig: 2345 70 30 #description:STUN Server RETVAL=0 start(){ #启动服务的入口函数 echo "STUN Server is started..." /root/bin/stunserver -v -h 8.8.8.8 -a 4.4.4.4 -v #主IP 辅助IP } stop(){ #关闭服务的入口函数 echo "STUN Server is stoped..." } #使用case选择 case $1 in start) start ;; stop) stop ;; *) echo "error choice ! please input start or stop";; esac exit $RETVA
#按【ESC】输入:wq保存退出
#设置权限
chmod +x /etc/init.d/stund
#添加服务
chkconfig --add stund
#设置防火墙
setup
#找到Firewall设置 把Enable去掉,然后Save保存退出
#为了安全 可以修改root用户名和设置denyhosts
#重启后,你就可以下载NatTypeTester测试你的服务器了。
50 queries in 1.732 seconds |