如何umask以获得默认文件权限755?

如何umask以获得默认文件权限755?

我似乎无法使用它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),该函数将执行两件事。

  1. 查看脚本
  2. 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 
    

相关内容