Conceder duas permissões de usuários diferentes a um diretório

1

Eu tenho um script que é executado às vezes pela web, às vezes pela linha de comando. Quando o script é executado via web, ele é executado pelo usuário www-data . Quando é executado via linha de comando, é executado via usuário jason .

Este script grava em um diretório chamado cache .

  • Se eu chown -R jason cache , posso executar o script como jason , mas não www-data . Isso faz sentido.
  • Se eu chown -R www-data cache , posso executar o script como www-data , mas não jason . Isso também faz sentido.

Eu tentei criar um grupo chamado scripts , adicionando meus dois usuários e, em seguida, chown ing cache a scripts . Eu não tenho certeza como fazer a última parte, a parte chown ing. Os docs de comando do Linux que encontrei on-line para isso são incrivelmente ruins.

Eu não sei se expliquei tudo isso muito bem, mas espero que esteja claro o que estou tentando fazer. Qualquer conselho seria apreciado.

    
por Jason Swett 21.12.2010 / 17:07

2 respostas

1

Normalmente com chown você faria:

chown user:group (files)

Isso não está funcionando? Você pode verificar e certificar-se de que os arquivos são de propriedade do grupo, e que o segundo grupo de permissões é pelo menos r-x?

-rwxr-xr-x 1 user group 44380 2009-02-10 13:10 junk

    
por 21.12.2010 / 17:12
2

Você pode usar chgrp ou chown ao especificar user:group em vez de apenas user .

Você provavelmente desejará especificar o bit SGID , para que a propriedade do grupo seja mantida na criação. Você pode fazer isso usando chmod g+s directory .

Você também precisará garantir que os bits de gravação e execução sejam definidos para o grupo, o que pode ser feito com chmod g+wx .

    
por 21.12.2010 / 17:11

Tags