dando acesso de outro usuário ao usuário atual

0

Vamos supor que eu tenha uma pasta:

/home/admin/website.com/stats

O chown da pasta acima é admin:admin . Eu tenho outra pasta em /home/agent/google com chown agent:agent . Essa pasta de estatísticas com um script que lê o arquivo da pasta do Google. Por isso, quero permitir que essa pasta de estatísticas acesse a pasta do Google.

Como posso fazer isso?

    
por nani 30.11.2015 / 07:52

2 respostas

1

Até onde eu entendi:

Quando você inicia o script a partir da pasta stats, um processo desse script é iniciado. Este processo na maioria dos casos tem o id de usuário e id de grupo do usuário que o iniciou (a menos que suid ou sgid bits no arquivo executável estejam configurados, então ele terá id de usuário e / ou id de grupo do usuário / grupo de arquivos de script) . Você pode digitar "id" para ver com que usuário e grupo você iniciou o script.

É o processo que tenta acessar o arquivo de / home / agent / google. para acessar o arquivo em / home / agent / google, o processo tem que ser capaz 1) para 'executar' o diretório, 2) para ler o arquivo particular deste diretório.

Para o diretório, supondo que o processo seja executado com userId e groupId diferente de agent, você precisa de um diretório para ser legível e executável em todo o mundo (se não, você pode fazer chmod +0005 / home / agent / google).

Para o arquivo, para poder lê-lo, você precisa garantir uma das seguintes opções:

  1. userId (processo) é 0 (raiz) (você pode executar seu script como um superusuário, mas geralmente é uma prática ruim)
  2. userId (processo) == ownerId (arquivo) E o arquivo tem permissões de leitura para o proprietário. 'chmod u + r file'
  3. groupId (processo) == groupID (arquivo) E o arquivo tem permissões de leitura para o grupo. (você pode configurá-lo com 'chmod g + r file'
  4. O arquivo
  5. tem permissões de leitura para o mundo. (você pode configurá-lo com o arquivo chmod o + r)

Isso ajuda?

    
por 30.11.2015 / 13:20
0

Depende, qual usuário está acessando os arquivos. Pasta não irá ler os arquivos de outra pasta, o usuário fará. Exemplo - Ele pode ser o Apache , que acessará seus arquivos se você estiver executando o script a partir do navegador ou do próprio admin . Para simplificar, você pode apenas conceder a permissão read para outras no diretório Google -

chmod u+r /home/agent/google

Se o arquivo na pasta Google precisar ser executado também, então -

chmod u+rx /home/agent/google

Altere também as permissões do seu arquivo também.

    
por 30.11.2015 / 20:23

Tags