Permitir que o usuário root leia, escreva execute, o proprietário da pasta seja somente para leitura e todos os demais não tenham acesso a uma pasta do ubuntu

3

Eu estou fazendo um "jogo de guerra" similar aos do overthewire.org. Eu tenho o usuário root, Ubuntu, que deve ser capaz de ler, gravar e executar arquivos em uma pasta. Eu tenho um usuário por pasta que deve ter acesso somente leitura aos arquivos nessa pasta, e todos os outros não devem ter acesso à pasta. Qual é o comando chmod para fazer isso? Obrigado!

    
por Bob monkeywarts 21.02.2017 / 21:03

2 respostas

0

Você precisa definir o usuário para ser o proprietário chown -R <username> <foldername> (-R opera recursivamente) e, em seguida, defina as permissões para serem lidas apenas para o usuário chmod -R 400 <foldername> . O Root poderá ler e gravar os arquivos, independentemente do conjunto de permissões. Agora, o problema que você terá é que o root não poderá executar nenhum arquivo, a menos que pelo menos um bit de execução esteja configurado, então você terá que permitir que o usuário proprietário também execute os arquivos com chmod -R 500 <foldername> .

Veja aqui para obter uma explicação muito boa das permissões de arquivo.

    
por 21.02.2017 / 21:44
0

I have the root user, Ubuntu, […]

Não sei se você se refere a o % usuárioroot ou a algum usuário regular ubuntu que você considera um usuário raiz para o propósito de seu jogos. Isso não muda muito na minha resposta embora.

No Ubuntu, cada usuário regular tem seu próprio grupo por padrão. Tal grupo, por padrão, contém apenas o usuário correspondente. Isso torna o seguinte truque possível:

sudo chown ubuntu:bob fileA
sudo chmod 740 fileA

Dessa forma, ubuntu tem todas as permissões e bob (como o único membro de bob group) só pode ler o arquivo.

Você pode fazer isso ao contrário:

# but don't! explanation below
sudo chown bob:ubuntu fileA
sudo chmod 470 fileA

mas, em seguida, bob como o proprietário poderia chmod , conceder-se permissões excessivas ou retirá-las do grupo ubuntu ou gerenciar as permissões de "todos os outros". Qualquer resposta que o aconselhe a fazer bob o proprietário deve considerar essa falha.

Você pode querer definir a propriedade e as permissões do diretório de maneira semelhante, porém um pouco diferente. Você pode querer fazer essas alterações recursivamente. Note que chown -R afeta diretórios e arquivos, e é por isso que você precisa de uma abordagem que possa distingui-los. Veja esta resposta . A abordagem funciona com chmod e chown e outras ferramentas. Ajuste-o às suas necessidades.

To recursively give directories read&execute privileges:

find /path/to/base/dir -type d -exec chmod 755 {} +

To recursively give files read privileges:

find /path/to/base/dir -type f -exec chmod 644 {} +
    
por 17.02.2018 / 13:28