루트 사용자를 일반 사용자로 사용하는 것이 '확인'입니까?


94

Mac에서 루트 사용자를 활성화하여 로그인하여 Finder 등을 실행할 수 있습니다. 게으른 사람이기 때문에 모든 것을 홈 디렉토리에서로 옮겼습니다 /var/root. 나는 이것을 확신하지 못하므로 모든 것을 뒤로 옮길 수 있습니다. 이것을 일반 사용자처럼 사용하는 것이 기술적으로 'OK'입니까? (내 컴퓨터에 액세스 할 수있는 유일한 사람입니다.)


6
모퉁이에 뿌리가없는 'el Capitan'에 대한 좋은 질문입니다.
CousinCocaine 2016 년

4
구체적으로 무엇을 의미합니까 (내 컴퓨터에 액세스). 인터넷에 연결되어있을 것입니다. 컴퓨터에 액세스 할 수있는 소프트웨어를 지정하지 않았습니다. 'OK'는 어떤 모습입니까? 훌륭한 일반적인 답변을 얻었습니다. 더 자세한 질문 (있는 경우)을 후속 질문으로 묻는 것이 좋습니다.
bmike

6
"루트 사용자를 일반 사용자로 사용하는 것이 '정상입니까?"라는 질문에 대한 답변을 알고 있다면 루트 계정을 일반 사용자로 사용할 수 있습니다. 답을 알고 나면 그렇지 않습니다. ;-)
Dakshinamurthy Karra

루트, 관리자 및 일반 사용자를 구분할 수 있습니다. 나는 관리자가 기본값이라고 생각합니다.
Steve Moser

6
"저는 컴퓨터에 액세스 할 수있는 유일한 사람입니다"<-Lol
Tim

답변:


352

항상 루트로 로그인 한 컴퓨터를 사용하는 것은 항상 모든 열쇠, 여권, 현금으로 5,000 달러, 모든 암호가 적힌 종이와 플로피의 유일한 사진 인 사랑스러운 토끼를 가지고 다니는 것과 같습니다. 죽음은 당신의 일곱 살짜리 마음을 아 bro습니다. 아, 그리고 전기 톱.

다시 말하면, 물건을 얻거나 은행 관리자와 이야기하기 위해 집으로 돌아갈 필요없이 언제 어디서나 원하는 것을 할 수 있기 때문에 때때로 매우 편리합니다. 그러나 물건을 잃어 버릴 위험이 있습니다 (체인 톱이 도움이 될 것이라고 생각하지 마십시오 : 지갑이 사라진 것을 알기 전에 거리가 멀어 질 것입니다). 취한 상태에서 라스베가스 행 비행기 표), 위험한 지름길 (사자 울타리를 통해 전기 톱을 타는 것이 팬더에게 가장 빠른 방법 임)과 과잉 반응 (개가 너무 짖어 서 이웃의 차를 전기 톱으로 쏘는). 그리고 당신이 그것에 대해 생각할 때 주로 사무실에 가서 식료품 쇼핑을하거나 친구들과 어울립니다. 당신은 한 달에 한 번, 필요한 편의를 위해 항상 당신과 함께 모든 것을 필요로하지 마십시오. 일주일에 한 번?

따라서, 루트 계정을 항상 사용하는 것은 좋지 않습니다. 그것은 약간의 편의를 제공하지만 많은 위험에 처하게합니다. 어리석은 실수로 치명적인 결과가 발생할 위험이 있습니다 ( "이봐, 왜 rm -rf *이렇게 오래 걸립니까? **** I 'm in /!"). 모든 파일이 동일하고 디렉토리 트리의 어느 곳에서나 원하는 것을 망칠 수 있다는 생각에 자신을 순응시킬 위험이 있습니다. 계정 해킹이 즉시 전체 시스템에 해킹 될 위험이 있으므로 이제 시스템의 모든 소프트웨어가 보안에 중요합니다. 그리고 당신이 생각하는 경우에도 당신은 당신의 컴퓨터가 해킹 점점 걱정하지 않는다 (결국, Flopsy의 사진 광택 용지가 아닌 일부 임시 JPEG의 실제 조각), I 컴퓨터가 해킹당하는 것을주의하십시오. 봇넷에 있기 때문에 오늘날 액세스 할 수없는 인터넷 서비스에 대해 DDOS 공격을 수행하고 있습니다.

