Primeiro de tudo, você está fazendo errado. Há algo fundamentalmente errado com a maneira como você está tentando fazer isso. Seu software ficará melhor se você tentar entender o modelo normal de segurança e permissões do UNIX e trabalhar com ele em vez de combatê-lo / quebrá-lo.
A única maneira que eu posso pensar em fazer o que você quer, sem gastar mil furos nas permissões do sistema de arquivos, é configurar a pasta em questão com permissões baseadas em grupo e em grupo e montá-la em outro lugar usando uma ligação. -mount para que possa ser acessado por um caminho acessível pelo usuário em vez de dentro / root. Os dados podem ficar lá, mas usuários não-root não devem conseguir colocar a cabeça lá, então ele precisa de um identificador em outro lugar no sistema de arquivos. Você não pode ligar simbolicamente a ele, porque isso apenas o encaminhará de volta através de / root, mas uma configuração de montagem de ligação antecipadamente pelo root deve fornecer um caminho alternativo que possa ser alcançado como um usuário não-root.
Editar: No caso esclarecido nos comentários de ter um aplicativo com um caminho codificado, nenhuma das coisas que eu ou Alkdae sugerir vai realmente funcionar. Como um trabalho temporário , sugiro garantir que tudo que estiver na raiz seja sensível, como /root/.ssh
, como root:root
e marcado como 0600
ou outras permissões restritivas. Em seguida, mova tudo em /root
que não precise estar lá em uma subpasta como /root/root_files
e certifique-se de que é root:root 0600
também. Quando tiver certeza de que não há nada lá para ser visto ou explorado, defina a propriedade do grupo em /root
para algum grupo especial, como o temproot, e configure-o para ser navegável por esse grupo (mas NÃO mundo ou grupo de usuários normal!). Em seguida, adicione seus usuários especiais a esse grupo e defina os arquivos em /root
usados por esse aplicativo java como pertencentes a root:temproot
com permissões de gravação / execução do grupo, conforme apropriado.
Assim que você puder corrigir o aplicativo java ofensivo, salve tudo no root de volta para root:root
.