Permitir manipulação de arquivos, mas manipular pastas / subpastas de blocos?

2

Eu tenho um servidor de arquivos do Ubuntu (samba) compartilhando uma estrutura de pastas com uma sala de aula do Windows 7. Todos os usuários usam o mesmo usuário / senha para acessar as pastas e ter permissões de leitura / gravação.

Gostaria de impedir que os usuários movam ou excluam pastas, mas mantenha as permissões de arquivo. Em outras palavras, gostaria de proteger minha estrutura de pastas, mas permitir que os usuários adicionem / excluam / renomeiem / movam arquivos dentro dessa estrutura.

Como posso fazer isso?

    
por buntuser 02.01.2014 / 13:05

2 respostas

1

Se você tiver apenas um nível de diretórios, isso deve ser possível. A chave é que criar / remover arquivos depende da capacidade de gravação do diretório em que esses arquivos estão. Então imagine essa estrutura:

/srv/             root:files   drwxr-x---
/srv/userfiles/   root:files   drwxrwx---

(arquivos é o grupo do usuário que acessa o sistema) Nesse caso, os usuários podem ver o conteúdo de / srv, mas não podem mover / remover userfiles /. Eles podem criar / modificar / remover qualquer coisa em userfiles /. Esse método é quebrado se você precisar de diretórios de árvore com mais de uma camada de profundidade que não possam ser movidos.

    
por 02.01.2014 / 17:10
0

Não há nenhum botão para isso, mas não é difícil criar scripts, configurar um monitor inotifywait e desfazer quaisquer alterações indesejadas.

O comando payload é

inotifywait -mr -e move -e create -e delete -e attrib \
        --format '%e %w%f/' /srv/userfiles

para ver tudo pronto para a estrutura, ele imprime linhas como

CREATE,ISDIR /srv/userfiles/haha/

e você canaliza a saída através de um scanner para o material que precisa ser desfeito.

    
por 11.07.2018 / 15:51