Como tornar o usuário o proprietário de novos arquivos

3

Eu tenho o VPS com o CentOS 5.4.

Este é o servidor de produção.

O problema é quando meu webiste instala alguns scripts do site, então o nome do proprietário não está escrito no arquivo e, como usuário, posso até mesmo alterar as permissões do arquivo.

Existe alguma maneira que cada script esteja escrevendo, o dono do diretório home deve ser o dono de todos os arquivos

    
por chmeee 18.05.2010 / 08:29

3 respostas

2

Nota: esta solução requer a alteração de permissões para criação de arquivos para usuários e diretórios específicos.

Definir o bit de permissão setgid em um diretório que será gravado manterá todos os novos arquivos gravados nele diretório atribuído ao grupo desse diretório (em vez de ao grupo do usuário que os criou).

Se o usuário do servidor HTTP criar arquivos com permissões de gravação de grupo por padrão, todos os arquivos gravados em diretórios no grupo de usuários apropriado e com o conjunto de bits setgit serão totalmente acessíveis pelos usuários desse grupo.

Definindo o bit setgid em directoryname definindo a propriedade do grupo:

chmod g+s directoryname
chown :groupname directoryname

Se a permissão de gravação em grupo não estiver definida por padrão, você precisará defina o umask do usuário do servidor HTTP .

    
por 18.05.2010 / 09:00
1

O problema é que o interpretador de scripts é executado dentro do mesmo contexto de usuário que seu servidor da web (Apache httpd?) faz. Todos os arquivos criados pelos scripts são de propriedade do usuário no qual o seu servidor está sendo executado.

Para o Apache httpd, existe a possibilidade de usar SuExec ou SuPHP para executar scripts CGI dentro de outro contexto de usuário (geralmente o proprietário do script).

    
por 18.05.2010 / 08:43
0

se você executar ls -ln nameoffile , poderá obter o UID numérico e o GID do processo / usuário que está gravando os arquivos.

você pode usar isso para fazer algo como chown UID.GID /path/to/where/files/are/ alterar a propriedade do diretório no qual os arquivos estão sendo gravados para o usuário que precisa acessá-los. então você deve fazer chmod 755 /path/to/where/files/are/ para alterar as permissões no diretório para que / apenas / o USUÁRIO possa criar novos arquivos nesse diretório.

Eu preciso de mais informações sobre o que está acontecendo para ajudar muito mais do que isso.

    
por 18.05.2010 / 08:52