웹사이트 검색

루트는 누구입니까? 루트는 왜 존재하는가?


Linux에 root라는 특수 계정이 왜 있는지 궁금한 적이 있습니까? 이 계정을 사용하는 데 권장되는 모범 사례가 무엇인지 알고 계십니까? 사용해야 하는 시나리오와 사용하지 않는 시나리오를 알고 계십니까? 다음 질문 중 하나 이상에 '예'라고 답했다면 계속 읽어보세요.

이 게시물에서는 편리하게 보관하고 싶은 루트 계정에 대한 정보가 포함된 참조 자료를 제공할 것입니다.

루트란 무엇입니까?

먼저 Unix 계열 운영 체제의 디렉토리 계층 구조가 트리 구조로 설계되었다는 점을 염두에 두겠습니다. 시작점은 슬래시 (/)로 표시되는 특수 디렉토리이며 다른 모든 디렉토리는 초기에 이 디렉토리에서 분기됩니다. 이는 실제 트리와 유사하므로 /를 루트 디렉터리라고 합니다.

다음 이미지에서 다음의 출력을 볼 수 있습니다.

tree -d / | less

이는 /와 트리의 루트 사이의 유사성을 보여줍니다.

root 계정의 이름을 지정한 이유는 명확하지 않지만 root/ 내부에서 쓰기 권한을 가진 유일한 계정이기 때문일 가능성이 높습니다. .

또한 루트는 모든 Unix 계열 운영 체제의 모든 파일과 명령에 액세스할 수 있으며 이러한 이유로 수퍼유저라고도 합니다.

참고로, 루트 디렉터리 (/)는 루트 사용자의 홈 디렉터리인 /root와 혼동되어서는 안 됩니다. 실제로 /root/의 하위 디렉터리입니다.

루트 권한에 대한 액세스 얻기

루트(또는 수퍼유저) 권한에 대해 이야기할 때 해당 계정이 시스템에 대해 갖고 있는 권한을 나타냅니다. 이러한 권한에는 시스템을 수정하고 다른 사용자에게 해당 리소스에 대한 특정 액세스 권한을 부여하는 기능이 포함되지만 이에 국한되지는 않습니다.

이 권한을 무모하게 사용하면 시스템이 손상될 수 있으며 최악의 경우 전체 오류가 발생할 수 있습니다. 이것이 루트 계정의 권한에 액세스할 때 다음 지침이 모범 사례로 받아들여지는 이유입니다.

처음에는 root 계정을 사용하여 visudo를 실행합니다. 해당 명령을 사용하여 /etc/sudoers를 편집하여 특정 계정(예: 감독자)에 필요한 최소 수퍼유저 권한을 부여하세요.

예를 들어 여기에는 사용자 계정 생성(adduser)사용자 계정 수정(usermod) 기능이 포함될 수 있으며 그 외에는 아무것도 포함되지 않습니다.

앞으로는 감독자로 로그인하고 sudo를 사용하여 사용자 관리 작업을 수행하세요. 수퍼유저 권한이 필요한 다른 작업(예: 패키지 제거)을 수행하려고 하면 실패한다는 것을 알 수 있습니다.

필요할 때마다 위의 두 단계를 반복하고 완료되면 exit 명령을 사용하여 권한이 없는 계정으로 즉시 돌아갑니다.

이 시점에서 스스로에게 질문해야 합니다. 주기적으로 나타나는 다른 작업에 슈퍼유저 권한이 필요한 것이 있습니까? 그렇다면 /etc/sudoers에서 특정 계정이나 그룹에 필요한 권한을 부여하고 가능한 한 루트 계정의 사용을 계속 피하세요.

요약

이 게시물은 Unix 계열 운영 체제에서 루트 계정을 올바르게 사용하기 위한 참조 자료로 사용될 수 있습니다. 북마크에 자유롭게 추가하고 원하는 만큼 즐겨보세요!

언제나 그렇듯이, 이 기사에 대한 질문이나 제안 사항이 있으면 아래 의견 양식을 사용하여 메모를 남겨주세요. 여러분의 의견을 기다리겠습니다!