我曾经sudoedit
创建一个文件:
$ sudoedit /etc/systemd/system/apache2.service
但是当我去保存文件时,它把它写在一个临时目录(/var/temp/blahblah)中。到底是怎么回事?为什么不保存到系统目录?
我曾经sudoedit
创建一个文件:
$ sudoedit /etc/systemd/system/apache2.service
但是当我去保存文件时,它把它写在一个临时目录(/var/temp/blahblah)中。到底是怎么回事?为什么不保存到系统目录?
重点
sudoedit
是允许用户在运行非特权编辑器时编辑他们原本不允许编辑的文件。为此,sudoedit
请将要编辑的文件复制到临时位置,使其可由请求用户写入,然后在配置的编辑器中打开它。这就是编辑器在临时目录中显示不相关文件名的原因。当编辑器退出时,sudoedit
检查是否真的进行了任何更改,并在必要时将更改的临时文件复制回其原始位置。这在
sudo
手册页中有很好的解释。-e
(sudoedit
相当于)的描述说:特别要注意第三步:只有在编辑结束时修改了文件,才改变了原始文件。因此,如果您有一个监视文件的程序,这可以帮助避免 (a) 中间写入被拾取,以及 (b) 如果您决定最终不进行任何更改,则不必要的操作。