我正在编写一个脚本来修改 Ubuntu 服务器上的设置。
我里面有以下行:
sudo sed 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
问题是这种变化不会持续下去。它只是将“否”改回“是”。
当命令执行时,修改后的文件立即显示在终端中,显示“否”,但是当我cat该文件或在vim中打开它时,它再次显示“是”。
另外,我可以在 vim 中打开 sshd_config 并手动修改它,并且更改仍然很好。
有什么想法吗?
谢谢。
答案1
-i
只需使用开关启动命令即可
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
从man sed
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied).
The default operation mode is to break symbolic and hard links.
This can be changed with --follow-symlinks and --copy.