![如何才能不要求 root 身份识别来编辑某些目录中的文件?](https://linux22.com/image/836568/%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E4%B8%8D%E8%A6%81%E6%B1%82%20root%20%E8%BA%AB%E4%BB%BD%E8%AF%86%E5%88%AB%E6%9D%A5%E7%BC%96%E8%BE%91%E6%9F%90%E4%BA%9B%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我的电脑上安装了最新版本的 Ubuntu。我想设置它,以便我可以轻松地在PHP、JavaScript、HTML 和 CSS。
我已经安装了 Nginx 并进行了设置,安装了 MySQL 并进行了设置,还有一个编辑器(还没有决定是使用 Sublime Text 2 还是 PhpStorm 6,不过目前这还不是问题),然后有点作品。
我的主要问题是,我需要做sudo
任何事情才能编辑甚至访问任何配置文件,甚至是公共 www 文件。这真是太烦人了。我不想为了开发而打开每个程序的终端窗口。我知道有,gksu
但同样,必须一次又一次地识别所有东西很烦人。
另外,我无法安装 sublime-text 插件,因为权限被拒绝错误。同样,我不想sudo
每次使用 sublime 时都这样做!
值得一提的是,我正在开发图形用户界面,包括正在运行的程序等等。
提前致谢。
答案1
为了能够从文件管理器更改任何文件,请使用:
sudo nautilus
要在后台运行它,请使用:
sudo nautilus &
要更改文件以便您始终可以访问它们,请右键单击每个文件夹,Properties
然后单击Permissions
选项卡,然后将下拉菜单中的权限更改为您的用户名而不是 root。确保您可以读取和写入目录。这对大多数配置文件来说并不安全。
为了能够只更改您正在处理的内容,您应该始终为该用户启动一个终端,该终端可以只更改您需要的内容。这就是使 Linux 安全的原因。特别是对于服务器 (wwww)。然后从该用户启动 GUI。(如 nautilus 或文本编辑器)。为了能够更改 www 文件夹中的文件,请使用:
sudo su - www-data -s /bin/bash
(使用 www-data 用户在 shell 内打开一个新的 bash shell)
从这里您可以做如下事情:
gedit &
(这将在后台启动 gedit 文本编辑器,您可以使用它来编辑 www 文件夹中的所有文件。您可以使用任何其他编辑器。此后,如果您不想要调试信息,可以关闭终端。)
如果您使用 root 用户在 www 文件夹中创建了新文件,这些文件将以 root 作为用户和组,您应该将这些文件更改为 www-data。
www-data 也可能是 www 或其他用户。
最好的方法仍然是复制、以普通用户身份编辑、备份并以特权用户身份复制回来并更改权限。但我明白为什么你不想每次都这样做。