root계정 암호 설정하고 사용하기



    리눅스 운영체제에서 기본적으로 최고 관리 권한 계정인 root 계정을 활성화 시켜놓지 않습니다. 이유는 Windows 에서 Administrator 계정을 활성화 시키지 않는 이유와 비슷한데, 아무래도 보안상의 이유가 크겠죠. 윈도우즈야 일반 사용자가 많기 때문에 Windows 8.1 과 같은 클라이언트 버전에서는 최고 관리권한을 가져야 하는 일이 많은 반면, 리눅스의 경우는 일반 사용자보다 서버로 이용하기 위한 경우가 더 많기 때문에 root 계정에 대한 보안이 상당히 중요합니다. (물론, 윈도우 서버 버전에서도 마찬가지지요.)



    윈도우에서도 최고 관리자 계정인 Administrator 계정을 활성화 시키기 위해서 약간의 설정이 필요했는데, 리눅스도 마찬가지로 약간의 설정이 필요합니다.


    일단, 그 전에 리눅스에서 일시적으로 최고관리 권한 및 최고 관리 계정을 사용할 수 있는데, 간단하게 알아보고 넘어가 봅시다.




    sudo? su? root?


    참고로, 일시적으로 최고 권한을 얻기 위해서 터미널 명령에 접두사로 sudo 라는 명령어를 씁니다. 또는 일시적으로 최고 관리자 계정을 사용하기 위해서 su 라는 명령어를 사용하기도 합니다. 이 두개의 의미를 간략하게 살펴보면,


    1. su

    Super User의 약자입니다. 최상위 권한을 갖는 유저를 뜻합니다. 리눅스 운영체제에서는 최고 관리 권한을 갖는 계정은 root 계정이므로, 터미널에서 su 명령어를 입력하면 해당 터미널 세션에 한해서 일시적으로 root 계정처럼 사용할 수 있도록 권한을 부여 합니다. 해당 터미널 외에 다른 프로그램이나 또 다른 터미널 실행시에는 root 권한을 가지지 않습니다.


    2. sudo

    Super User do의 약자 입니다. Super User와 조동사인 do를 합쳐서 최고 관리 권한으로 실행한다는 뜻입니다. 이 때는 세션에 대한 권한이 아닌 하나의 명령에 대해서 일시적으로 최고 관리 권한을 가집니다. sudo의 경우에는 리눅스 기본 명령어가 아니기 때문에 sudo 명령어가 지원되는지 확인하여야 합니다. 유명한 배포판인 우분투(Ubuntu)와 센토스(CentOS)의 경우에는 sudo를 지원합니다. 

    또한, sudo는 하나의 그룹으로 설정이 되어있는데, 일반 유저를 추가시에 sudo 그룹 안에 속하게 하면 sudo 명령어를 사용할 수 있습니다. 추가하는 방법은 나중에 따로 포스팅 하도록 하겠습니다. 

    sudo 명령을 사용하는 경우 root 계정의 암호를 묻는 것이 아니라, 현재 로그인 된 계정(sudoer)의 암호를 묻습니다.


    이 두가지 기능은 최고 관리 권한을 빌려오는 것인데, 마치 윈도우즈에서 사용자 계정 컨트롤과 비슷한 역할을 합니다.




    하지만, 일시적으로 권한을 얻어서 사용하다보면 여간 불편한게 아닙니다. 모든 세션에 대해서 권한을 갖는 것이 아니라 일일이 프로그램을 실행할 때 관리자 권한 명령어를 따로 입력해야 합니다. 특히, GUI 형태로 사용하는 경우에는 터미널로 활성화 한 뒤, 터미널로 명령어를 실행해서 사용해야 하기 때문에 진정한 의미의 GUI라고 하기가 힘듭니다. 


    애초부터 root 계정으로 로그인하여 불편함 없이 최고 관리 권한을 사용하는 방법은 다음 시간에 포스팅 하고, 이번 시간에는 root 계정을 사용하기 위해 암호를 설정하고 su 명령어를 통해서 root 계정을 사용하는데까지 알아보겠습니다.





    root 계정 암호 설정하기


    위에서도 설명드렸다시피 root 계정 암호를 설정해야 합니다. 다행이 root 계정의 암호 변경은 sudo 명령어로 사용이 가능합니다.


    암호를 변경하는 명령어는 passwd 입니다. password의 약자인게 눈에 보이죠? 이 명령어의 사용법은 아래와 같습니다.


    passwd [사용자 계정]


    단, 로그인된 계정외에 다른 계정의 암호를 변경하고자 하는 경우 root 권한을 얻은 상태에서만 변경이 가능합니다. 


    그래서 종합적으로 다음과 같은 명령어를 통해서 암호 변경이 가능합니다.


    $ sudo passwd root


    터미널을 실행한 후 위와 같은 명령어를 입력합니다.




    그러면 현재의 암호를 입력하라고 하는데 현재 로그인 된 계정의 암호를 입력하면 됩니다. 




    암호를 입력하고 나면 새 UNIX 암호 입력 이 나오는데, 여기서 새로 설정할 root 계정의 암호를 설정하면 됩니다.

    입력하고 나면 재입력을 통해 확인 과정을 거치면 설정이 완료 됩니다.





    아래처럼 암호를 성공적으로 업데이트했습니다. 라는 말이 나오면 정상적으로 암호가 변경이 된 것입니다.





    그럼 이제 su 명령을 통해서 root계정으로 로그인 해봅시다. 터미널에서 su를 입력하면 암호를 넣으라고 합니다.





    당연히 이 때 암호는 root계정의 암호이며, 아까 설정한 암호를 입력하면 됩니다. 그럼 아래와 같이 로그인이 되는데 사용자가 바껴서 로그인이 된 것을 확인할 수 있습니다.



    위에처럼 사용자가 바뀐게 보이죠? 노란색 부분을 확인하면 처음 사용자 (ubuntu)에서 root 계정으로 바뀐 것을 확인할 수 있습니다.


    앞으로 설치해야 할 것들이 많은데, 그 때마다 관리 권한을 얻는 것보다 차라리 root 계정을 활성화하여, 사용한 후 다시 비활성화 시켜놓은 방법이 제일 이상적인 방법이 되지 않을까 합니다.


    다음 시간에는 root 계정으로 로그인을 하는 방법에 대해 소개하도록 하겠습니다.






    Posted by Study For Us clamp2x
    • pabian
      2016.07.10 10:00 신고

      우분투 입문자입니다.
      궁금한 게 있는데요. 사용자 계정에서 sudo passwd root를 통해 root 계정 암호를 생성하잖아요? root 계정 암호를 생성하는 것도 자격이 주어져야 할 것 같은데 설치 시에 생성한 사용자 계정만 자격이 주어지는 건가요?

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.07.10 10:04 신고

        네. 일단 최초 설치시 생성했던 계정은 관리자 그룹(정확히는 sudo 그룹)의 계정입니다. 그렇기 때문에 su 또는 sudo 명령어를 사용할 수 있는 거구요. 새로 sudo 그룹에 계정을 생성하지 않았다면 최초 설치 계정만 가능합니다. ^^

    • varoa
      2016.10.12 21:50 신고

      쉽게쉽게 볼 수 있어서 좋았어요~


    • 2016.10.16 10:44 신고

      우분투 입문자인데, 명령을 잘못 쳤다가 sudo 관련 파일이 root것이 아닌 제 것이 되는 일이 벌어져서, 지금 root권한을 전혀 사용할 수 없습니다.
      이 문제를 해결할만한 방법이 없나요?


    • 2016.10.16 10:44 신고

      우분투 입문자인데, 명령을 잘못 쳤다가 sudo 관련 파일이 root것이 아닌 제 것이 되는 일이 벌어져서, 지금 root권한을 전혀 사용할 수 없습니다.
      이 문제를 해결할만한 방법이 없나요?

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.10.16 11:14 신고

        그럼 실행했던 계정은 여전히 sudo 명령어를 사용할 수 있지 않나요? 도무지 가능한 상황인가 이해가 잘 안되네요. ^^;;
        어떤 파일을 건드리셨나요?

티스토리 툴바