Como criar uma pasta dentro da /opt/?

Bom dia, como criou uma pasta dentro da /opt/? Tentei algumas maneiras:

Files.createDirectories(Paths.get(path));
new File(path).mkdir();

Meu path é o seguinte /opt/repository/teste em ambos os casos sem sucesso.

Agradeço desde já.

Deveria funcionar, então…

  • deu algum erro?
    • Qual? Geralmente a mensagem de erro já diz o que é, ou pelo menos dá uma dica do que pode ser
  • vc executou com um usuário que tem permissão de criar diretórios no /opt?

Obs: na segunda opção, talvez devesse ser mkdirs (note o “s” no final), pois aí ele cria os diretórios intermediários caso não existam (não sei se é o caso, mas enfim).

1 curtida

Bom dia, obrigado por responder, fiz outros testes e percebi que consegui criar as pastas na home, mas na opt não, debugando um pouco me deparei com essa mensagem de erro:

java.nio.file.AccessDeniedException: /teste

Acredito que é por falta de permissão para escrever dento desta pasta, nela já existe o repository.
Você saberia me informar como que eu consigo aplicar o root nesse comando para ter acesso a está pasta?

Depende de como está a pasta, quem é o usuário dono (owner) dela, etc. Mas basicamente, o usuário que está executando o programa precisa ter permissão de escrita em repository (pode ser com chmod o+w repository, por exemplo, só que isso vai dar permissão pra qualquer um, então tem que avaliar com cuidado se é isso mesmo que precisa).

Ou então execute o programa com algum usuário que já tenha permissão nesta pasta (podendo inclusive ser o root, se for o caso).

1 curtida

Como executar meu sistema com privilégios de admin? Só dar um sudo e o comando de execução do framework? Esse teste já é visando como seria no servidor docker se conseguir fazer local, não devo ter problemas de fazer em produção.

A princípio sim (mas cada framework tem seu jeito de fazer, sugiro consultar a documentação). E em vez de executar como root, muitos sugerem criar um usuário específico, por exemplo (se for como root ele vai ter acesso a tudo, inclusive o que não precisa). Mas varia caso a caso.

1 curtida

Entendi, obrigado.