Alterando as permissões padrão do wget?

5

Estou usando um script PHP para chamar shell_exec e executar wget para baixar alguns arquivos para /var/www/dir/ . (Ferramenta interna, então a segurança não é um problema)

O diretório tem 777 de permissões. Mas quando executo wget , todos os arquivos são 644 por padrão. Idealmente, gostaria de 665 para o acesso de gravação do grupo para o grupo www-data .

Como defino as permissões para wget de arquivos baixados? Não quero executar chmod -R após cada chamada.

    
por Corey 08.03.2014 / 04:40

2 respostas

2

As permissões que são aplicadas aos novos arquivos que são criados são controladas pela umask do usuário em um determinado shell. Você pode ver o que eles estão usando o comando umask .

$ umask
0002

Para obter as permissões desses novos arquivos definidos para 665, você precisará definir o umask para isso:

$ umask 112

Isso habilitará todos os bits em rwxrwxrwx, habilitando os bits rw-rw-r-x. A máscara está especificando quais bits serão "mascarados" para que fiquem desativados.

Incorporando usando shell_exec

Você poderia fazer algo assim para ativar o umask usando shell_exec no PHP:

"umask 112; ...wget..."

O ponto e vírgula acima indica que estes são, na verdade, 2 comandos. O umask será executado primeiro, seguido pelo segundo comando wget ... .

    
por 08.03.2014 / 04:50
1

Você pode definir umask temporariamente antes de emitir wget .

    
por 08.03.2014 / 04:50