Como dar permissão para acessar subpastas em / root?

2

Eu preciso dar a permissão para read/write nesta pasta, que é uma subpasta do diretório /root para mike.jackson (por algum motivo alguém crete esta pasta dentro de / root):

/root/Products/Metadata/ApplicationServers/Port8080/Marker/

Dado ls -la , esta é a permissão:

total 12
drwxrwxrwx 3 webproject_deployer users 4096 Sep  1  2010 .
drwxrwxrwx 3 webproject_deployer users 4096 Aug  4  2010 ..
drwxrwxrwx 6 webproject_deployer users 4096 Mar 15  2011 xml

Então, adiciono mike.jackson ao grupo users

users:x:100:mike.jackson

Ainda assim, ele não pode acessar a pasta.

Estas são as configurações owner :

webproject_deployer:x:1071:100::/home/webproject_deployer:/bin/bash

O usuário é autenticado por LDAP , assim como mike.jackson . O que devo fazer aqui? Eu não quero adicionar mike.jackson em sudoers porque se eu fizesse, não posso garantir que ele não executaria um comando malicioso como sudo dentro desta pasta.

    
por Valter Silva 03.05.2013 / 14:52

3 respostas

5

O usuário precisa da permissão x para todas as pastas na hierarquia. Normalmente, o diretório /root não permite que nenhum usuário diferente de root o insira, portanto, comece por aqui e trabalhe até o fim.

Sugiro que você mova isso para outro lugar, se possível. Se você não tiver cuidado, os dados que pertencem ao root podem se tornar públicos acidentalmente.

    
por 03.05.2013 / 14:59
2

você precisará verificar a cadeia de permissões,

ideia:
    Pode acessar mike /
    Pode acessar mike / root
    Pode acessar mike / root / Produtos
           ...
    Pode acessar mike / root / Produtos / Metadados / ApplicationServers / Port8080 / Marcador / mike

ler não é necessário, mas executar para percorrer a pasta é mínimo.

ideia: chmod 711 para cada pasta na árvore

    
por 03.05.2013 / 15:01
0

O motivo pelo qual isso não está funcionando para você, como foi dito anteriormente, é porque o usuário precisaria acessar o caminho completo, não apenas aquele diretório específico. A melhor resposta é remover a estrutura de diretório de / root. Você não deve fazer nada no diretório raiz nem permitir que nada seja instalado ou executado a partir dele. A única vez em que você deve efetuar login na raiz é para tarefas de administração do sistema. Se você precisar executar um aplicativo com privilégios elevados, execute-o como um serviço ou crie um usuário específico, como o Apache ou o MySql.

Um grande problema com isso é observar sua estrutura atual que o aplicativo terá privilégios de root, portanto, se um invasor conseguir executar código mal-intencionado por meio de uma exploração, ele poderá causar danos incalculáveis ao sistema host. Se o aplicativo estava associado à sua própria conta, ele só poderia ser uma ameaça para si mesmo, não para o sistema maior.

Dito isto, se este for um aplicativo da Web, o servidor deverá ter 755 permissões e os usuários que se conectarem a ele terão, por extensão, os privilégios do servidor. Se essa pessoa for um usuário local que precisa de direitos para administrador do servidor, adicione sua conta de usuário ao grupo associado a esse aplicativo em particular e defina as permissões de grupos de acordo.

    
por 03.05.2013 / 15:25