Melhores permissões / propriedade para a raiz do documento do apache

14

Preciso de ajuda para definir as permissões corretas ou a propriedade da raiz do documento do apache. Aqui está o que eu preciso:

  • websites diferentes armazenados em /var/www/html/<site>
  • dois usuários devem atualizar / gerenciar os sites por meio do ssh
  • a propriedade deve ser diferente do usuário do apache (por segurança)

Como posso fazer isso? No momento, todos os arquivos são graváveis em todo o mundo, o que não é bom. O servidor roda o CentOS 5.5

Obrigado

    
por Marco 20.01.2011 / 09:58

2 respostas

20

Crie um novo grupo

groupadd webadmin

Adicione seus usuários ao grupo

usermod -a -G webadmin user1
usermod -a -G webadmin user2

Alterar a propriedade do diretório de sites

chown root:webadmin /var/www/html/

Alterar permissões do diretório de sites

chmod 2775 /var/www/html/ -R

Agora qualquer um pode ler os arquivos (incluindo o usuário do apache), mas somente o root e o webadmin podem modificar seu conteúdo.

    
por 20.01.2011 / 10:13
2

Eu prefiro montar a partição com -o acl. Isso permite que você use o comando setfacl para fornecer permissões refinadas em arquivos e pastas, em vez de apenas especificar permissões de grupo de usuários.

Portanto, coloque o acl na sua linha de partição em / etc / fstab, ou remonte com o mount -o remount, acl / mnt / xy, e então dê a propriedade do seu diretório web para nobody: nobody. Chmod para 770, e use setfacl para dar permissões de escrita apenas nas pastas que precisam, por exemplo. forneça as permissões de gravação do www-data (ou do usuário que o seu servidor da Web executa) para a pasta de upload e dê permissões de gravação para o seu próprio usuário em todo o diretório.

mkdir dir
chown nobody:nobody dir
setfacl -m u:www-data:r-x,d:u:www-data:r-x dir
setfacl -m u:www-data:rwx,d:u:www-data:rwx dir/upload
setfacl -m u:youruser:rwx,d:u:youruser:rwx dir

Agora ninguém pode ler seus arquivos, além de seu servidor da Web e seu próprio usuário. Você pode gravar em todos os arquivos da pasta e o servidor da Web só pode gravar na pasta de upload.

    
por 12.02.2012 / 16:59