Como possuir uma pasta e usar por 3 usuários

2

3 usuários, 1 pasta. Usuários: vsftpd (servidor FTP), bobmarley (usuário normal), www-data (usuário Apache)

Como uni-los e fazer para que cada usuário possa modificar qualquer um desses dados do usuário, sem fazer o CHMOD 777?

Ex .: bobmarley criou um arquivo 'settings.inc.php' O www-data tenta acessar o arquivo e é bem-sucedido. O usuário vsftpd acessa o arquivo e pode modificá-lo também.

    
por alryaz 08.09.2011 / 15:37

4 respostas

4

Crie um grupo ( groupadd ) ... chgrp do diretório para esse novo grupo ... e adicione cada usuário a esse grupo. Essa é a maneira mais fácil. Você também pode querer chmod g+s no diretório para garantir que novos arquivos sejam criados com o mesmo grupo que o diretório pai.

tadaa!

    
por 08.09.2011 / 15:42
2
groupadd webapp
usermod -a -G webapp vsftpd (but I think it should be nobody)
usermod -a -G webapp bobmarley
usermod -a -G webapp www-data
chgrp -R webapp /path/to/folder
chmod -R g+w /path/to/folder

Se você tiver dados existentes nessa pasta, poderá definir o SGID para todas as subpastas com:

find /path/to/folder -type d -print0 | xargs -0 chmod g+s /path/to/folder

Lembre-se de definir umask para vsftpd, Apache e bobmarley como 002. Com essa configuração, todos os arquivos criados por qualquer usuário terão permissão 664, pertencente a webapp group, e outros usuários poderão modificar.

    
por 08.09.2011 / 18:36
1

Coloque todos em um grupo comum. chgrp os arquivos para esse grupo. chmod os arquivos / dirs para 664/775.

    
por 08.09.2011 / 15:41
0

Agrupe-os. É por isso que existem grupos no POSIX. Crie um grupo xyz e coloque vsftpd, bobmarley e www-data nele.

Em seguida, atribua o grupo à pasta / arquivos com chgrp .

    
por 08.09.2011 / 15:43