企业场景运维案例:sed实战修改多行配置技巧


本博文出自Bkjia博客老男孩linux运维,有任何问题请进入博主页面互动讨论!

博文地址:http://oldboy.blog.51cto.com/2561410/1610998

老男孩老师有关sed实战技巧分享,来自课堂教学内容实战

企业场景运维案例:sed实战修改多行配置技巧

1、在指定行前插入两行内容,分别为oldboy和oldgirl。

提示:被修改的文件内容必须要大于等于2行

  1. sed -i '2 ioldboy\noldgirl' sshd_config 

2、企业实战例子:快速更改SSH配置(一键完成增加若干参数)

增加:

  1. [root@oldboy ssh]# sed -i '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no'  sshd_config 

查看:

  1. [root@oldboy ssh]# sed -n '13,17p' sshd_config  
  2. Port 52113 
  3. PermitRootLogin no 
  4. PermitEmptyPasswords no 
  5. UseDNS no 
  6. GSSAPIAuthentication no 

3、如果是快速修改参数可以用如下方法(企业实战例子)

  1. echo "#--------sshConfig修改ssh默认登录端口,禁止root登录----------------------------#" 
  2. \cp /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +"%F"-$RANDOM) 
  3. sed -i 's%#Port 22%Port 52113%' /etc/ssh/sshd_config 
  4. sed -i 's%#PermitRootLogin yes%PermitRootLogin no%' /etc/ssh/sshd_config 
  5. sed -i 's%#PermitEmptyPasswords no%PermitEmptyPasswords no%' /etc/ssh/sshd_config 
  6. sed -i 's%#UseDNS yes%UseDNS no%' /etc/ssh/sshd_config 
  7. sed -i 's%GSSAPIAuthentication yes%GSSAPIAuthentication no%' /etc/ssh/sshd_config 
  8. egrep "UseDNS|52113|RootLogin|EmptyPass|GSSAPIAuthentication" /etc/ssh/sshd_config 

提示:如果是指定行修改还可以是:

  1. sed -i '2735s/admin_tenant_name=service/adminadmin_tenant_name=admin/' nova.conf 



相关内容