Especificar permissões de leitura no lançamento de um processo
4 respostas
P
pedrosacosta
Oi,
eu tenho um programa que lança novos processos usando a classe ProcessBuilder. Ie, durante a execução do programa, ele lança novos processos (são mesmo processos e não threads) que irão executar também. Eu gostaria que, quando lanço um processo, definir que o processo só tem permissões de leitura a uma certa directoria. É possível fazer-se isso em java?
O que quero dizer é que tenho uma directoria com informação importante (chamemos /temp) que todos os processos lançados dentro da aplicação apenas podem ler os ficheiros dentro do /temp e nunca actualizá-los, ou escrever novos ficheiros. Os processos lançados dentro da aplicação são classes construídas por qq utilizador, e eu tenho que proteger esta directoria contra acessos indevidos.
Eu gostava de atribuir apenas permissões de leitura à directoria /temp para todos os processos lançados pela minha aplicação. Eu queria que esta atribuição de permissões fosse feita dentro de classes java e não através da ferramenta java policy.
Isso é possível?
E
entanglement
A permissão de acesso a arquivos costuma ser feita por usuário, não por aplicação. Dependendo do sistema operacional você pode fazer com que uma determinada aplicação rode sob o login de outro usuário (algo semelhante ao “runas” do Windows ou ao “sudo” do Linux). Pesquise a documentação do seu sistema operacional.
P
pedrosacosta
Acho que não estão a responder à minha pergunta. Vou tentar explicar-me melhor.
Imaginemos que temos a minha plataforma que lança processos. Apenas existem 2 tipos de processos: processo admin (AdminClass) e processo user (UserClass). Os processos do tipo admin, têm acesso de escrita à directoria /temp. O outro tipo de processo apenas tem acesso de leitura. Estes processos conseguem ser diferenciados pela classe e ambos os processos são lançados com o objecto ProcessBuilder.
Eu gostava de definir permissões de acesso conforme o tipo de processo que está a ser lançado. Como faço isso?