相关疑难解决方法(0)

非根目录中的 sudoedit 根拥有的文件

为什么我不能编辑 root 拥有的文件,但在我个人目录深处的某个地方,它说:

sudoedit: existingFile: editing files in a writable directory is not permitted
Run Code Online (Sandbox Code Playgroud)

虽然我定义了以下函数:

function sunano {
    export SUDO_EDITOR='/usr/local/bin/nano'
    sudoedit "$@"
}
Run Code Online (Sandbox Code Playgroud)

我像这样编辑:

sunano existingFile
Run Code Online (Sandbox Code Playgroud)

文件确实归 root 所有:

ls -l existingFile
Run Code Online (Sandbox Code Playgroud)

证明:

-rwxr-xr-x 1 root root 40 Jun 15  2015 existingFile
Run Code Online (Sandbox Code Playgroud)

permissions sudoedit

5
推荐指数
1
解决办法
6434
查看次数

如何在 Gnu/Linux 的 GUI(和 CLI)中正确编辑系统文件(以 root 身份)?

系统:Linux Mint 18.1 64 位 Cinnamon


目标:定义Bash别名以在从模拟器以root模式打开文件时启动各种CLIGUI文本编辑器。gnome-terminal


进步

例如,以下别名似乎按预期工作:

对于CLI,在这个例子中我使用了 Nano(官网):

alias sunano='sudo nano'
Run Code Online (Sandbox Code Playgroud)

对于GUI,在这个例子中我使用了 Xed(维基百科文章):

alias suxed='sudo xed'
Run Code Online (Sandbox Code Playgroud)

他们都以root身份打开文件。


问题

我有一个问题gksudosublime-text

alias susubl='gksudo /opt/sublime_text/sublime_text'
Run Code Online (Sandbox Code Playgroud)

有时它有效。大多数时候它什么都不做。

我如何调试这种行为不一致的东西?它不输出任何东西。没有错误信息或类似信息。


gksudo 已在 Debian 中被弃用,也不再包含在 Ubuntu 18.04 Bionic 中,所以让我将这个问题重新表述为一个仍然有效的问题:

如何在 Linux 的 GUI(和 CLI)中正确编辑系统文件(以 root 身份)?

在这种情况下,我正确地定义为安全,例如,在文件编辑期间发生断电,另一个示例可能是 SSH 连接丢失等。

linux editors sudoedit

4
推荐指数
1
解决办法
6916
查看次数

标签 统计

sudoedit ×2

editors ×1

linux ×1

permissions ×1