如何获取编辑系统配置文件的权限?

如何获取编辑系统配置文件的权限?

我似乎无法在根系统中编辑和保存配置文件(例如/etc/dhcp/dhcpd.config:);它只是说“权限被拒绝”或文本编辑器中的保存选项被阻止。

我很确定我是 root 用户,但我该如何确定呢?如果我是 root 用户,我该如何修复此问题?

答案1

您使用的是哪种文本编辑器?如果您是 sudoer 并且知道您的密码,请尝试(在终端中):

  • sudoedit /etc/dhcp/dhcpd.config如果您正在使用基于终端的编辑器(如)nano或正在通过 ssh 进入服务器。
  • gedit admin:///etc/dhcp/dhcpd.config使用协议admin://gedit与 GNOME 应用程序(以及支持 GVfs 的其他应用程序)一起使用。
  • sudo -H <text editor> /etc/dhcp/dhcpd.config适用于一般的 GUI 编辑器。
  • 在旧版本的 Ubuntu 中,gksudo <text editor here> /etc/dhcp/dhcpd.config可用于启动 GUI 编辑器。

无论哪种情况,您都需要在要求时首先提供您的密码。

从 Ubuntu 14.04 开始,gksudo默认情况下不安装。您必须安装该gksu软件包(从软件中心或通过sudo apt-get install gksu)才能获取它。

在 Ubuntu 17.10 中,Wayland 是默认设置,而不是传统的 X 服务器,并且以 root 身份运行图形编辑器很困难。请参阅为什么 gksu/gksudo 或使用 sudo 启动图形应用程序不能与 Wayland 一起使用?了解详情。

在 Ubuntu 18.04 中,gksudo在官方存储库中不可用。

答案2

如果您不想使用终端,您可以以 root 身份调用 GUI 程序,如下所示(此示例针对 Gedit):

  1. Alt+F2调出运行对话框。
  2. 键入gksudo后跟程序的可执行名称(可能与 GUI 显示的名称不同)。例如:

    gksudo gedit
    
  3. Enter

答案3

我想不出 root 会得到什么情况permission denied

在 12.04 中,您可以这样做: alt+f2gksudo在出现的框中输入如下内容:

F2 对话

你会看到一个像这样的框,输入gedit并点击ok

在运行对话框中输入 gedit

点击Open

在 gedit 中打开标签页

只需浏览到该文件:

打开文件对话框

完毕

警告:存在超级用户/root 是有原因的。这是为了防止您不小心将一些不好或不合结构的内容错误地放入重要内容中。您应该非常小心,确保您以 root 身份编辑的任何内容都是您想要编辑的正确文件,并且您的语法是完美的。如果有其他工具可用于编辑,建议使用这些工具。例如,使用visudo 终端命令而不是手动编辑/etc/sudoers

有些文件可能会被弄乱,但恢复起来却很容易。其他文件则相对复杂,或者您必须使用恢复控制台和大量命令行。

是的,恢复控制台命令行看起来比. 小心一点就好。

答案4

如果你正在使用Ubuntu 17.04或更高版本,建议使用gvfs 管理后端。只需将其添加admin://到要在应用程序中打开的完整文件路径的前面,例如文本编辑器或者文件应用程序

例如,要更改启动设置,请打开

admin:///etc/default/grub

如果你使用的是带有默认 Wayland 的 Ubuntu 17.10,sudo并且gksu如旧答案中所述,这里将不是工作。

相关内容