root
100%

사용자 관리 · 레슨 2

root

su, sudo, sudoers 정책이 권한 있는 신원에 대한 통제된 접근을 제공하는 방법을 배웁니다.

전통적으로 root라는 이름의 계정은 UID 0과 해당 보안 문맥에서 광범위한 권한을 갖습니다. 일상적인 작업에는 권한이 없는 계정을 사용하고 이해하는 특정 관리 목적에만 권한을 높이세요.

su로 다른 사용자의 쉘 시작하기

substitute user를 뜻하는 su는 다른 계정의 신원으로 쉘이나 명령을 시작합니다. 사용자 이름이 없으면 기본 대상은 root입니다.

$ su

인증은 PAM과 로컬 정책으로 제어됩니다. 시스템은 대상 계정의 비밀번호를 묻거나 su 사용자를 제한하거나 root 비밀번호를 잠긴 상태로 둘 수 있습니다. 비밀번호를 아는 것이 유일한 조건이라고 가정하지 마세요.

일반 su는 신원을 바꾸면서 현재 환경을 더 많이 유지합니다. su --login USER로도 쓰는 su - USER는 로그인 형식의 쉘을 시작하고 대상 계정의 새 로그인에 가까운 환경을 초기화합니다.

$ su - operator

대상 계정 작업이 끝나면 하위 쉘을 종료하세요.

operator 사용자로 로그인 형식 쉘을 요청하는 명령은 무엇인가요?

sudo로 특정 명령 실행하기

sudo COMMAND는 대상 사용자로 명령 하나를 실행할 정책 권한을 요청하며 기본 대상은 보통 root입니다. 다른 대상을 요청하려면 -u USER를 사용합니다.

$ sudo -u postgres id

요청이 허용된다는 뜻은 아닙니다. Sudo 정책은 호출 사용자, 호스트, 대상 신원, 명령 및 기타 조건을 제어합니다. 구성에 따라 호출 사용자의 비밀번호나 다른 메커니즘으로 인증하거나 요청을 표시하지 않을 수 있습니다.

가능하면 오래 유지되는 권한 쉘보다 범위가 좁고 명확한 관리 명령 하나를 선호하세요. 범위가 작으면 실수한 명령이 높은 권한으로 실행될 가능성이 줄어듭니다.

sudo -u postgres id는 무엇을 요청하나요?

지속되는 권한 쉘 피하기

정책이 허용하면 su -, sudo -s, sudo -i 같은 명령으로 권한 쉘을 만들 수 있습니다. 종료할 때까지 이후의 모든 명령이 높은 영향을 가질 수 있습니다. 경로 실수, 검토하지 않은 스크립트, 쉘 확장이 더 위험해집니다.

감사 동작은 구성에 따라 달라집니다. sudo는 일반적으로 호출을 기록하지만 쉘 시작 하나를 기록했다고 그 안에서 입력한 모든 명령의 완전한 기록이 자동으로 생기지는 않습니다. 쉘 기록, 시스템 감사, sudo 입출력 로깅은 각자의 정책을 가진 별도 메커니즘입니다.

오래 유지되는 root 쉘이 이해한 명령 하나씩 권한을 높이는 것보다 위험한 이유는 무엇인가요?

sudo 권한 검토하기

sudo -l로 활성 정책에서 현재 계정이 요청할 수 있는 작업을 나열합니다.

$ sudo -l

명령 경로, 허용된 대상 사용자, 인자 제한을 검토하세요. 범위가 넓어 보이는 규칙을 관련 없는 작업의 허가로 여기지 마세요.

현재 호출 사용자가 사용할 수 있는 sudo 권한을 나열하는 명령은 무엇인가요?

sudoers 정책 안전하게 편집하기

기본 sudo 정책은 일반적으로 /etc/sudoers를 읽고 /etc/sudoers.d/ 아래의 파일을 포함할 수 있습니다. 다른 정책 출처도 가능합니다. 구문은 단순한 사용자 및 그룹 목록보다 훨씬 많은 것을 제어합니다.

visudo는 파일을 잠그고 설치 전에 구문을 검증하므로 정책 변경에 사용하세요.

$ sudo visudo

드롭인 파일에는 정확한 경로를 지정합니다.

$ sudo visudo -f /etc/sudoers.d/application-admins

일반 리디렉션이나 검증되지 않은 편집기 작업 흐름으로 sudoers를 편집하지 마세요. 구문이나 권한 실수로 관리 접근을 잃을 수 있습니다. 원격 권한을 바꿀 때는 확인된 다른 복구 경로를 유지하세요.

주 sudoers 정책을 편집하고 구문을 검사할 때 사용해야 하는 도구는 무엇인가요?

통제된 환경에서 위임된 관리를 연습하려면 다음 실습을 진행해 보세요.

  1. Linux 사용자 계정과 Sudo 권한 구성하기 - 비밀번호 정책 적용, 계정 잠금과 해제, root 계정 보호, 관리 권한 부여를 연습합니다.

레슨 완료

root 완료

이제 신원 전환과 정책으로 제어되는 명령 위임을 구분할 수 있습니다.

  • 대상 로그인 쉘이 필요할 때만 su - USER를 사용할 수 있습니다.

  • -u USER로 특정 sudo 대상을 요청할 수 있습니다.

  • 권한 쉘에서 보내는 시간을 최소화할 수 있습니다.

  • sudo -l로 유효 sudo 규칙을 검토할 수 있습니다.

  • visudo를 통해서만 sudoers 정책을 편집할 수 있습니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
사용자 관리(으)로 돌아가기