【问题标题】:Default group permission for RStudio ServerRStudio Server 的默认组权限
【发布时间】:2014-10-12 02:40:51
【问题描述】:

我在 Ubuntu 12.04 上使用 RStudio 服务器(版本 0.98.994)。

我们的小组一起在外部共享驱动器上工作,并希望打开同一个项目。

当我打开其他同事创建的项目文件时,出现权限被拒绝的错误(抱歉,我已经手动更改了权限,无法显示错误消息)。

检查文件权限后,我发现*.Rproj和.Rhistory的默认权限是“-rw-r--r-x”,“.Rproj.user”的默认权限是“drwxr-sr-x”。所以组没有写权限。

在外部共享驱动器中(不确定系统,应该是Linux),组的默认权限是rw。

如何更改 *.Rproj、.Rhistory 和 .Rprojt.user 的默认权限?

感谢您的任何建议。如果我的问题不清楚,请告诉我。

编辑:

我从命令行在外部共享驱动器中创建了新文件和文件夹。正如我所料,默认权限是文件的 -rw-rw-r-- 和文件夹的 drwxrwsr-x 。似乎 RStudio 服务器使用自己的默认权限创建了这些新文件。

当 RStudio 服务器创建它们时,我可以更改这些文件 *.Rproj、.Rhistory 和 .Rprojt.user 的默认权限吗?即向组添加写入权限。

【问题讨论】:

  • 我认为更安全的方法是分叉/克隆一个项目(可能来自 GitHub)并在本地处理一个项目。这也是 git/svn 和备份工作的一个很好的练习。协作编写代码不像共享 google doc 文档,这是理所当然的。
  • 是的 svn/git 是共享代码的最佳方式。但在我的基地,我们的主管想直接查看学生的代码和结果。

标签: linux r ubuntu file-permissions rstudio-server


【解决方案1】:

目录的默认权限是777,即读/写/执行,而文件的默认权限是666,即读/写。但是每个系统都有一个umask 值,通常是022

因此,当您创建目录时,它的权限为 777,但它会取消 umask 的值 022,并保留您的默认权限 755,即 rwxr-xr-x

只需输入命令即可更改umask的值

umask=055

这会将umask 的值设置为055,并且每当您创建新文件/目录时,055 将被取消权限。

再次查看一个新创建的目录,其权限为777,并且umask 值被删除,因此目录权限为722,即rwx-w--w- 再看一个有权限的新目录

【讨论】:

  • 感谢您的建议。我自己在外部共享驱动器中创建了一个新文件和文件夹。默认权限是 -rw-rw-r-- 用于文件和 drwxrwsr-x 用于文件夹。似乎 RStudio 服务器使用自己的默认权限创建了这些新文件。将编辑我的问题以澄清这一点。
  • @Bangyou 您可以将Sys.umask("002") 放在脚本顶部或.Rprofile 中
  • 感谢您的 cmets。我们通过更改共享驱动器中的默认组权限解决了我们的问题。
猜你喜欢
  • 2012-06-02
  • 1970-01-01
  • 2012-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-05
  • 1970-01-01
  • 2015-07-24
相关资源
最近更新 更多