chmod u + s em / var / www

2

Eu tenho um problema em conceder os direitos certos para o usuário certo ...

Eu quero correr pootle com apache, então eu baixei pootle. Então eu copiei para / var / www, instalei e dei os direitos de usuário de www-data para a pasta inteira. Tanto quanto bom ... agora eu quero copiar os arquivos traduzidos de e para o diretório de tradução (por exemplo, / var / www / pootle / po / project).
Então eu criei um grupo (www) me adicionou ao grupo e executou

  

sudo chown -R: www / var / www / pootle

ok, agora eu tenho direitos de gravar arquivos no diretório, no entanto, quando o apache cria um arquivo, o grupo é www-data ...

  

sudo chmod -Rg + s / var / www / pootle

ok, agora o grupo é sempre "www", como eu queria que fosse ... agora aqui está o problema:
Quando eu escrevo arquivos para / var / www / pootle eles estão lá, no entanto, com meu usuário como proprietário, e não, como eu esperava, como www-data, embora tenha executado o comando:

  

sudo chmod -R u + s / var / www / pootle

existe uma maneira que eu possa dizer que o usuário que criou o arquivo, mesmo que seja eu, deve ser www-data?

thx antecipadamente:)

    
por greenit 20.09.2012 / 16:38

2 respostas

2

Se você executar chown sem dois pontos anteriores, você alterará o proprietário. (Com os dois pontos anteriores, você muda o grupo, como você demonstrou acima, e você também pode executar chown -R new-owner: newgroup.) Então, se você acabou de executar

sudo chown -R www-data /var/www/pootle

você mudará o proprietário para www-data.

  

".... quando o apache cria um arquivo, seu grupo é www-data ..."

Você pode esclarecer o que você quer dizer com isso? Apache serve arquivos, não os cria. O PHP os cria - mas eles são criados dinamicamente e servidos diretamente para os clientes da web (navegadores), eles não são criados e salvos pelo Apache.

Parece que seu problema está na propriedade de arquivos. Se assim for, uma abordagem mais conveniente pode ser adicionar pootle ao grupo www - já que o Apache (geralmente) precisa de arquivos htm (l) para serem de propriedade de www para lê-los. Arquivos criados por Pootle terão o mesmo ID de grupo e você não precisará executar chown - o Apache terá acesso de leitura aos arquivos do Pootle. Veja o link que diz:

 You need to extract Pootle in a directory accessible to the apache user.

Make sure Apache has read access to all of Pootle's files and write access to the dbs and po subdirectories.

Espero que isso ajude.

    
por Scooby-2 20.09.2012 / 17:34
1

Não seria melhor ir:

chown -R greenit:www-data /var/www/
chmod -R 770 /var/www/pootle

Eu não recomendaria o próximo bit (você deve, idealmente, criar manualmente os arquivos chmod ou chown criados por você mesmo), mas pode adicionar-se ao grupo de dados www:

usermod -a -G www-data greenit

No entanto, o ideal seria encontrar a configuração em Pootle que especifica em qual usuário executar e alterar isso para www-data.

    
por shrikeh 20.09.2012 / 17:25