Linux에서 “루트”란 무엇입니까?

0
617

Ubuntu 스타일의 Linux 노트북.
Fatmawati achmad zaenuri/Shutterstock.com

루트 사용자는 좋든 나쁘든 무한한 권한을 가진 Linux 세계에서 가장 강력한 개체입니다. 사용자를 만드시겠습니까? 알았어요. 파일 시스템을 소멸시키시겠습니까? 이런, 그것도 얻었다.

기원 이야기

루트 사용자는 Linux 수퍼유저입니다. 그들은 말 그대로 무엇이든 할 수 있습니다. 제한되거나 금지된 것은 없습니다. root . 그들이 슈퍼히어로인지 슈퍼악당인지는 시스템 관리자의 역할을 하는 인간 사용자에 달려 있습니다. 루트 사용자의 실수는 치명적일 수 있으므로 루트 계정은 관리 목적으로만 사용해야 합니다.

루트 사용자의 개념은 관리 수퍼유저로 루트 사용자가 있는 Unix에서 상속되었습니다. 그러나 “루트”라는 이름이 어디에서 왔는지 확실하지 않습니다. 어떤 사람들은 이것이 Unix보다 앞선 Multics 운영 체제에서 온 것이라고 생각합니다.

가장 중요한 유닉스 설계자이자 저자인 Ken Thompson과 Dennis Ritchie는 이전에 Multics에서 작업한 적이 있습니다. Multics는 루트 디렉토리 또는 “/”라는 지점에서 시작하는 파일 시스템을 가지고 있었고 다른 모든 디렉토리와 하위 디렉토리는 거꾸로 된 트리처럼 루트에서 아래쪽 및 바깥쪽으로 분기되었습니다. 유닉스에서 채택한 트리 구조와 같은 종류입니다. 그렇다면 Unix도 Multics의 루트 사용자를 채택한 것일까요?

Multics 기술 문서를 검색하면 루트 논리 볼륨, 루트 물리 볼륨, 루트 카드 및 루트 디렉토리에 대한 많은 참조를 찾을 수 있습니다. 그러나 루트 사용자 계정이나 “루트”라는 사용자에 대한 언급은 없습니다.

광고

또 다른 이론은 유닉스 초기에 슈퍼유저의 홈 폴더가 파일 시스템의 루트 “/”였다는 것입니다. 수퍼유저는 이름이 필요했습니다. “루트 사용자”라는 용어는 공식 이름 대신 사용되었지만 용어가 고정되어 공식 이름이되었습니다.

그럴 가능성이 더 높아 보이지만 루트 사용자가 어떻게 이름을 얻었는지 확실히 말할 수 있는 사람은 아무도 없는 것 같습니다.

sudo 명령

모든 운영 체제에서 수퍼유저는 관리 목적으로만 예약하고 나머지 시간에는 일반 사용자 계정을 사용하는 것이 가장 좋습니다. 사실, 대부분의 최신 Linux 배포판에서는 루트 사용자로 로그인할 수 없습니다.

물론 이것은 Linux이므로 root 사용자가 로그인할 수 있도록 구성할 수 있습니다. root, 더 나은. 오타로 인한 재난으로부터 자신을 보호하는 것 외에도 root, 아무도 할 수 없습니다. 시스템에 대한 무단 액세스 권한을 얻은 사람은 다음으로 로그인할 수 없습니다. root, 그들이 할 수 있는 피해를 제한합니다.

하지만 다음과 같이 로그인하면 root 비활성화된 경우 Linux 컴퓨터를 어떻게 관리합니까? 글쎄, 그게 바로 sudo 명령은 를 위한 것입니다. 루트 사용자가 로그인할 필요가 없습니다. 일시적으로 권한을 부여합니다. root의 능력이 당신에게 있습니다. 마치 토르의 망치를 줍는 것과 같다. 묠니르 일시적으로 토르의 능력이 부여됩니다. 하지만 자격이 있는 경우에만 망치를 들 수 있습니다. 마찬가지로 아무나 사용할 수 있는 것은 아닙니다. sudo 명령. NS sudo 명령만이 수여한다 root당신이 가치 있는 것으로 판명되어 sudoers 목록에 추가된 경우 의 권한이 부여됩니다.

Linux에서 sudo 액세스를 제어하는 ​​방법

관련된Linux에서 sudo 액세스를 제어하는 ​​방법

와 비슷한 또 다른 명령이 있습니다. sudo ~라고 불리는 su. 와 함께 sudo, 자신의 비밀번호를 사용하여 인증합니다. 와 함께 su, 루트 사용자의 암호를 사용하여 인증합니다. 이것은 두 가지 면에서 중요합니다. 첫째, 사용하려면 루트 사용자에게 암호를 할당해야 함을 의미합니다. su. 기본적으로 루트 사용자에게는 암호가 없으므로 보안에 도움이 됩니다. 만약에 root 비밀번호가 없으므로 로그인할 수 없습니다. root.

