码迷,mamicode.com
首页 > 其他好文 > 详细

修改centos默认的22端口脚步

时间:2016-08-08 19:36:31      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:version   require   please   system   用户   

#/bin/sh  间接修改端口

#auther:qiruyi

#date:2016-08-05

#system:centos6.5

#version:1.0

#require root to run this script.  //使用root用户

if [[ "$(whoami)" = "root" ]]; 

then  echo "root is run"

else

echo "please su root to run this script"

fi

\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +"%F"-$RANDOM)

sed -i ‘s%#Port 22%Port 22%‘ /etc/ssh/sshd_config

sed -i -e ‘/Port 22/a\Port 1222‘  /etc/ssh/sshd_config //追加一个端口1222

#sed ‘3a-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT ‘ -i  /etc/sysconfig/iptables //追加一个端口1222

/etc/rc.d/init.d/sshd restart

if [ `lsof -i tcp:1222 |wc -l` -eq 3 ];

then

echo "ssh修改端口成功"

sed -i ‘s%Port 22%#Port 22%‘ /etc/ssh/sshd_config

else

echo "ssh修改端口不成功"

fi

#保证安全,查看/etc/ssh/sshd_config后 手动重启/etc/rc.d/init.d/sshd restart 后生效


反引号``

这个东西的用法,我百度了一下,和$()是一样的。在执行一条命令时,会先将其中的 `` ,或者是$() 中的语句当作命令执行一遍,再将结果加入到原命令中重新执行

另外,从网上摘录的区别如下:
A,()只是对一串命令重新开一个子shell进行执行
B,{}对一串命令在当前shell执行
C,()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开
D,()最后一个命令可以不用分号
E,{}最后一个命令要用分号
F,{}的第一个命令和左括号之间必须要有一个空格
G,()里的各命令不必和括号有空格
H,()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令

两个括号(()),是代表算数扩展,就是对其包括的东西进行标准的算数计算——注意,不能算浮点数,如果需要算浮点数,需要用bc做。

至于中括号[ ],感觉作用就是用来比较的。比如放在if语句里面,while语句里面,等等。
这里引出来[..]和[[…]]的区别:(摘自网上,实测证实):使用[[ ... ]]条件判断结构, 而不是[ ... ], 能够防止脚本中的许多逻辑错误. 比如,&&, ||, <, 和> 操作符能够正常存在于[[ ]]条件判断结构中, 但是如果出现在[ ]结构中的话, 会报错。

修改centos默认的22端口脚步

标签:version   require   please   system   用户   

原文地址:http://21024.blog.51cto.com/11024/1835737

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!