Existem 2 problemas aqui, chmod e chown. O Netbeans está sendo executado como você e os arquivos que pertencem a você. Se os arquivos forem de propriedade de outra pessoa, eles poderão excluir o arquivo. Veja como alterar a propriedade:
sudo chown your_account:your_account -R my_project
Após a propriedade ter sido corrigida, este é um chmod muito conservador:
chmod 760 -R my_project
O primeiro número é o proprietário, você é o proprietário do arquivo e 7 é leitura escrita, execute. O número do meio é aquele que governará os direitos de acesso ao grupo, depois do chown que o grupo provavelmente contém apenas você, mas você pode adicionar outra conta ao grupo.
Se o arquivo tiver 666'ed, que é de leitura escrita para todos e digamos que está escrito em uma linguagem de script como python, você ainda pode executá-lo assim: python my_script.py
. No entanto, um chmod 666 NÃO permite que você o execute assim: ./my_script.py
. Parece dividir o cabelo, mas no primeiro comando python é o executável e ele está lendo o my_script (então ele precisa de acesso de leitura), no segundo caso o my_script.py está sendo executado.
A principal ameaça que chmod e chown defendem é proteger seus arquivos de outras contas no sistema. Você provavelmente é o único usuário neste sistema. No entanto, quando um hacker interrompe por meio de um processo daemon (como bind ou postfix), eles terão os privilégios de usuário dessa conta. Você não quer que o hacker seja capaz de escrever código executável em seu projeto netbeans que poderia ser executado por você. Contanto que o último bloco não tenha um bit de gravação, você não deve se preocupar com esse ataque. É por isso que é comum ver chmod 775
, embora chmod 770
seja mais seguro. Outros daemons como o Apache ainda podem ler e executar seu projeto NetBeans com um chmod 775 e isso pode ser importante se for um projeto PHP sendo executado pelo Apache.