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

本文分享了SED在实际工作中的应用技巧,包括如何在指定位置插入多行内容、快速修改SSH配置参数等。通过实例演示了SED命令的强大功能,适用于运维人员进行高效的文本编辑。

老男孩老师有关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 


作者:老男孩linux运维

来源:51CTO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值