Como definir as permissões de um diretório para acesso de leitura / execução de grupo

4

Estou executando o Arch e acabei de instalar o XAMPP. Eu mudei minha raiz do documento para / srv, que é uma partição EXT4 separada. Eu configurei o servidor HTTP Apache para usar um grupo chamado "http". Eu adicionei meu usuário ao grupo http. Eu quero que cada arquivo criado na pasta / srv seja atribuído ao grupo HTTP e que todos os arquivos tenham acesso de leitura e execução em grupo.

Eu executei os seguintes comandos:

sudo chgrp -R http /srv/
sudo chmod -R g+rwxs /srv/

E defina o umask na parte inferior do meu ~ / .bashrc para:

umask 002

No entanto, noto duas coisas:

  1. Quando eu extraio um arquivo zip que pertence ao grupo http, o grupo da pasta imediata criado pelo aplicativo de arquivamento é de propriedade de http, mas todos os subdiretórios e arquivos ainda são de propriedade do grupo "usuário" padrão .
  2. Criar um novo arquivo com nano me dá uma permissão diferente (-rw-rw ----) do que criar um com Gedit (-rw-r - r -).

O que umask devo usar para forçar user - all , group - read/execute , others - none ?

Como eu forço todos os arquivos a pertencerem a http, independentemente de qual programa os cria lá?

    
por Connel 20.02.2014 / 20:08

1 resposta

2

Esse não é um problema tão fácil quanto se pode imaginar. O ponto é que

  1. diretórios 'bit pegajoso

  2. umask

  3. até ACLs (e richacls)

são apenas padrões. Observar impede que um processo altere esses valores após a criação de um arquivo ou diretório. Um programa de arquivamento pode até estar interessado em restaurar os valores originais.

Não consigo reproduzir sua experiência em zip . Eu tenho o Zip 3.0 (openSUSE 13.1). Aqui, o grupo persistente da pasta pai é herdado com sucesso.

Usar ACLs para ACLs padrão (adicionar o grupo explicitamente, ou seja, não como grupo de arquivos (ACL_GROUP_OBJ), mas como entrada pura da ACL) não impede que um aplicativo faça modificações, mas na minha experiência isso acontece com menos frequência.

A única forma segura é um daemon privilegiado que regularmente verifica novos arquivos / diretórios ou se mantém informado pelo FAM. Este daemon pode então alterar a propriedade do arquivo para que processos normais possam apenas modificar (e talvez excluir) o arquivo, mas não possam mais alterar seus direitos de acesso. Talvez isso possa ser feito com o FUSE também.

    
por 20.02.2014 / 20:28