我似乎无法使用它umask
来确保我的默认文件权限是 755。我需要它,因为每次我CentOS
从版本控制中签出脚本文件时,它都没有 x 权限,我必须手动chmod +x script.sh
。如何umask以获得默认文件权限755?为什么文件的 umask 计算基于 666 作为文件的最大权限,而不是 777?
答案1
文件获得的权限只能通过 umask 来减少,所以不,您不能使用它来添加权限。另外,与您声称的不同,减少屏蔽位之前的权限不是 0666 或 0777,而是问题中的程序设置的任何内容。通常的习惯是创建模式为 0666 的普通文件和模式为 0777 的目录,并让 umask 处理对其他用户的访问限制,但是创建特别私有文件的程序将使用 0600 作为启动权限。
如果您需要应用程序创建具有某些权限的文件,则需要在应用程序级别修复它。对于 Subversion,请参阅svn:executable
财产。
答案2
一个选项是在 .bashrc 中创建一个函数(如果您使用的是 bash),该函数将执行两件事。
- 查看脚本
chmod +x 脚本.sh
myfunction () { #do things with parameters like $1 such as checkout_command $1 chmod +x $1 } #calls `myfunction` to checkout the script and chmod on the fly. myFunction my_script.sh