Como umask para obter permissão de arquivo padrão de 755?

0

Parece que não consigo usar umask para garantir que minha permissão de arquivo padrão seja 755. Preciso disso porque toda vez que faço check-out de um arquivo de script em CentOS do meu controle de versão, ele não t tem a permissão x e eu tenho que manualmente chmod +x script.sh . Como umask para obter permissão de arquivo padrão de 755? Por que o cálculo de umask para arquivos baseados em 666 é a permissão máxima para arquivos e não 777?

    
por amphibient 27.03.2017 / 17:49

2 respostas

1

As permissões que um arquivo recebe só podem ser reduzidas pelo umask, portanto, não, você não pode usá-lo para adicionar permissões. Além disso, ao contrário do que você afirma, as permissões antes de reduzir os bits mascarados não são 0666 ou 0777, mas qualquer que seja o programa em questão. O costume usual é criar arquivos normais com o modo 0666 e diretórios com 0777 e deixar o umask manipular o acesso limitado para outros usuários, mas um programa que esteja criando arquivos especialmente privados usaria 0600 como as permissões iniciais.

Se você precisar de um aplicativo para criar arquivos com determinadas permissões, precisará corrigi-lo no nível do aplicativo. Para o Subversion, consulte o svn:executable property .

    
por 27.03.2017 / 23:01
0

Uma opção é criar uma função em seu .bashrc (se você estiver usando o bash) que fará duas coisas.

  1. confira o script
  2. chmod + x script.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 
    
por 15.07.2017 / 16:09