使用“sudo”命令创建的文件对我的用户来说是只读的

使用“sudo”命令创建的文件对我的用户来说是只读的

我是一名刚开始学习 Ruby on Rails 的 Mac 新用户。我发现sudo在运行类似以下命令时需要使用语句:

$ sudo rails generate controller home index

但当我这样做时,当我尝试编辑它们时,它生成的文件显示为只读结尾

我对该文件执行了“获取信息”,结果显示其所有者是root,组是staff替代文本

我的用户jesse需要属于该组staff吗?

我真的只想能够编辑我的文件而不搞砸任何事情。如果有人能为新手提供任何指导,我将不胜感激。

答案1

当您使用 创建文件时sudo,这些文件归 root 所有。您可以:

  1. 使用检查器窗口(屏幕截图中的窗口)将文件所有者更改为您自己,或者

  2. chown -R jesse myProjectDir在您创建的目录上运行以将其所有者(及其内容的所有者)更改为您自己。

答案2

该组(工作人员)也没有写入权限。您必须执行以下操作:

$ sudo chmod a+w {files}

其中{files}是您不能写入的文件的列表。请注意,如果您rails generate再次运行,很有可能会丢失 +w 并必须重复此操作。还请注意,这会使{files}所有用户都可以写入,因此如果您让其他人使用您的计算机,他们将能够修改{files}

相关内容