루트는 스파이더 맨 의상입니다. 그것은 당신에게 큰 힘을 주지만 큰 책임이 필요합니다. 옷장에 필요할 때마다 있기 때문에 항상 착용 할 필요는 없습니다.


54
이것은 재미 있고 잘 쓰여진 작품 일뿐만 아니라 진실의 고리이며 받아 들여진 대답을 잘받을
만합니다.

17
나는 이것으로 계속 돌아옵니다. 이것은 당신이 무언가에 넣을 수 있고 여전히 진지한 유머를 가진 진정한 조언입니다.
智障 的 人

19
@ 9000 적어도 XP 이후로는 그렇지 않았습니다.
David Richerby 2016 년

28
flopsy의 죽음과 전기 톱은 관련이 있습니까?
Sirex

29
"루트는 스파이더 맨 의상입니다." 나는 여기서 죽어 가고있다.
GeminiDomino 2016 년

23

가능하지만 보안 및 안정성의 주요 위험 요소입니다. 이렇게하면 모든 응용 프로그램이 컴퓨터에 완전히 액세스 할 수 있습니다. 그들이 그 액세스로 무엇을하고 있는지 알 수 없습니다. 불필요하고 실제로 안전하지 않습니다.

이에 대한 더 많은 배경 정보는 다음을 참조하십시오.


답변에 실제로 추가되지 않은 댓글을 삭제했습니다. 채팅으로 토론을 계속할 수 있습니까?
nohillside

편집 해 주셔서 감사합니다. 잘하면 이것은 내 게시물에 관한 혼란을 해결합니다.
William T Froggard 2016 년

17

솔직히, 나는 root사용자를 기본값 으로 사용하는 것과 관련된 많은 위험이 있음에 동의합니다 . 그러나 그것들을 살펴보고 논쟁의 일부를 조금 비판하겠습니다.

  • 응용 프로그램에 대한 방어 : 실제로 * nix의 권한 시스템은 임의의 프로그램을 실행할 수있을만큼 강력 하지 않습니다 . * nix의 악성 프로그램은 루트 권한없이 충분한 악의적 인 일 (예 : 은행 자격 증명 도용)을 수행 할 수 있습니다. root응용 프로그램보다 비 응용 프로그램의 경우 다소 어렵습니다 root(예 : 루트 인증서를 직접 설치하고 은행에 연결하는 대신 브라우저 대신 엉망이되어야하지만 실제로는 실제로 가능합니다. 어쨌든 사용자가 아무것도 알지 못하도록하기 위해 그렇게해야했을 것입니다)
  • 사용자 실수 방지 (잘못된 명령 실행 및 모든 시스템 파일 삭제 등) : 물론 사실은 아니지만 root사용자가 아닌 사람 이 시스템을 저장 하더라도 모든 중요한 파일은 일반적으로 손실됩니다 (사용자 소유 파일이 훨씬 많기 때문에) 고유 할 가능성이 있음).
  • 실행하는 응용 프로그램의 악용 가능한 버그에 대한 방어 : 이제 더 비슷합니다. 예를 들어 외부에 많은 응용 프로그램이 열려있는 웹 서버를 실행하면 악용 가능한 버그에 쉽게 도달 할 수 있습니다. 라우터와 방화벽 뒤에 앉아 있더라도 위험의 정도는 훨씬 덜 중요하지만 물론 동일하게 적용됩니다. 그러나 다시 한 번 문제는 허가 시스템이 현실적으로 개인 시스템을 얼마나 방어 할 것인가가 문제가된다. root권한이 없으면 모든 개인 파일에 계속 액세스 할 수 있으며 네트워크 데이터를 가로 챌 수도 있습니다. 개인 시스템의 공격자로서 가장 중요한 두 가지 사항입니다.
    • (이제 Apple은 표준 * nix 파일 권한 시스템 위에도 응용 프로그램 샌드 박싱 시스템을 도입했습니다. 루트로 로그인 한 경우에도 여전히 완전한 기능을 수행하는 것으로 알고 있습니다. 총 거래 차단기.)

