É uma boa idéia chmodar meu diretório de pacotes de sites do Python para o 777?

1

Eu uso Python no Linux e OS X, e estou tentando pensar em uma boa razão não para chmod meu diretório de pacotes de sites em Python para o 777. Parece que é melhor fazer isso do que sudoing toda vez que eu quero fazer a menor modificação. Ou eu fiquei louco? Note que isso é principalmente para minhas máquinas de desenvolvimento e não para qualquer tipo de servidor de produção.

Aviso legal : Sim, conheço as ressalvas. É ruim para pip install ou easy_install as coisas que são fornecidas por um gerenciador de pacotes. E é melhor usar um virtualenv do que modificar a instalação global do Python na maioria dos casos.

    
por Jason Baker 29.01.2010 / 14:00

2 respostas

2

Se essa é a sua máquina, então você pode fazer o que mais lhe convier. Minha principal razão para deixar permissões como elas são é que isso significa que estou menos propenso a destruir algo por acidente.

É realmente de acordo com o nível de responsabilidade que você deseja assumir, se é a sua própria caixa e você está feliz por não executar malware e não estragar nada acidentalmente. Não há motivo decente para isso.

A única outra preocupação que eu tenho é que se eu estivesse desenvolvendo um pacote e quisesse testá-lo e sua implantação em condições reais, eu não conseguiria, já que tudo é gravável.

Eu conheço alguns especialistas em segurança que discordam, mas, no final, a segurança deve ser equilibrada com a usabilidade. Em uma conversa que eu estava em um cara de segurança estava insistindo que o sistema operacional deveria ser alterado para simplesmente não permitir que os usuários fizessem certas coisas. Felizmente, naquele momento, alguém falou "Sinto muito, Dave, não posso deixar você fazer isso" ...

    
por 29.01.2010 / 14:16
1

Não é uma boa ideia. 777 significa que qualquer usuário pode escrever módulos, incluindo, digamos, um usuário de servidor da web sendo controlado por um script de webapp comprometido. Se esse usuário puder gravar um py ou pyc em pacotes de sites que depois são importados por outro usuário, como root, seu comprometimento de baixo privilégio é escalado para um comprometimento sério no nível da máquina. Se você está tão certo de que sua máquina está segura de todo ataque que isso é aceitável, tudo bem ... mas se esse é o caso, então você pode também estar executando tudo como root realmente!

Melhor: se você deseja que os módulos aos quais apenas seu usuário tem acesso e possa atualizar sem ter que usar sudo , adicione um caminho de módulo específico do usuário. Você pode fazer isso com PYTHONPATH ou modificando sys.path , mas do Python 2.6 que não é necessário, já que você obtém um por padrão, ~/.local/lib/python2.6/site-packages . Veja PEP 370 para detalhes.

    
por 29.01.2010 / 15:11