linux服务器阻止恶意的暴力ssh登录

可以使用 DenyHosts 或 pam_tally2.so 实现

DenyHosts是Python语言编写的程序,主动分析登录日志文件/var/log/secure,对于多次连续的重复错误登录ip,加入/etc/hosts.deny,从而阻止这些暴力登录。

详细参看:linux下使用denyhosts防止ssh暴力破解

pam_tally2,则是使用pam模块,对于连续N次登录错误的用户,自动禁止登录若干时间。

详细参看:使用pam模块pam_tally2设置Linux用户连续N次输入错误密码自动锁定X分钟

fedora16通过命令行配置无线,并开机自动连接

装在上网本上用来折腾的一个fedora 13系统,没有图形界面,但还是花了整整一夜加半天时间从13升级到16,已经是最新的版本了;并把自动连接无线的命令写到一个脚本文件里,开机自动运行。

以前一直不能通过命令行启用无线,后来才发现是因为NetworkManager服务的原因,禁止该服务后可以通过命令行配置无线正常连网。最好把rpm -e NetworkManager 卸载掉这个NM包,以免它的干扰。

无线使用最简单的wep加密,在路由器上限制了允许mac地址,因此无线安全不是大问题。

无线配置命令非常简单
iwconfig wlan0 essid "[无线AP名称]" key s:[无线密码]
ifconfig wlan up
dhclient wlan0

将写入一个文件,保存为/root/script/start-wlan.sh,也可以保存到其它目录里。

在文件/etc/rc.d/rc.local 里加入一行

.  /root/script/start-wlan.sh

即可

 

[转]让你提升命令行效率的 Bash 快捷键

生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率。

编辑命令

  • Ctrl + a :移到命令行首
  • Ctrl + e :移到命令行尾
  • Ctrl + f :按字符前移(右向)
  • Ctrl + b :按字符后移(左向)
  • Alt + f :按单词前移(右向)
  • Alt + b :按单词后移(左向)
  • Ctrl + xx:在命令行首和光标之间移动
  • Ctrl + u :从光标处删除至命令行首
  • Ctrl + k :从光标处删除至命令行尾
  • Ctrl + w :从光标处删除至字首
  • Alt + d :从光标处删除至字尾
  • Ctrl + d :删除光标处的字符
  • Ctrl + h :删除光标前的字符
  • Ctrl + y :粘贴至光标后
  • Alt + c :从光标处更改为首字母大写的单词
  • Alt + u :从光标处更改为全部大写的单词
  • Alt + l :从光标处更改为全部小写的单词
  • Ctrl + t :交换光标处和之前的字符
  • Alt + t :交换光标处和之前的单词
  • Alt + Backspace:与 Ctrl + w 类似,分隔符有些差别

重新执行命令

  • Ctrl + r:逆向搜索命令历史
  • Ctrl + g:从历史搜索模式退出
  • Ctrl + p:历史中的上一条命令
  • Ctrl + n:历史中的下一条命令
  • Alt + .:使用上一条命令的最后一个参数

控制命令

  • Ctrl + l:清屏
  • Ctrl + o:执行当前命令,并选择上一条命令
  • Ctrl + s:阻止屏幕输出
  • Ctrl + q:允许屏幕输出
  • Ctrl + c:终止命令
  • Ctrl + z:挂起命令

Bang (!) 命令

  • !!:执行上一条命令
  • !blah:执行最近的以 blah 开头的命令,如 !ls
  • !blah:p:仅打印输出,而不执行
  • !$:上一条命令的最后一个参数,与 Alt + . 相同
  • !$:p:打印输出 !$ 的内容
  • !*:上一条命令的所有参数
  • !*:p:打印输出 !* 的内容
  • ^blah:删除上一条命令中的 blah
  • ^blah^foo:将上一条命令中的 blah 替换为 foo
  • ^blah^foo^:将上一条命令中所有的 blah 都替换为 foo

友情提示:

  1. 以上介绍的大多数 Bash 快捷键仅当在 emacs 编辑模式时有效,若你将 Bash 配置为 vi 编辑模式,那将遵循 vi 的按键绑定。Bash 默认为 emacs 编辑模式。如果你的 Bash 不在 emacs 编辑模式,可通过 set -o emacs 设置。
  2. ^S、^Q、^C、^Z 是由终端设备处理的,可用 stty 命令设置。

原文:http://www.skorks.com/2009/09/bash-shortcuts-for-maximum-productivity/

译文:http://linuxtoy.org/archives/bash-shortcuts.html

nginx下为wordpress配置重写规则/rewrite

nginx不能支持.htaccess的rewrite规则,所以使用nginx作web服务器,配置wordpress固定链接会比较麻烦一点,要自己写规则到nginx配置文件里。网上也看到一些配置规则,不过觉得怪怪的。

发现nginx官方网站上有个页面,关于wordpress重写规则的,http://wiki.nginx.org/WordPress里面有“cool”的规则,本站的nginx配置如下,其中一行 try_files $uri $uri/ /index.php; 就是这行,应该比网上有些文章里的规则更cool。

    server {
        server_name  blog.path8.net;
        root /var/www/vhost/blog;
        access_log  logs/vhost-blog.path8.net.log  main;

        location /favicon.ico {
                log_not_found off;
                access_log off;
        }
        location /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                index  index.html index.htm index.php;
                # from nginx.org rewrite rule
                # This is cool because no php is touched for static 
 try_files $uri $uri/ /index.php;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /var/www/vhost/blog$fastcgi_script_name;
            include        fastcgi_params;
        }
    }

Selenium的安装使用

简述

Selenium是个针对浏览器的可编程的自动化工具,通过一致的编程接口用于控制浏览器打开URL、点击页面上链接等。尤其适合做机械的、重复的、固定的操作。有Java, Python, C#, Ruby等多种编程接口。

在实际使用中,推荐把Selenium安装在单独的机器(如虚拟机)上,而在其它的机器上通过编程接口操纵它们。没错,这里用的是“它们”,即你可以有很多Selenium机,而只在(另外的)一台机器上跑控制主机(叫“Selenium Client")。

各种现代浏览器都是支持的,推荐使用Firefox ESR版。

安装

因为Selenium依赖Java环境,需要事先安装JDK,并确认已设置好环境变量PATH.

下载安装Selenium服务器端,官方下载页Selenium Standalone Server,在服务器端适合的目录里,比如保存为 C:\tools\selenium\selenium-server-standalone-3.xxx.yy.jar  ,设置一个启动脚本 run_selenium_server.bat 内容为如下一行
java -jar C:\tools\selenium\selenium-server-standalone-3.xxx.yy.jar

安装好浏览器,把浏览器的安装目录放到PATH环境变量中。典型PATH变量示例:

在官方下载页的 Third Party Drivers, Bindings, and Plugins ,找您浏览器的驱动,下载,然后解压缩到浏览器的安装目录中。

使用

参考官方下载页的 Selenium Client & WebDriver Language Bindings ,有多种编程语言。

Python版编程接口  https://seleniumhq.github.io/selenium/docs/api/py/index.html

某些问题

如果浏览器的更新到版本,旧的Driver可能不再适配,就要下载新版本Driver并覆盖掉旧版。