如何更改Linux下artifacts子目录的默认权限

平时在 Linux 服务器下使用 Julia,今天把编写的脚本给同事用,报错对 artifacts 目录下某个文件无打开权限。
image


尝试过删除整个 artifacts 目录后重新下载二进制依赖,目录的权限情况依然是上图所示。
请问是否有方法可以更改 artifacts 的子目录默认权限
——

chmod -R 655 目录??
或是说你这个磁盘分区可能是FAT的,改不掉文件权限

我的意思是默认权限。就是下次下载新的二进制依赖项的时候自动就设置别人可以访问的。

我的意思是默认权限。就是下次下载新的二进制依赖项的时候自动就设置别人可以访问的。

umask 用来控制当前目录下新文件/目录创建时的默认权限

cd /data4/XXXXX/.julia/artifacts
umask 0022

Edit:

哦不对,好像这里的目录权限是在PkgServer打包的时候就决定了的.

不太确定有没有其他更好的办法,不过可以写一个简单的 cron job 来定时修改权限。比如说 crontab -e 之后:

# 每小时更新一次权限
0 * * * * chmod a+r -R /path/to/artifacts

所以这个问题最早的源头算是Julia官方引发的?或者北外镜像那边能解决吗?

所以这个问题最早的源头算是Julia官方引发的

嗯, 在 gen_static.jl 中为了保证一致性,打包的时候做了一次权限修改,不过不太确定为什么他们设定为700。

开了个issue:change the default file permission when building tarballs? · Issue #56 · JuliaPackaging/PkgServer.jl · GitHub

北外镜像那边能解决吗?

不能。

如果觉得 cron 不够好的话,可以尝试用 watchman 来自动检测并调整权限