Como vincular a montagem de uma pasta nos diretórios iniciais de vários usuários com permissões totais

0

Eu tenho um servidor da Web servindo arquivos de /var/www/vhosts/mysite . O que eu quero fazer é montar essa pasta vhosts em /home/myuser/vhosts para que um usuário possa efetuar login, editar arquivos e efetuar logout. O problema é que a montagem não ignora as permissões nessa pasta. Alguns arquivos podem ser criados por www-data ou outro usuário. Se eles forem criados por outro usuário, o www-data também terá problemas para lê-los / modificá-los.

O que eu tentei até agora é criar uma montagem de ligação usando o fstab. A pasta é montada com êxito no diretório pessoal do usuário e, usando acl, eu posso gravar nela atribuindo um grupo à pasta com rwx e adicionando www-data e o usuário ao grupo. Eu estou querendo saber se há uma maneira de vincular a montagem da pasta, mas as permissões não serão afetadas para que o www-data possa sempre ler / gravar / executar nele sem problemas, enquanto permite permissões completas ao usuário também.

    
por jrthib 17.08.2014 / 04:41

1 resposta

0

Você deseja adicionar esses usuários ao grupo de dados www primeiro. Então o método pretendido é usar chmod g+s /home/user/vhost . Isso definirá o SGID nessa pasta, o que significa que o grupo será usado para novos arquivos. Infelizmente, isso não ajuda nos subdiretórios. Para mantê-los atualizados, é necessário executá-los regularmente após as modificações na árvore de diretórios: find /home/user/vhost -type d -exec chmod g+s {} \; . Isso irá procurar por todos os subdiretórios e habilitar o SGID . A parte mais irritante é que isso precisa ser feito para qualquer dirs pai antes de adicionar filhos, o que significa que às vezes você precisa executar isso várias vezes ao fazer mudanças e se você esquecer de fazer isso, então você precisa apenas fazer o comando chown mesmo assim: find /home/user/vhost -type d -exec chown user:www-data {} \; .

Isso é o que eu digo para fazer, mas acho que todo esse plano é chato para mim. Na realidade, o que faço é trabalhar em um servidor de desenvolvimento com permissões completamente não relacionadas. Depois de fazer as alterações, tenho um script que sincroniza com o servidor prod e define todas as propriedades e permissões todas as vezes para garantir que tudo esteja ALTERIENTEMENTE correto. Esse método economiza muito tempo, porque nunca preciso me preocupar com o fato de as permissões serem executadas. Acabei de executar o script e tudo está magicamente funcionando novamente.

    
por 17.08.2014 / 05:11