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

Bob*_*sen 5 file-permissions r

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

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

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

Bob*_*sen 4

解决办法是按如下方式设置umaskusing 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"
Run Code Online (Sandbox Code Playgroud)