加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 为文件和文件夹设置不同的Umask

发布时间:2020-12-15 22:47:16 所属栏目:安全 来源:网络整理
导读:我正在编写一个bash脚本来更新一些文件/目录,我想在脚本中运行umask来设置脚本创建的文件/目录的默认权限.我知道我可以使用umask来设置文件和目录的权限,但我需要对文件和文件夹的权限不同. I want files to be: -rw----r-- (0604)I want folders to be: drw
我正在编写一个bash脚本来更新一些文件/目录,我想在脚本中运行umask来设置脚本创建的文件/目录的默认权限.我知道我可以使用umask来设置文件和目录的权限,但我需要对文件和文件夹的权限不同.

I want files to be:   -rw----r-- (0604)
I want folders to be: drwx-----x (0701)

我可以使用umask吗?如果是这样我该如何去做呢?如果没有,最好的方法是什么?先感谢您.

解决方法

有趣的要求.目前(至少在bash中),umask是一个全局设置,您无法根据对象类型进行设置.

想到的一个解决方案是将umask设置为文件变体,然后拦截对mkdir的调用(例如使用路径中较早的用户创建的mkdir脚本)来执行:

umask 0701 ; /path/to/real/mkdir $1 ; umask 0604

这样,假设所有目录创建都使用mkdir完成,您可以确保它们使用不同的umask设置.

请注意,脚本可能应该更加健壮,例如恢复先前的umask而不是强制它到0604,并添加一些更好的错误检查以及可能处理多个参数的能力.

但这就是所有细节,上面的框架应该足以让你开始.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读