os-x 10.8의 /Library에 디렉터리 및 파일 만들기

os-x 10.8의 /Library에 디렉터리 및 파일 만들기

OS-X 10.8의 /Library/Python/2.7/site-packages에 파일을 설치하고 싶습니다. 관리자로 로그인했지만 여전히 '권한 거부됨' 오류가 발생합니다. 터미널에서 디렉터리를 만들려고 할 때도 같은 오류가 발생합니다. 루트 영역에 쓸 수 있는 권한이 없는 것 같습니다. 이 문제를 어떻게 해결합니까?

답변1

MacOSX에 "관리자"로 로그인하면 특정 권한 있는 명령을 실행할 수 있는 권한이 부여되지만 루트(사용자 ID 0 - 슈퍼 사용자)가 되는 것은 아닙니다. Python 디렉터리와 /Library 아래의 대부분의 모든 항목은 루트에서만 소유하고 쓸 수 있습니다. 예:

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

관리자는 관리자가 전달한 sudo(루트 사용자로 명령 실행)를 사용할 수 있습니다.

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

이러한 각 명령에는 sudo를 사용해야 한다는 점에 유의하세요(짧은 시간 내에 이러한 명령을 여러 개 실행하는 경우 매번 비밀번호를 묻지 않습니다).

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

루트로 모든 유지 관리를 수행하는 대신 그룹이나 모든 사람이 디렉터리에 쓸 수 있도록 디렉터리 권한을 변경할 수도 있습니다. 권한 변경으로 인해 일부 프로그램이 중단되거나 시스템 업데이트 시 되돌려질 수 있지만 Python은 괜찮을 수 있습니다. 또는 사용자가 쓸 수 있는 공간의 다른 곳에 사이트 패키지에 대한 심볼릭 링크를 추가하면 업데이트가 시스템 지원 파일과 명확하게 구분됩니다.

"sudo bash"를 사용하여 루트로 쉘 세션을 시작할 수 있습니다. 루트는 거의 모든 작업을 수행할 수 있고 전체 시스템을 제거하기 전에 온전성 검사도 필요하지 않을 수도 있기 때문에 이는 정말 정말 위험한 일입니다(예: "rm -rf . /*"(오래된 유닉스 관리자의 오타). 적어도 한 번은 수행했습니다).

관련 정보