Por que essas permissões não fazem o que eu desejo?

1

Estou tentando transformar minha pasta em "apache" e, em seguida, chmod nessa pasta para que apenas o proprietário e o grupo possam acessá-la. Estou tentando fazer isso para impedir que os visitantes executem arquivos enviados por usuários diretamente. Aqui estão os comandos que estou usando:

chown -R apache uploads
chmod -R 770 uploads

Fonte: link

Em vez disso, parece que, embora esteja impedindo que os visitantes vejam os arquivos, ele não está permitindo que o apache os atenda. Você tem alguma ideia?

    
por Chris Bier 13.09.2009 / 15:49

2 respostas

1

como mais indicado acima:

  • Seus comandos parecem bem, então eu suspeito que há algo errado com as suposições que cercam o que você faz
  • por favor, certifique-se de que o usuário e grupo do apache são chamados de "apache" e não "apache2", "httpd" ou "www-data" ou algum nome assim
  • chmod -R 770 define o bit de execução nos diretórios e arquivos nesses diretórios. Você só deve definir o bit "x" nos diretórios para permitir a passagem direcional.

Se você quiser excluir todos os usuários do grupo "usuários" de acessar o "upload" -dir, você pode atribuir esse diretório explicitamente para agrupar "usuários" e, em seguida, definir permissões de grupo restritivas:

# group permissions override permissions for "others"
chown -R www-data:users /mydir
# group has no permissions, "others" can read and traverse
chmod 0705 /mydir
# change permissions on subdirs only
find /mydir -type d -exec chmod 0705 {} \;
# files should by default not be executeable anyway
find /mydir -type f -exec chmod a-x,o-w {} \;

Se você quiser encontrar o usuário do apache, faça (apenas no linux)

ps axu | grep apache | grep -v root 

e olhe para a coluna mais à esquerda. Talvez substitua o apache pelo httpd no comando grep. Felicidades,

Nik.

    
por 09.01.2010 / 11:36
0

O bit do mundo precisa ser lido apenas. Experimente chmod -R 774 uploads .

Deveria ter lido o documento também primeiro. :) Parece que o 770 deve funcionar. Certifique-se de que o usuário e o grupo do daemon apache possuam uploads. A parte do grupo é importante para servir os arquivos através do navegador da Web.

    
por 13.09.2009 / 16:04