Acesso de vários usuários ao diretório

1

Estou executando o Arch Linux.

Os arquivos do meu site estão no diretório / home / user / www /. Outros usuários também têm os arquivos de seus sites nos diretórios / home / foo / www /.

Agora, se eu quiser alterar algo em suas webistes, devo ter acesso ao sudo.

Eu quero acessar seus diretórios sem sudo.

Como posso definir o diretório para mim e para o usuário, e usá-lo para o 755 para outras pessoas (apache)?

    
por vonflynee 04.01.2015 / 21:24

1 resposta

2

Você pode usar Listas de controle de acesso (ACLs) para isso, dando permissões adicionais a um usuário específico para um arquivo específico ou diretório.

Primeiro, certifique-se de que o sistema de arquivos em questão tenha a opção acl ativada: normalmente, ela será por padrão, mas você pode adicioná-la às opções em fstab (e / ou remontar).

Com as ACLs ativadas, você controla a ACL em um determinado arquivo ou diretório usando o comando setfacl :

setfacl -m "user:vonflynee:rwx" /home/foo/www

Isso define uma permissão por usuário para o usuário vonflynee de rwx (formatado como chmod ) para esse diretório específico, além das permissões que o proprietário do arquivo já possui. Você pode ter várias especificações de ACL para um arquivo específico para diferentes usuários e grupos com os quais precisa lidar e eles podem ter qualquer combinação de permissões diferentes.

Tal como acontece com outras permissões, você precisa ser capaz de percorrer toda a árvore até o arquivo que deseja acessar, assim você pode precisar definir outros na árvore, e você precisará acessar os arquivos também. setfacl suporta um modo --recursive para definir permissões em uma árvore inteira.

O Wiki do Arch tem um artigo moderadamente abrangente sobre o assunto, com partes específicas do processo em destaque .

Outra opção, e a mais convencional, é simplesmente criar um novo grupo " vonflyneeandfoo ", adicionar usuários a ele, chown -R o diretório a esse grupo, chmod g+s o diretório para que novos arquivos herdem seu grupo e, em seguida, chmod -R g+rX dir para dar permissão de gravação ao grupo de arquivos.

Se houver apenas um único caso, você precisará lidar com isso, provavelmente, será a opção mais simples. Mesmo que seja, se você tiver muitos usuários locais e estiver contando com apache sendo um membro do grupo, então, fazer as permissões de leitura funcionarem é mais difícil e as ACLs serão mais convenientes para você.

    
por 04.01.2015 / 22:08