web-dev-qa-db-pt.com

Permissões para/var/www/html

Eu tenho um servidor CentOS virtual com GoDaddy e estou com problemas para configurar as permissões para /var/www/html.

Os usuários não têm permissão para efetuar login como root, ou até mesmo se adicionar ao grupo root, então aqui está o canto em que me pintei:

  • Eu mudei seu dono usando o seguinte comando (eu usei o usuário: group que estava em httpd.conf):

    chown -R Apache:apache /var/www/html
    
  • Eu adicionei meu próprio usuário ao grupo Apache:

    usermod -a -G Apache myuser
    
  • Eu mudei as permissões:

    chmod 777 /var/www/html -R
    

Esta é a única maneira de dar à minha conta SFTP a capacidade de criar, alterar, e excluir arquivos em /var/www/html. 777! (A conta do SFTP usa as mesmas credenciais que a conta do ssh, o que significa que, para todos os efeitos, elas são iguais, certo?)

Eu sou obviamente novo no administrador do servidor Linux, mas isso parece ridiculamente inseguro. Existe uma maneira melhor de fazer tudo isso?

Nota O site que estou planejando colocar aqui permitirá uploads de arquivos, trabalhos agendados, etc., então acredito que isso também complicará as permissões necessárias. Isso está correto?

Atualizar Usando 775 não parece funcionar; Eu posso fazer upload/sobrescrever arquivos, mas quando eu tento excluí-los, o FileZilla me dá este erro:

rm /var/www/html/index.php: permissão negada

Eu não tenho idéia do porquê, mas mudar de volta para o 777 "corrige" isso.

34
dicaeopolis

Você só precisa de 775 para /var/www/html contanto que esteja logando como myuser. O 7 octal no meio (que é para o grupo "acl") garante que o grupo tenha permissão para ler/escrever/executar. Contanto que você pertença ao grupo que possui os arquivos, "myuser" deve ser capaz de escrever para eles. Você pode precisar dar permissões de grupo para todos os arquivos na raiz do docuemnt, embora:

chmod -R g+w /var/www/html
27
Jon Lin

Eu acabei de estar em uma posição semelhante no que diz respeito à configuração das permissões do 777 no diretório de hospedagem de sites do Apache. Depois de um pouco de ajustes, parece que alterar a propriedade do grupo da pasta para o grupo "Apache" permitiu o acesso à pasta com base no grupo de usuários.

1) certifique-se de que a propriedade do grupo da pasta esteja definida para o grupo que o Apache usou/gerou para uso. (verifique/etc/groups, o meu foi www-data no Ubuntu)

2) defina as permissões de pasta para 774 para impedir que "todos" tenham acesso a alterações, mas permitindo as permissões de proprietário e grupo necessárias.

3) adicione sua conta de usuário ao grupo que tem permissão na pasta (a minha era www-data).

0
koryo