dat*_*boy 5 sudo vim remote editing
如何使用 sudo 编辑远程文件?
我可以通过 ssh/scp 访问远程服务器,并在其上使用无密码 sudo。
我想以/etc/some/file
远程 root 身份进行编辑,所以我运行:
$ Vi scp://server/etc/some/file
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用,理由是我没有足够的权限。我怎样才能做到这一点?
小智 1
这是一小段bash
脚本,可以完成您想要的操作:
#!/bin/bash -ex
TMP_FILE=$(basename "$2")
ssh -t "$1" "/bin/bash -c \"
mkdir -p /tmp/remote-sudoedit/
cd /tmp/remote-sudoedit/
/usr/bin/env SUDO_EDITOR=cat sudoedit '$2' | tee '$TMP_FILE'\""
nvim scp://"$1"//tmp/remote-sudoedit/"$TMP_FILE"
ssh -t "$1" "/bin/bash -c \"
cd /tmp/remote-sudoedit/
sudo cp '$TMP_FILE' '$2'
rm '$TMP_FILE'\""
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1850 次 |
最近记录: |