Archive for the ‘Linux’ Category

如何通过限制SSH访问来加强服务器的安全

Friday, May 30th, 2008

本文将讲述一些可以加强Unix,Linx服务器SSH访问的安全性的一些措施。 我个人极力非常推荐的措施是: 1.限制性SSH访问,将sshd绑定到一个ip地址,和允许所有ip地址是完全不同的安全。 2.将sshd默认端口22改为其它端口。 步骤如下: 前提: SSH 客户端 - 我推荐使用 putty (搜索google,你会很快找到它) SSH 服务已安装 第一步: 以root身份SSH登录到服务器。 第二步:在命令提示符下输入:pico -w /etc/ssh/sshd_config 第三步:向下翻页,在这个文件中找到像这样的区域: #Port 22 #Protocol 2, 1 #ListenAddress 0.0.0.0 #ListenAddress :: 第四步:取消注释符号#,并修改 端口 #Port 22 像这样修改它 Port 5678 (选择你未被使用的4到5位数字组成的端口(49151是最高端口数)) 协议 #Protocol 2, 1 改为这样: Protocol 2 监听地址 #ListenAddress 0.0.0.0 改为这样: ListenAddress 125.121.123.15(这里的地址改为你自己访问服务器常用的客户端ip地址) 第五步 如果你想禁用直接用root登录,向下翻知道你看见 #PermitRootLogin yes 去掉前面的注释符号#,修改为 PermitRootLogin no 按住Ctrl键保存修改,在按Ctrl + x组合键退出。 第六步 在命令提示符下输入: /etc/rc.d/init.d/sshd restart 第七步 退出SSH,以后再登录就必须使用新的端口号(如:49151),并且服务器限制只允许从一个指定的 IP地址(如:125.121.123.15)SSH登录了。 注意事项: 如果修改后出现不能登录或者其他问题,你只需要为服务器接上显示器 或者 Telnet 到你的服务器,修改设置,然后再重新SSH登录。Telnet 是一个非常不安全的协议,所以在你使用它之后最好是修改一下你的root密码。 (the end)

Shell命令行下如何查找并替换多个文件中的字符

Thursday, January 24th, 2008

如果你在shell命令行下,需要一种能快速查找并替换多个文件里字符的方法, 那么下面这行命令你一定要记住或者收藏起来,它能帮到你的。 find . -name '*.html' -print0 | xargs -0 perl -pi -e 's/SEARCHSTRING/REPLACESTRING/g' 注解: *.html:表示查找所在目录下的所有扩展名为html的文件; SEARCHSTRING:要查找搜索的字符; REPLACESTRING:替换后的字符。 记住:如果替换的字符包括 ()[]/"'!? 等等这样的特殊字符,你必须在字符前加上反斜杠\ 。 使用举例: 1.创建一个新目录: $ mkdir test $ cd test 2.创建1.html,2.html两个文件,并分别输入i like china : [root@localhost test]$ vi 1.html 按i进入输入模式,输入: i like china 按esc键退出输入模式,输入 :wq 退出。 [root@localhost test$] vi 2.html 按i进入输入模式,输入: you like china 按esc键退出输入模式,输入 :wq 退出。 3.运行替换命令,like感情不够强烈,呵呵,我们这里要将2个文件中的字符 like 换为 love : [root@localhost test]$ find . -name '*.html' -print0 | xargs -0 perl -pi -e ...

10个你可能从未使用过的Linux命令

Thursday, January 24th, 2008

一般来说,你可能需要几年甚至上十年来精通Linux shell命令。这里是10个你可能从未听过或者用过的命令。 1.pgrep, 一般如下: # ps -ef | egrep ^root | awk {print $2} 1 2 3 4 5 20 21 38 39 ... 事实上,你可以这样: # pgrep -u root 1 2 3 4 5 20 21 38 39 ... 2.pstree, 以树形格式来列出进程。这个命令对于已经在运行的WebSphere或其它大型任务的应用程序非常有用的。 # pstree init-+-acpid |-atd |-crond |-cups-config-dae |-cupsd |-dbus-daemon-1 |-dhclient |-events/0-+-aio/0 | |-kacpid | |-kauditd | |-kblockd/0 | |-khelper | |-kmirrord | `-2*[pdflush] |-gpm |-hald |-khubd |-2*[kjournald] |-klogd |-kseriod |-ksoftirqd/0 |-kswapd0 |-login---bash |-5*[mingetty] |-portmap |-rpc.idmapd |-rpc.statd |-2*[sendmail] |-smartd |-sshd---sshd---bash---pstree |-syslogd |-udevd |-vsftpd |-xfs `-xinetd 3.bc是一个相当准确的计算器语言。我发现它可以让你用shell脚本来执行平方根操作。而expr 不支持平方根. # ./sqrt Usage: sqrt number # ./sqrt 64 8 # ./sqrt 132112 363 # ./sqrt 1321121321 36347 Here is the script: # cat sqrt #!/bin/bash if [ $# -ne 1 ] then echo Usage: sqrt number exit 1 else echo -e "sqrt($1)\nquit\n" | ...