gpt4 book ai didi

bash - 为文件和文件夹设置不同的掩码

转载 作者:行者123 更新时间:2023-11-29 09:02:08 25 4
gpt4 key购买 nike

我正在编写一个 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,并添加一些更好的错误检查和可能的处理多个参数的能力。

但这就是所有细节,上面的框架应该足以让您入门。

关于bash - 为文件和文件夹设置不同的掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com