根访问问题-其他人如何处理这个问题?

根访问问题-其他人如何处理这个问题?

我使用非 root 用户运行 Ubuntu 10.04 LTS 实例(通过 Windows 7 上的 Virtual Box)。我正在尝试开发 Rails 应用程序,我注意到我需要使用 sudo 运行一些 rails 命令。这给我带来的问题是,一些文件是由 root 用户创建的,而我无法使用登录用户通过 GNOME 窗口编辑它们。

这里正确的做法是什么?我是否应该始终以 root 身份登录?如果是,该怎么做?是否有某种方法可以让我为主目录(我进行所有 Rails 工作的地方)下的所有文件赋予所有用户的正确权限,以便我可以通过窗口使用登录用户编辑它们?

目前我不得不通过这样的命令行打开文件sudo gedit myFile.rb- 这不太可持续!

提前致谢!

答案1

正如@mount.cifs 所提到的,ubuntu 文件权限页面包含有关设置粘性 & SGID 位等的提示。

我建议定期更改文件夹的组所有权和访问权限。

sudo chgrp -R foobar /home/foo/bar

sudo chmod -R g+w /home/foo/bar

除此之外,请调查将会话的 umask 设置为组可写是否可以解决您的问题?

http://bashscript.blogspot.com/2010/03/unixlinux-advanced-file-permissions.html

http://bashscript.blogspot.com/2010/03/creating-user-group-and-shared.html

附言:我强烈建议不要直接在主目录中设置,而是在子目录中设置

但这些文件归 root 所有是有原因的。您是否试图修复错误的问题?也许您的工作流程实际上并不需要 rail sudo 命令?然后我再次假设 gem 必须安装在系统范围内,所以也许...

无论如何,以 root 身份运行 nautilus 窗口怎么样:

sudo nautilus /home/foo

或者使用 GEdit 中的文件侧边栏进行文件导航?

答案2

请阅读以下内容:

https://help.ubuntu.com/community/FilePermissions

一般来说,如何处理所有者/文件权限取决于具体情况。

答案3

首先,避免使用 sudo。找出脚本正在访问而您无权访问的内容,然后更改该文件的权限,这样您便可以访问而不必使用 sudo。

如果您无法避免使用 sudo,那么在运行这样的命令后,只需使用 sudo chown 将其创建的文件返回给您自己即可。

相关内容