5 vim root sudo privileges elevation
我发现vim,如果我尝试编辑一个作为普通用户我没有写访问权限的文件,即使我使用sudo,我也无法写入它,尽管如果我nano用来编辑同一个文件它可以工作。
例如,如果我这样做:
sudo vim /var/path/to/file.conf
Run Code Online (Sandbox Code Playgroud)
我将在文件中获取此信息,但无法编辑该文件:
"/var/path/to/file.conf" [readonly]
Run Code Online (Sandbox Code Playgroud)
但如果我改为:
sudo nano /var/path/to/file.conf
Run Code Online (Sandbox Code Playgroud)
它将能够写入文件,为什么会这样,为什么不像它那样sudo提供vim写访问权限nano?这是某种错误吗?或者这只是注定的事情?因为它非常烦人。
Description: Ubuntu 15.04
Release: 15.04
Run Code Online (Sandbox Code Playgroud)
vim:
Installed: 2:7.4.488-3ubuntu2
Candidate: 2:7.4.488-3ubuntu2
Version table:
*** 2:7.4.488-3ubuntu2 0
500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
Eli*_*gan 13
这是 vim(和 vi)的预期行为。
当您编辑只读文件时,尝试以通常的方式(使用:w)写入文件失败。这是为了防止您意外更改您可能不想更改的只读文件。
如果您真的想覆盖您拥有的文件的只读权限,并将您的更改写入该文件,您必须使用该:w!命令,以便 vim 知道这是您想要的。
:q如果有未保存的更改,则不会退出,但是:q!会。如果您想写入任何更改并在一个命令中退出,您可以使用:wq!或:x!。
| 归档时间: |
|
| 查看次数: |
5729 次 |
| 最近记录: |