Preciso de ajuda para definir as permissões ou propriedade corretas da raiz do documento apache. Aqui está o que eu preciso:
- sites diferentes armazenados em
/var/www/html/<site>
- dois usuários devem atualizar / gerenciar os sites através do ssh
- propriedade deve ser diferente do usuário apache (por segurança)
Como posso fazer isso? No momento, todos os arquivos são graváveis no mundo, o que não é bom. O servidor executa o CentOS 5.5
obrigado
Respostas:
Crie um novo grupo
Adicione seus usuários ao grupo
Alterar a propriedade do diretório de sites
Alterar permissões do diretório de sites
Agora qualquer um pode ler os arquivos (incluindo o usuário apache), mas apenas o root e o webadmin podem modificar seu conteúdo.
fonte
umask
comando. Mais informações aqui osr507doc.sco.com/en/OSUserG/_default_perms_new_file.htmlEu prefiro montar a partição com -o acl. Isso permite que você use o comando setfacl para conceder permissões refinadas a arquivos e pastas, em vez de especificar apenas permissões de outros grupos de usuários.
Então coloque acl na sua linha de partição em / etc / fstab ou remonte com mount -o remount, acl / mnt / xy, e então dê a propriedade do seu diretório da web a ninguém: ninguém. Chmod para 770, e use setfacl para conceder permissões de gravação apenas nas pastas que precisam, por exemplo. conceda a www-data (ou ao usuário em que o servidor da web executa) permissões de gravação para a pasta de upload e conceda permissões de gravação ao seu próprio usuário em todo o diretório.
Agora ninguém pode ler seus arquivos, além de seu servidor da web e de seu próprio usuário. Você pode gravar em todos os arquivos da pasta, e o servidor da Web pode gravar apenas na pasta de upload.
fonte