Linux 시스템 관리에서 root 사용자로 직접 로그인하는 것은 보안상의 이유로 권장되지 않습니다. 이 글에서는 root 사용자 권한으로 명령을 실행해야 하는 경우에 어떻게 Sudo를 활용할 수 있는지에 대해 설명하겠습니다.
root 사용자로 직접 로그인하는 것은 시스템 전체에 영향을 미칠 수 있는 실수를 유발할 가능성이 높습니다. root 사용자 계정은 모든 권한을 가지고 있기 때문에, 잘못된 명령 하나로 시스템을 손상시킬 수 있습니다. 따라서 일상적인 작업에서는 일반 사용자 계정을 사용하고, 필요할 때만 권한을 상승시키는 것이 좋습니다.
Sudo(Super User Do)는 사용자에게 관리자 권한을 부여하는 안전한 방법을 제공합니다. Sudo 명령을 사용하면 특정 사용자만이 관리자 권한으로 명령을 실행할 수 있으며, 이때 사용자는 자신의 비밀번호를 입력해야 합니다.
Sudo의 기본 구성은 /etc/sudoers
파일에 정의되어 있습니다. 이 파일은 Sudo 명령이 적용하는 정책을 설정하는 데 사용됩니다.
/etc/sudoers
파일에는 권한을 부여할 사용자와 그룹, 그리고 실행할 수 있는 명령이 정의되어 있습니다. 파일의 기본 구조는 다음과 같습니다.
all
로 설정되어 로컬 호스트를 의미합니다.all
을 지정하면 사용자는 모든 명령을 실행할 수 있습니다.다음은 /etc/sudoers
파일의 예제입니다.
# Mark 사용자는 모든 명령을 실행할 수 있습니다.
mark ALL=(ALL) ALL
# Sarah 사용자는 시스템을 재부팅하는 명령만 실행할 수 있습니다.
sarah ALL=(ALL) /sbin/shutdown -r now
위 예제에서 Mark 사용자는 모든 관리자 명령을 실행할 수 있는 반면, Sarah 사용자는 시스템을 재부팅하는 명령만 실행할 수 있습니다.
root 사용자로 직접 로그인할 필요가 없도록 하기 위해 root 사용자에 대해 no login 쉘을 설정할 수 있습니다.
sudo usermod -s /sbin/nologin root
이 설정을 통해 root 사용자가 직접 로그인하는 것을 방지할 수 있습니다.
Sudo를 사용하면 사용자에게 필요한 최소한의 권한만을 부여하여 시스템의 보안을 강화할 수 있습니다. 또한, root 사용자로 직접 로그인할 필요 없이 필요한 작업을 수행할 수 있습니다. 이제 SSH 및 Sudo를 사용하여 안전하게 시스템을 관리해 보세요.