광고

둘째, 루트 암호를 설정하면 사용할 모든 사람이 su 명령은 암호를 알아야 합니다. 그리고 암호를 공유하는 것은 보안에 있어 절대 금물이며, 루트 암호의 경우에는 더욱 그렇습니다. 루트 암호를 아는 사람은 누구나 다른 사람에게 말할 수 있습니다. 루트 암호를 변경해야 하는 경우 새 암호를 알아야 하는 모든 사람에게 새 암호를 알려야 합니다.

sudoers 목록을 사용하여 사용할 수 있는 사람을 제한하는 것이 훨씬 더 안전합니다. sudo, 그리고 각 권한 있는 사람이 자신의 개별 암호를 사용하여 인증하도록 합니다.

sudo 사용

“/etc/shadow” 파일에는 Linux 컴퓨터에 있는 각 계정의 사용자 이름과 함께 각 계정의 암호화된 암호, 암호가 마지막으로 변경된 시간 및 암호가 만료된 시간을 포함한 기타 정보가 들어 있습니다. 민감한 정보가 포함되어 있기 때문에 본인만 읽을 수 있습니다. root.

우리가 사용하려고하면 wc 섀도우 파일의 행, 단어 및 문자를 읽는 명령을 실행하면 권한이 거부됩니다.

wc /etc/shadow

우리가 sudoers 목록에 있고 다음과 같은 명령을 사용하는 경우 sudo 줄의 시작 부분에서 암호를 입력하라는 메시지가 표시되고 명령이 실행됩니다. Linux 컴퓨터의 유일한 사용자인 경우 시스템이 설치될 때 자동으로 sudoers 목록에 추가됩니다.

sudo wc /etc/shadow

명령을 루트로 실행하기 때문에 wc 명령이 실행됩니다. 아무도 뿌리를 부정하지 않습니다.

광고

NS sudo “수퍼유저가 하는 일”을 의미하는 데 사용되는 명령입니다. 모든 사용자로 명령을 실행할 수 있도록 개선되어 “대체 사용자 수행”으로 이름이 변경되었습니다. 명령은 실제로 다른 사용자가 실행한 것처럼 실행됩니다. 사용자 이름을 지정하지 않으면 sudo 기본적으로 사용 root. 다른 사용자를 사용하려면 다음을 사용하십시오. -u (사용자) 옵션.

명령이 다음을 사용하여 다른 사용자로 실행되는 것을 볼 수 있습니다. whoami 명령.

whoami
sudo whoami
sudo -u mary whoami

관련된: Linux에서 현재 사용자 계정을 확인하는 방법

su를 사용하지 않고 루트로 실행

걸림돌 sudo 모든 명령의 시작 부분에 “sudo”를 사용해야 한다는 것입니다. 하나 또는 두 개의 명령만 입력하면 별 문제가 되지 않습니다. 실행할 명령의 시퀀스가 ​​더 길면 지루해질 수 있습니다. 번거로울 수 있지만 유용한 안전 장치 역할을 합니다. root‘의 능력이 있으므로 매번 의식적으로 안전을 벗어야 합니다.

다음과 같이 효과적으로 “로그인”하는 방법이 있습니다. root 사용하지 않는 su 루트 사용자에게 암호가 필요하지 않습니다.

경고: 이 방법을 사용할 때 주의하십시오. 여러분이 실행하는 모든 명령은 파괴적일지라도 질문 없이 행복하게 실행될 것입니다.

사용 sudo Bash 셸을 실행하려면 다음과 같이 새 셸을 엽니다. root 사용자로.

sudo bash

명령 프롬프트가 변경됩니다. 프롬프트의 마지막 문자는 이제 달러 문자 “$” 대신 해시 “#”입니다.

광고

명령 프롬프트의 본문이 표시되는 방식은 배포판마다 다릅니다. Ubuntu에서는 사용자가 root컴퓨터 이름과 현재 작업 디렉토리를 보여줍니다. 프롬프트의 색상도 변경됩니다.

왜냐하면 우리는 root, 일반적으로 다음을 사용해야 하는 명령을 실행할 수 있습니다. sudo .

wc /etc/shadow

루트 사용자의 셸을 종료하려면 “Ctrl+D”를 누르거나 “exit”를 입력하고 “Enter”를 누르십시오.

exit

덜 슈퍼맨, 더 클락 켄트

당신이 sudoers 목록에 있다면 당신은 당신의 리눅스 시스템에 대한 초능력을 가지고 있습니다. 기억하세요. 슈퍼맨은 빨간 망토를 입고 있을 때보다 온순한 분신으로 더 많은 시간을 보냅니다.

가능한 한 일반 사용자 계정을 사용하십시오. 로만 변경 root 정말 필요할 때.