Criando diretórios e arquivos em / Library no os-x 10.8

1

Eu quero instalar arquivos em /Library/Python/2.7/site-packages no OS-X 10.8. Estou conectado como administrador, mas ainda recebo um erro "Permissão negada". O mesmo erro quando tento criar um diretório do Terminal. Eu aparentemente não tenho permissão para escrever na área de raiz. Como faço para corrigir isso?

    
por Ed_O 20.09.2012 / 01:51

1 resposta

0

Estar logado no MacOSX como "administrador" concede a você permissão para executar certos comandos privilegiados, mas não faz com que você faça root (ID do usuário 0 - super usuário). O diretório Python e quase tudo em / Library é de propriedade e gravável apenas por root: por exemplo,

mymac:Python kentalt$ ls -l
total 0
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.3
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.5
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.6
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.7
mymac:Python kentalt$ touch foo
touch: foo: Permission denied

Administrador pode usar sudo (executar um comando como usuário root) com seu admin passado:

mymac:Python kentalt$ sudo touch foo
Password:
mymac: Python kentalt$ ls -l
total 0
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.3
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.5
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.6
drwxr-xr-x  3 root  wheel  102 Jun 20  2012 2.7
-rw-r--r--  1 root  wheel    0 Jan 10 08:57 foo

Note que você tem que usar sudo com cada um desses comandos (se você executar vários desses comandos em um curto período de tempo, ele não pedirá sua senha toda vez):

mymac:Python kentalt$ rm foo
override rw-r--r--  root/wheel for foo? y
rm: foo: Permission denied
mymac:Python kentalt$ sudo rm foo
mymac:Python kentalt$ ls
2.3 2.5 2.6 2.7

Você também pode alterar as permissões do diretório para permitir que o grupo ou todos escrevam nele, em vez de fazer toda manutenção como root - tenha cuidado para que as alterações de permissão possam quebrar alguns programas ou sejam revertidas nas atualizações do sistema, embora o Python esteja bem. Ou adicione um link simbólico para pacotes de sites em outro lugar no espaço gravável pelo usuário, para que você mantenha suas atualizações claramente separadas dos arquivos suportados pelo sistema.

Você pode usar "sudo bash" para iniciar uma sessão de shell como root. Isto é realmente perigoso, porque o root pode fazer praticamente qualquer coisa, e pode até mesmo não requerer uma verificação de sanidade antes de remover todo o seu sistema, por exemplo, "rm -rf. / *" (Um erro de digitação todo administrador unix antigo fez pelo menos uma vez).

    
por 10.01.2013 / 18:21