Mac에서 루트 사용자를 활성화하여 로그인하여 Finder 등을 실행할 수 있습니다. 게으른 사람이기 때문에 모든 것을 홈 디렉토리에서로 옮겼습니다 /var/root
. 나는 이것을 확신하지 못하므로 모든 것을 뒤로 옮길 수 있습니다. 이것을 일반 사용자처럼 사용하는 것이 기술적으로 'OK'입니까? (내 컴퓨터에 액세스 할 수있는 유일한 사람입니다.)
Mac에서 루트 사용자를 활성화하여 로그인하여 Finder 등을 실행할 수 있습니다. 게으른 사람이기 때문에 모든 것을 홈 디렉토리에서로 옮겼습니다 /var/root
. 나는 이것을 확신하지 못하므로 모든 것을 뒤로 옮길 수 있습니다. 이것을 일반 사용자처럼 사용하는 것이 기술적으로 'OK'입니까? (내 컴퓨터에 액세스 할 수있는 유일한 사람입니다.)
답변:
항상 루트로 로그인 한 컴퓨터를 사용하는 것은 항상 모든 열쇠, 여권, 현금으로 5,000 달러, 모든 암호가 적힌 종이와 플로피의 유일한 사진 인 사랑스러운 토끼를 가지고 다니는 것과 같습니다. 죽음은 당신의 일곱 살짜리 마음을 아 bro습니다. 아, 그리고 전기 톱.
다시 말하면, 물건을 얻거나 은행 관리자와 이야기하기 위해 집으로 돌아갈 필요없이 언제 어디서나 원하는 것을 할 수 있기 때문에 때때로 매우 편리합니다. 그러나 물건을 잃어 버릴 위험이 있습니다 (체인 톱이 도움이 될 것이라고 생각하지 마십시오 : 지갑이 사라진 것을 알기 전에 거리가 멀어 질 것입니다). 취한 상태에서 라스베가스 행 비행기 표), 위험한 지름길 (사자 울타리를 통해 전기 톱을 타는 것이 팬더에게 가장 빠른 방법 임)과 과잉 반응 (개가 너무 짖어 서 이웃의 차를 전기 톱으로 쏘는). 그리고 당신이 그것에 대해 생각할 때 주로 사무실에 가서 식료품 쇼핑을하거나 친구들과 어울립니다. 당신은 한 달에 한 번, 필요한 편의를 위해 항상 당신과 함께 모든 것을 필요로하지 마십시오. 일주일에 한 번?
따라서, 루트 계정을 항상 사용하는 것은 좋지 않습니다. 그것은 약간의 편의를 제공하지만 많은 위험에 처하게합니다. 어리석은 실수로 치명적인 결과가 발생할 위험이 있습니다 ( "이봐, 왜 rm -rf *
이렇게 오래 걸립니까? **** I 'm in /
!"). 모든 파일이 동일하고 디렉토리 트리의 어느 곳에서나 원하는 것을 망칠 수 있다는 생각에 자신을 순응시킬 위험이 있습니다. 계정 해킹이 즉시 전체 시스템에 해킹 될 위험이 있으므로 이제 시스템의 모든 소프트웨어가 보안에 중요합니다. 그리고 당신이 생각하는 경우에도 당신은 당신의 컴퓨터가 해킹 점점 걱정하지 않는다 (결국, Flopsy의 사진 광택 용지가 아닌 일부 임시 JPEG의 실제 조각), I 컴퓨터가 해킹당하는 것을주의하십시오. 봇넷에 있기 때문에 오늘날 액세스 할 수없는 인터넷 서비스에 대해 DDOS 공격을 수행하고 있습니다.
루트는 스파이더 맨 의상입니다. 그것은 당신에게 큰 힘을 주지만 큰 책임이 필요합니다. 옷장에 필요할 때마다 있기 때문에 항상 착용 할 필요는 없습니다.
가능하지만 보안 및 안정성의 주요 위험 요소입니다. 이렇게하면 모든 응용 프로그램이 컴퓨터에 완전히 액세스 할 수 있습니다. 그들이 그 액세스로 무엇을하고 있는지 알 수 없습니다. 불필요하고 실제로 안전하지 않습니다.
이에 대한 더 많은 배경 정보는 다음을 참조하십시오.
솔직히, 나는 root
사용자를 기본값 으로 사용하는 것과 관련된 많은 위험이 있음에 동의합니다 . 그러나 그것들을 살펴보고 논쟁의 일부를 조금 비판하겠습니다.
root
응용 프로그램보다 비 응용 프로그램의 경우 다소 어렵습니다 root
(예 : 루트 인증서를 직접 설치하고 은행에 연결하는 대신 브라우저 대신 엉망이되어야하지만 실제로는 실제로 가능합니다. 어쨌든 사용자가 아무것도 알지 못하도록하기 위해 그렇게해야했을 것입니다)root
사용자가 아닌 사람 이 시스템을 저장 하더라도 모든 중요한 파일은 일반적으로 손실됩니다 (사용자 소유 파일이 훨씬 많기 때문에) 고유 할 가능성이 있음).root
권한이 없으면 모든 개인 파일에 계속 액세스 할 수 있으며 네트워크 데이터를 가로 챌 수도 있습니다. 개인 시스템의 공격자로서 가장 중요한 두 가지 사항입니다.
어느 쪽이든, 나는 다른 사람들이 주장하는 것처럼 그것이 끔찍한 생각이라고 생각하지 않는다고 생각했습니다. 나는 그것이 좋은 생각이라고 말하지는 않지만 사람들이 당신을 보호하는 * nix 파일 시스템 권한 모델의 유용성을 과대 평가한다고 생각합니다. 예, 특정 상황 (예 : 다중 사용자 시스템, 복잡한 다중 응용 프로그램 서버), 발생하는 상황 (실행 중이지만 필요하지는 않지만)에 관계없이 시스템을 계속 실행하고 중요한 파일을 잠그는 데 매우 유용합니다. ...) 등)이지만 악의적 인 일이 발생하는 것을 막는 마법 보호는 아닙니다.
의견에서 나는 상황을 설명하는 데 상당히 적합한 유추를 생각해 냈습니다. 네덜란드어에는 모든 미터를 찾을 수 있는 작은 옷장에 대한 단어 와 주요 수도 공급을위한 토글 등이 있습니다. root
사용자 계정으로 실행 하는 것은 작은 옷장을 잠그는 것과 같습니다. 아이러니 한 사실 : 대부분의 사람들은 처음부터 자물쇠를 가지고 있지 않습니다. 이제와 마찬가지로root
특정 사례 (예 : 사무실 또는 기타 준 공공 건물)에서 잠그는 것이 유용하지 않다는 말을하지 않는 사용자는 종종 잠겨 있지만 일반 주택에서는 현관 문에 강한 자물쇠를 두는 것이 훨씬 더 중요합니다 ( 무작위 항목, 방화벽 등을 설치하지 말고 중요한 모든 것을 안전한 곳에 보관하십시오 (백업, 암호화 등). 그 벽장에 여분의 자물쇠가 아플까요? 아니, 만약을 위해 그것을 제자리에 두는 것이 좋을지도 모르지만, 모든 가능성에 있어서는 그것은 쓸모가 없을 것입니다.
root
사용자 로 달리는 것은 David Richerby가 주장하는 것처럼 집의 모든 자물쇠를 가지고 항상 금고에 모든 물건을 가지고 다니는 것과는 다릅니다. 귀하의 여권 (신분)은 * nix 파일 시스템에 의해 보호되지 않으며, 귀하의 돈 (은행 계좌)은 * nix 파일 시스템에 의해 보호되지 않으며 , 중요한 암호는 * nix 파일 시스템에 의해 보호되지 않을 것입니다 ( Safari를 사용하고 있지만 실제로는 * nix 파일 시스템 권한 모델에 의해 부분적으로 보호 될 수 있지만root
여전히 보이지 않는 확장 프로그램을 Safari에 추가하고 다음에 비밀번호를 사용할 때 다음에 비밀번호를 가로 챌 수 있습니다.) * nix 파일 시스템으로 사진이 확실히 보호되지 않으며 이미 터미널을 사용하는 경우 이미 전기 톱을 가지고 있습니다 당신과 함께 (위의 포인트 2 당).
1990 년경 저는 Tom이라는 사람과 프로젝트를 진행하고있었습니다. 우리는 SunOS (Solaris 이전의 Unix 파생 제품)를 실행하는 SUN 서버를 사용하고있었습니다. 이것은 CD 드라이브와 플래시 드라이브 이전 시절로 거슬러 올라갔습니다. 따라서 하드 드라이브의 OS를 망가 뜨리면 복구 할 방법이 없었습니다.
Tom은 일상적으로 루트로 로그인했습니다. 나는 그에게 나쁜 생각이라고 들었지만 그는 듣지 않았다. 어느 날 나는 그가 "어-오"라고 말하는 것을 들었다. 그는 다음과 같은 것을 타자를 의도했습니다.
mv something* .
불행히도 그는 마지막 점을 남기지 않았으므로 쉘은이 패턴과 일치하는 모든 파일과 디렉토리 이름을 확장했습니다. 그런 다음 mv 명령은 목록에서 최종 이름으로 끝나는 것을 대상 디렉토리로 사용하고 그 밖의 모든 것을 디렉토리로 옮겼습니다. 불행히도 그는 현재 루트 디렉토리에 있었기 때문에 기본적으로 전체 파일 시스템이 하위 디렉토리 중 하나로 이동했습니다.
나는 위쪽 화살표를 사용하여 이전 명령을 다시 가져와 무슨 일이 있었는지 보았다. 내가 말한 첫 번째는 "로그 오프하지 마십시오! 다시는 로그인 할 수 없습니다."였습니다.
문제 없어요? 우리는 모든 것을 뒤로 옮길 수 있습니다. 우리는 mv 명령이 쉘의 내장 명령 중 하나가 아니라는 것을 제외하고는 할 수있었습니다. 대신, 이동 된 파일 중 하나에 저장된 실행 가능한 프로그램이었습니다. 운 좋게도 ls는 기본 제공 명령이므로 ls를 사용하여 명령이 이동 한 위치를 확인한 후 mv 명령을 찾아 전체 경로 이름으로 호출하고 원래 위치로 되돌려 놓을 수있었습니다. .
그리고 나서 그에게 말했습니다. "Tom, 일상적으로 루트로 로그인하는 것은 나쁜 생각입니다."
일반적으로 개인 파일의 소유권을 루트 사용자와 별도로 유지하려고합니다. 관리자로서 자신을위한 계정을 만드는 이유입니다. OS X에서 루트 수준 액세스 권한을 얻는 방법 sudo
은 터미널 응용 프로그램에서 명령 을 사용하는 것 입니다. 예를 들어, 내부 드라이브의 파티션을 보려면 명령은
gpt -r show /dev/disk0
입력하면 다음과 같은 오류 메시지가 나타납니다.
gpt show: unable to open device '/dev/disk0': Permission denied
명령을 사용하려면 sudo
아래 표시된대로 사용해야 합니다.
sudo gpt -r show /dev/disk0
입력을 피하기 위해 루트 사용자가 되려면 sudo
입력하면 sudo sh
됩니다. 이 exit
명령을 사용하여 루트 사용자가 될 수 있습니다.
응용 프로그램을 루트 사용자로 실행하려면 터미널 응용 프로그램을 사용하면됩니다. 예를 들어, Finder를 루트 사용자로 시작하려면 다음 명령을 입력하십시오.
sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder &
두 개의 Finder 응용 프로그램을 동시에 열어야하는 혼동을 피하려면 일반적으로 Finder 응용 프로그램을 먼저 종료하는 것이 가장 좋습니다. 다음 터미널 명령을 사용하여 수행 할 수 있습니다.
osascript -e 'tell application "Finder" to quit'
한 가지주의 할 점 : 명령 앞에 오는 것은 sudo
루트 사용자가되는 것과 다릅니다. 예를 들어
sudo echo $USER
sudo echo $SUDO_USER
아래 표시된 명령과 동일한 출력이됩니다.
echo $USER
echo $SUDO_USER
루트 사용자 (수퍼 유저)가되면 동일한 명령으로 다른 출력이 생성됩니다. 아래 표시된 명령을 입력하여 확인할 수 있습니다.
sudo sh
echo $USER
echo $SUDO_USER
sudo echo $USER
sudo echo $SUDO_USER
exit
항상 다음과 같이 실행해도 좋지 않은 몇 가지 예는 다음과 root
같습니다.
계속할 수있었습니다. 요점은 루트로 실행하지 않는 좋은 이유가 있다는 것입니다. 나는 대부분의 사람들에게 자신의 개인 데이터가 홈 디렉토리에 있다는 것에 동의하지 않지만 루트로 실행하면 여전히 그 데이터와 전체 시스템이 더 큰 위험에 처하게됩니다. 루트로 실행하지 않는 조언이 잘못되지 않았습니다. 사람이 루트로 달리는 것의 의미를 이해하지 못하면 분명히 그렇게해서는 안됩니다. 다른 제안은 무책임합니다.