Arquivo de teste para permissões específicas

3

Eu tenho um script onde gostaria de testar um arquivo para permissões específicas, especificamente 0644, se não for isso, então chmod it.

Eu sei que poderia apenas chmod-lo e deixá-lo cair no caso de já ser assim, mas gostaria de imprimir uma mensagem do seu valor anterior.

    
por atxdba 30.12.2011 / 23:31

1 resposta

4
MYFILE=./myfile

Para facilitar a leitura, estou usando u=rw,go=r em vez de octal 0644 . Eu estou supondo que você deseja definir as permissões ausentes, mas se houver permissões extras presentes, você quer que elas sejam como estão. Passo a passo:

PREV_PERM="'find \"\$MYFILE\" \! -perm -u=rw,go=r -ls'"
echo "$PREV_PERM"
chmod u+rw,go+r "$MYFILE"

ou combine-o em uma linha simples:

find "$MYFILE" '!' -perm -u=rw,go=r -ls -exec chmod u+rw,go+r "$MYFILE" ';'
    
por 30.12.2011 / 23:48