루트 계정과 관리 계정의 차이점

루트 계정과 관리 계정의 차이점

관리 권한이 있는 사용자가 루트를 사용하여 루트의 모든 권한을 가질 수 있는 경우 sudo루트 계정을 갖는 이점은 무엇입니까 ?

답변1

루트 비활성화

루트 계정이 있어야 합니다. "비활성화"에 관한 한, 이를 사용하여 수행할 수 있는 유일한 작업은 다음과 같습니다.

  1. 계정 잠금

    $ sudo passwd -l root
    
  2. 루트에게 사용할 수 없는 비밀번호를 부여하세요

    $ sudo usermod -p '!' root
    

sudo - 루트 사용자로

"관리 권한"을 가진 사용자가 사용할 경우 sudo루트로서 높은 권한으로 명령을 실행한다는 점을 기억하십시오!

간단한 명령을 사용하면 이것이 사실임을 확인할 수 있습니다 ps.

$ sudo sh -c "ps -eaf | grep [s]udo"
root      2625 26757  0 04:19 pts/10   00:00:00 sudo sh -c ps -eaf | grep [s]udo

위의 내용은 ps이 명령을 실행할 때 실제로 루트 사용자임을 보여줍니다.

전원 켜짐

또한 단일 사용자 모드(GRUB에서)로 시스템을 부팅하는 경우 루트 계정으로 로그인해야 합니다. 일반적으로 singleGRUB에 단어나 숫자를 전달합니다 1.

나에게는 어떤 sudo 권한이 있나요?

권한이 부여된 시스템에서 sudo이 명령을 사용하여 sudo -l자신이 가지고 있는 권한을 확인할 수 있습니다. 이는 모든 사람에 대한 전체 권한이 아니라 명령을 실행하는 사용자의 권한일 뿐입니다.

예를 들어:

$ sudo -l
Matching Defaults entries for saml on this host:
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG
    LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME
    LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User saml may run the following commands on this host:
    (ALL) ALL
    (root) NOPASSWD: /usr/lib/jupiter/scripts/bluetooth, (root) /usr/lib/jupiter/scripts/cpu-control, (root)
    /usr/lib/jupiter/scripts/resolutions, (root) /usr/lib/jupiter/scripts/rotate, (root) /usr/lib/jupiter/scripts/touchpad, (root)
    /usr/lib/jupiter/scripts/vga-out, (root) /usr/lib/jupiter/scripts/wifi

노트:액세스 권한이 부여된 명령은 "User saml can run the next..." 줄 뒤의 모든 명령입니다.

sudo를 통한 액세스 제한

Sudo에는 특정 명령, 명령 그룹, 특정 사용자 및/또는 특정 사용자 그룹에 대한 액세스를 제한하기 위한 상당히 풍부한 도구 세트가 있습니다. 그러나 몇 가지 주의 사항이 있습니다 sudo.

다음 줄을 사용하면 모든 것에 대한 전체 액세스 권한을 부여할 수 있습니다 /etc/sudoers.

aaditya      ALL=(ALL)    ALL

vim또한 사용자에게 특정 파일에 대한 매우 간단한 액세스를 제공할 수도 있습니다.

aaditya      ALL=/usr/bin/vim

vim그러나 많은 편집자들이 그 안에서 서브쉘을 호출할 수 있도록 허용하기 때문에 이것은 큰 실수입니다 . 따라서 사용자는 권한이 의도된 것이 아니더라도 aaditya루트 권한으로 쉘에 액세스할 수 있습니다 .sudo

답변2

관리 계정과 관리 계정은 root결코 동일하지 않습니다. goldilocks 및 slm이 언급한 내용 외에도 이로 인해 사용자를 대신하여 수행할 수 있는 작업이 root크게 제한될 수 있다는 점도 알아야 합니다 ( 예제 참조). 이는 고위 시스템 관리자가 하위 관리자에게 전체 액세스 권한을 부여하지 않고 일부 관리 작업을 위임하려는 경우 특히 유용합니다. 결국 전체 액세스 권한을 가진 사용자는 계정을 탈취할 수 있습니다.sudorootman sudoerssudoroot

관련 정보