Como posso proibir renomear ou mover o diretório, permitindo a criação de arquivos dentro do diretório?

3

Exemplo de estrutura de diretório:

 /userA-directory/
        freespace-for-userA
        /THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR/
             userA-files
             /userA-directories/
             freespace-for-userA

Eu quero dar permissões completas de gravação e criação dentro do diretório protegido para algum usuário específico, mas sem permitir que o usuário renomeie ou mova o diretório contêiner. Não tocar no nome ou localização dirs, mas em total liberdade. E o userA também possui o diretório pai.

Qual seria a melhor maneira de conseguir isso?

O nível atual de solução que consegui alcançar é este (com a ajuda de @nobar):

Como posso proibir renomear os diretórios enquanto permite operações de criação de arquivos dentro e fora do mesmo diretório?

    
por Johan 23.06.2013 / 18:22

1 resposta

1

O que você está tentando fazer, se eu entendi, é bastante comum - isso é apenas criar uma pasta compartilhada.

Talvez você esteja perdendo o fato de que renomear um diretório não é controlado pela mesma permissão que modificar o conteúdo desse diretório - o nome do diretório compartilhado é protegido no nível de seu diretório pai.

No caso mais simples, tudo o que você precisa fazer é:

chmod o-w parent ## prevent others from modifying the parent directory
chmod o+rwx parent/THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR ## others can write

Mas o precedente permitirá que qualquer usuário modifique o diretório compartilhado. Para uma configuração mais sofisticada, você pode manipular o OWNER e / ou GROUP do diretório de destino:

/parent -- OWNER:you, GROUP:you
   /THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR/ -- OWNER:userA, GROUP:userA
      /userA-files-and-directories/ -- OWNER:userA, GROUP:userA

Use chown e / ou chmod para manipular as propriedades de THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR . Você pode ver as propriedades usando ls -l .

Você pode escolher definir OWNER e GROUP para separar valores, mas isso provavelmente é necessário apenas se você quiser permitir vários usuários enquanto controla quem tem acesso.

    
por 23.06.2013 / 21:00