어느 쪽이든, 나는 다른 사람들이 주장하는 것처럼 그것이 끔찍한 생각이라고 생각하지 않는다고 생각했습니다. 나는 그것이 좋은 생각이라고 말하지는 않지만 사람들이 당신을 보호하는 * nix 파일 시스템 권한 모델의 유용성을 과대 평가한다고 생각합니다. 예, 특정 상황 (예 : 다중 사용자 시스템, 복잡한 다중 응용 프로그램 서버), 발생하는 상황 (실행 중이지만 필요하지는 않지만)에 관계없이 시스템을 계속 실행하고 중요한 파일을 잠그는 데 매우 유용합니다. ...) 등)이지만 악의적 인 일이 발생하는 것을 막는 마법 보호는 아닙니다.

의견에서 나는 상황을 설명하는 데 상당히 적합한 유추를 생각해 냈습니다. 네덜란드어에는 모든 미터를 찾을 수 있는 작은 옷장에 대한 단어 와 주요 수도 공급을위한 토글 등이 있습니다. root사용자 계정으로 실행 하는 것은 작은 옷장을 잠그는 것과 같습니다. 아이러니 한 사실 : 대부분의 사람들은 처음부터 자물쇠를 가지고 있지 않습니다. 이제와 마찬가지로root특정 사례 (예 : 사무실 또는 기타 준 공공 건물)에서 잠그는 것이 유용하지 않다는 말을하지 않는 사용자는 종종 잠겨 있지만 일반 주택에서는 현관 문에 강한 자물쇠를 두는 것이 훨씬 더 중요합니다 ( 무작위 항목, 방화벽 등을 설치하지 말고 중요한 모든 것을 안전한 곳에 보관하십시오 (백업, 암호화 등). 그 벽장에 여분의 자물쇠가 아플까요? 아니, 만약을 위해 그것을 제자리에 두는 것이 좋을지도 모르지만, 모든 가능성에 있어서는 그것은 쓸모가 없을 것입니다.

root사용자 로 달리는 것은 David Richerby가 주장하는 것처럼 집의 모든 자물쇠를 가지고 항상 금고에 모든 물건을 가지고 다니는 것과는 다릅니다. 귀하의 여권 (신분)은 * nix 파일 시스템에 의해 보호되지 않으며, 귀하의 돈 (은행 계좌)은 * nix 파일 시스템에 의해 보호되지 않으며 , 중요한 암호는 * nix 파일 시스템에 의해 보호되지 않을 것입니다 ( Safari를 사용하고 있지만 실제로는 * nix 파일 시스템 권한 모델에 의해 부분적으로 보호 될 수 있지만root 여전히 보이지 않는 확장 프로그램을 Safari에 추가하고 다음에 비밀번호를 사용할 때 다음에 비밀번호를 가로 챌 수 있습니다.) * nix 파일 시스템으로 사진이 확실히 보호되지 않으며 이미 터미널을 사용하는 경우 이미 전기 톱을 가지고 있습니다 당신과 함께 (위의 포인트 2 당).


2
답을 공감할 경우 분석에서 무엇이 잘못 되었는지 지적하십시오 . 나는 내 대답이 약간 정통적이라는 것을 완벽하게 알고 있지만, ICT가 전통적인 교리에 얼마나 잘 맞지 않든 내용에 따라 대답이 판단 될 정도로 진보적이라고 기대합니다.
David Mulder

3
이것은 더 많은 투표를받을 자격이 있습니다. 난 정말 내 컴퓨터에 관심을 가지 내 (비 루트) 사용자가 소유 한 파일입니다. 그들은 내 사진, 내 음악, 딸의 비디오를 나타냅니다. 나머지는 쉽게 다시 설치할 수 있습니다!
Isak Savo 2016 년

6
이 논리는 기본적으로 원격 차고 도어 오프너가 약한 소스이기 때문에 아무도 차고 도어를 닫지 않으면 실제로 큰 문제가되지 않습니다. 전제는 사실이지만 조언은 가짜입니다. 효과적인 보안은 함께 작동하는 많은 작은 조각들로 구성됩니다. 동네의 모든 사람들처럼 차고를 닫아 두었습니다. 그것은 모든 사람들에게 더 안전한 동네를 만듭니다.
Caleb

2
@Caleb 이웃에있는 집을 소유하는 것과 누군가를 초대하는 것에는 큰 차이가 있습니다. 누군가 집에 들어올 때까지 표준 * nix 시스템에서 그를 막을 수있는 것은 거의 없습니다. 그게 내가이 답변에서 설명하고있는 작업은 다음과 같습니다 누군가가 시스템에 침입 않습니다 일단 * nix에서 스크립트 파일 시스템 권한이 있습니다 하지 그들은 당신이 개인 시스템에서 중요하다고 생각하는 일을 보호하지 않기 때문에, 도움이 될 것. 그것이 유일한 것은 (계속)
David Mulder

3
루트가 없다고해서 막을 수는 없습니다. 그러나 그것은 미묘하게 다른 진술입니다. "타협"이 아니라 "타협"이라고 말한 것과 같습니다 루트로 네트워크에서 훨씬 더 많은 것을 할 수 있습니다. 좀비 머신이 간단한 ICMP 플러드에 참여하는 경우 간단한 예를 들어, 해당 ICMP 트래픽을 생성하려면 원시 소켓 액세스가 필요합니다 (이 때문에 ping이 suid root 인 이유). 다른 유용한 악성 패킷 수정도 마찬가지입니다.
dannysauer 2016 년

14

1990 년경 저는 Tom이라는 사람과 프로젝트를 진행하고있었습니다. 우리는 SunOS (Solaris 이전의 Unix 파생 제품)를 실행하는 SUN 서버를 사용하고있었습니다. 이것은 CD 드라이브와 플래시 드라이브 이전 시절로 거슬러 올라갔습니다. 따라서 하드 드라이브의 OS를 망가 뜨리면 복구 할 방법이 없었습니다.

Tom은 일상적으로 루트로 로그인했습니다. 나는 그에게 나쁜 생각이라고 들었지만 그는 듣지 않았다. 어느 날 나는 그가 "어-오"라고 말하는 것을 들었다. 그는 다음과 같은 것을 타자를 의도했습니다.

mv something* .

불행히도 그는 마지막 점을 남기지 않았으므로 쉘은이 패턴과 일치하는 모든 파일과 디렉토리 이름을 확장했습니다. 그런 다음 mv 명령은 목록에서 최종 이름으로 끝나는 것을 대상 디렉토리로 사용하고 그 밖의 모든 것을 디렉토리로 옮겼습니다. 불행히도 그는 현재 루트 디렉토리에 있었기 때문에 기본적으로 전체 파일 시스템이 하위 디렉토리 중 하나로 이동했습니다.

나는 위쪽 화살표를 사용하여 이전 명령을 다시 가져와 무슨 일이 있었는지 보았다. 내가 말한 첫 번째는 "로그 오프하지 마십시오! 다시는 로그인 할 수 없습니다."였습니다.

문제 없어요? 우리는 모든 것을 뒤로 옮길 수 있습니다. 우리는 mv 명령이 쉘의 내장 명령 중 하나가 아니라는 것을 제외하고는 할 수있었습니다. 대신, 이동 된 파일 중 하나에 저장된 실행 가능한 프로그램이었습니다. 운 좋게도 ls는 기본 제공 명령이므로 ls를 사용하여 명령이 이동 한 위치를 확인한 후 mv 명령을 찾아 전체 경로 이름으로 호출하고 원래 위치로 되돌려 놓을 수있었습니다. .

그리고 나서 그에게 말했습니다. "Tom, 일상적으로 루트로 로그인하는 것은 나쁜 생각입니다."


10

일반적으로 개인 파일의 소유권을 루트 사용자와 별도로 유지하려고합니다. 관리자로서 자신을위한 계정을 만드는 이유입니다. 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

4

다른 이유가 충분하지 않은 경우 ... Homebrew를 루트로 사용할 수 없다는 사실을 잊지 마십시오 (실제로는 큰 고통입니다). 다른 프로그램은 또한 루트 권한으로 실행하거나 권한 문제가 발생하지 않습니다. 프로그래머는 루트 권한으로 실행되지 않는다고 가정하기 때문에 명백한 이유가 없습니다. 스팀이 그중 하나라고 생각합니다.

여러 가지 이유로 모든 시스템과 사용자 항목을 분리하는 것도 좋습니다.

보안 문제가 그렇게 나쁜지 모르겠습니다. 개인적으로 조직 및 권한 문제에 대해 다른 것보다 더 걱정하고 있습니다.


4

항상 다음과 같이 실행해도 좋지 않은 몇 가지 예는 다음과 root같습니다.

  • 루트 사용자는 추적하기가 훨씬 어려운 위치에 파일을 쉽게 배치 할 수 있습니다.
  • 루트 사용자는 인터페이스에 대한 원시 액세스 권한을 가지므로 인터페이스를 무차별 또는 모니터 모드로 전환하고 모든 네트워크 트래픽을 기록 할 수 있습니다.
  • 루트 사용자는 장치 노드에 대한 원시 액세스 권한을 가지며 디스크를 스래쉬하여 사용자 수준에서 단순한 'rm'보다 파일을 복구하기가 훨씬 어려워집니다. 루트 사용자는 드라이브의 부트 섹터를 잠재적으로 수정하여 운영 체제를 다시 설치 한 후에도 맬웨어가 지속될 수 있습니다.

계속할 수있었습니다. 요점은 루트로 실행하지 않는 좋은 이유가 있다는 것입니다. 나는 대부분의 사람들에게 자신의 개인 데이터가 홈 디렉토리에 있다는 것에 동의하지 않지만 루트로 실행하면 여전히 그 데이터와 전체 시스템이 더 큰 위험에 처하게됩니다. 루트로 실행하지 않는 조언이 잘못되지 않았습니다. 사람이 루트로 달리는 것의 의미를 이해하지 못하면 분명히 그렇게해서는 안됩니다. 다른 제안은 무책임합니다.


1

특정 작업에 역 추적 / 칼리를 사용하지 않는 한 : 아니요. 수퍼 유저를 장전 된 총처럼 취급하십시오. 즉각적인 필요성과 사용 의도가있는 경우 : 확인. 그러나 다른 방법으로 문제를 해결할 수 있다면 (예 : "스도") 그렇게하십시오.


0

아니! 이렇게하면 시스템이 매우 짧은 시간 안에 고장날 수 있습니다. 대신, su또는 sudo필요에 따라 루트로 들어가십시오. 절대적으로 긍정적으로로 실행해야하는 경우 root최소한 컴퓨터를 사용하지 않을 때는 언제든지 로그 아웃하십시오. 시스템이 다중 사용자를 실행할 수 있지만 사용자가 구성되지 않은 경우에, 나는 당신이 권한이있는 사용자 생성 제안 (예 : 하나를 그 수 sudo/ su. 루트에 필요) 최대한 빨리!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.