在R中为已创建的文件设置文件权限

时间:2017-06-19 15:00:29

标签: r file-permissions

我在Linux上并希望与同事共享R输出,同时也允许他们覆盖我的文件。但是,当我写一个文件时,权限被设置为只读组,例如:

> write.csv(data.frame(a = 1:3), file = "/tmp/test.csv")
> file.mode("/tmp/test.csv")
[1] "644"

创建一个只能由我自己编写的文件。我可以设置一些选项,以便我写的文件有权自动设置660所有写文件的方式(write.csvdata.table等)吗?

1 个答案:

答案 0 :(得分:2)

解决方法是使用umask设置Sys.umask,如下所示。

# Before setting umask as in the question:
> write.csv(data.frame(a = 1:3), file = "/tmp/test.csv")
> file.mode("/tmp/test.csv")
[1] "644"
# Setting the umask results in succes:
Sys.umask("006")
> write.csv(data.frame(a = 1:3), file = "/tmp/test2.csv")
> file.mode("/tmp/test2.csv")
[1] "660"