Eu tenho um script que às vezes é executado pela web, às vezes pela linha de comando. Quando o script é executado via web, ele é executado via user www-data
. Quando é executado via linha de comando, é executado via user jason
.
Este script grava em um diretório chamado cache
.
- Se eu
chown -R jason cache
, posso executar o script como,jason
mas nãowww-data
. Isso faz sentido. - Se eu
chown -R www-data cache
, posso executar o script como,www-data
mas nãojason
. Isso também faz sentido.
Tentei criar um grupo chamado scripts
, adicionar meus dois usuários e depois chown
entrar cache
em scripts
. Não tenho certeza de como fazer a última parte, a chown
parte ing. Os documentos de comando do Linux que encontrei on-line para isso são surpreendentemente ruins.
Não sei se expliquei isso muito bem, mas espero que esteja claro o que estou tentando fazer. Qualquer conselho seria apreciado.
Responder1
Normalmente com chown você faria:
usuário chown: grupo (arquivos)
Isso não está funcionando? Você pode verificar e certificar-se de que os arquivos pertencem ao grupo e que o segundo grupo de permissões é pelo menos rx?
-rwxr-xr-x 1 user group 44380 2009-02-10 13:10 junk
Responder2
Você pode usarchgrp
ouchown
ao especificar user:group
em vez de apenas user
.
Você provavelmente desejará especificar obit 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 estejam definidos para o grupo, o que pode ser feito com chmod g+wx
.