Definindo umask para o usuário www-data (executado via sudo) no Ubuntu 10.04 LTS

3

Eu rodei o apache como usuário www-data no Ubuntu 10_04 LTS. Eu tenho a configuração / etc / apache2 / envvar com 'umask 002' para que quaisquer novos arquivos / pastas criados pelo daemon tenham permissões de gravação de grupo ativadas. Às vezes, eu preciso criar arquivos / dirs a partir da linha de comando para fazer comandos 'sudo -u www-data', mas não consigo descobrir como obtê-los para habilitar permissões de gravação de grupo na criação.

Em / etc / passwd, o diretório pessoal do Ubuntu é listado como '/ var / www'. Então, de acordo com a documentação do Ubuntu ( link ), eu tentei adicionar "umask 002" aos seguintes locais:

/var/www/.profile

/var/www/.bashrc

/var/www/.bash_profile

/var/www/bash_login

E os arquivos do ambiente global:

/etc/environment

/etc/bash.bashrc

Mesmo depois de adicionar "umask 002" a todos esses arquivos e reinicializar, a execução de "sudo -u www-data touch testfile" resulta em permissões "-rw-r - r--". (Eu tentei isso com o shell www-data configurado para / bin / sh e / bin / bash).

Existe alguma maneira de configurar para que os comandos 'sudo -u www-data' criem itens com permissões de gravação de grupo ativadas?

    
por Alan W. Smith 01.06.2011 / 01:48

1 resposta

2

Já tentou configurá-lo via /etc/sudoers ? Como por sudoers(5) :

   umask_override  If set, sudo will set the umask as specified by sudoers
                   without modification.  This makes it possible to
                   specify a more permissive umask in sudoers than the
                   user's own umask and matches historical behavior.  If
                   umask_override is not set, sudo will set the umask to
                   be the union of the user's umask and what is specified
                   in sudoers.  This flag is off by default.
    
por 01.06.2011 / 01:57