Criei um script Python que requer sudo
permissões para ser executado (fazendo solicitações ICMP). Este script cria um pequeno diretório e alguns .csv
arquivos, bem como um log.txt
arquivo. A princípio, após executar o programa, consegui excluir os artefatos após executar o diretório de teste e a criação de arquivos.
Agora, de repente, o OS X Finder está me pedindo permissão para excluir o diretório e o arquivo de log. Realizei uma verificação chmod 775 *
no diretório em que tenho meu módulo e excluí a pasta e o arquivo conforme necessário. No entanto, depois de executar o script novamente, é necessário preencher as permissões novamente. Outra chmod
, posso deletar os arquivos e pastas. No entanto, toda vez que executo o programa, encontro o mesmo problema.
Alguma sugestão sobre como posso corrigir isso permanentemente?
Responder1
Com base nos comentários acima entre mim e o operador, a causa raiz do problema de permissão é que as pastas/arquivos criados no script Python pertencem ao root, não à conta de usuário do operador. Qualquer coisa criada durante a execução sudo
pertencerá ao root.
As soluções alternativas para isso são incluir um comando chmod
ou chown
no script, dando à conta do usuário da operação permissão para excluir o arquivo/pasta. Eu recomendo chown
, pois é possível que o Finder (no Mavericks) esteja detectando que root é o proprietário e avisando o usuário. Isso acontece comigo mesmo quando minha conta tem permissões totais (por meio das permissões do grupo). O Finder pode estar colocando um nível extra de proteção em arquivos de propriedade do root. Usar chown
no script deve definir tudo certo para Terminal e Finder!