"sudo" 실패에 대한 자세한 정보를 얻는 방법

"sudo" 실패에 대한 자세한 정보를 얻는 방법

시도하면 sudo something다음과 같은 메시지가 나타납니다. "sudoers 파일에 luke가 없습니다. 이 이벤트가 보고됩니다."

모든 sudo 사용자는 같은 방식으로 실패합니다.

여기서 정확히 무엇이 실패하고 있는지에 대한 자세한 내용을 어떻게 얻을 수 있습니까? 이전에는 잘 작동했지만 sudo 액세스 권한이 있는 다른 사람이 문제를 일으켰고(?) 이제 sudo가 작동하지 않습니다(그곳에서 루트로 su하고 sudo를 사용할 수는 있지만).

/etc/sudoers를 확인했습니다(내용과 권한이 기본 설치와 일치하고 visudo -c모든 것이 정상이라고 보고합니다).

나는 여전히 sudo 그룹에 속해 있습니다.

$ getent group sudo
sudo:x:27:luke,user2,user3

내가 추가할 때

 luke    ALL=(ALL:ALL) ALL

/etc/sudoers에 추가하면 sudo를 사용할 수 있습니다. 그런데 왜 sudo 그룹 구성원은 사용할 수 없나요?

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
sudo    ALL=(ALL:ALL) ALL

luke    ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

우분투 16.04 서버 에디션.

답변1

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
sudo    ALL=(ALL:ALL) ALL

주석 다음 줄관리자 그룹 구성원은 루트 권한을 얻을 수 있습니다그룹 구성원에게 sudo 액세스 권한을 부여 admin하지만 해당 행 뒤에그룹 구성원이 sudo를 수행하도록 허용...%sudo 액세스 권한만 부여하도록 처음부터 플래그를 제거했습니다.사용자이름을 sudo주는 것보다그룹같은 이름.

답변2

가장 간단한 방법은 사용자를 추가하는 것입니다 luke.

visudo

그 다음에

luke   ALL=(ALL:ALL) ALL 

답변3

이유
Sudo 손상은 다음과 같은 이유로 인해 발생할 수 있습니다.

  1. sudo사용자는 또는 에서 제거되어서는 안 됩니다 admin group.
  2. 이 파일은 사용자가 명령을 사용하여 자신의 권한을 루트로 승격시키는 /etc/sudoers것을 방지하기 위해 변경되었습니다 .sudoadmin groupsudo
  3. 파일의 권한이 /etc/sudoers로 설정되지 않았습니다 0440.


아래 단계에 따라 문제를 해결하세요.

  1. 터미널 창을 열고,
  2. root명령 입력 사용su root
  3. 입력하다root password
  4. apt-get install sudo -y설치 명령어를 입력하세요sudo
  5. sudoers fileadduser username신규 또는 기존 사용자를 입력하여 usermod -aG sudo username사용자를 추가합니다 . 사용자 이름을 사용자 이름으로 바꾸십시오.

    usermod -aG sudo,adm usernamesudoers 및 admin 그룹에 추가 할 수 있습니다 .

  6. sudoers file다음을 입력하여 올바른 권한을 설정하십시오.chmod 0440 /etc/sudoers
  7. exit터미널 창이 닫힐 때까지 입력 하고 Enter를 누르세요.
  8. 시스템을 완전히 종료하고 다시 시작하세요.
  9. 다른 터미널 창을 엽니다.
  10. sudo사용자 이름이 sudoers 파일에 올바르게 추가되었는지 확인하려면 아무 명령이나 시도해 보세요 . 예를 들어

    sudo apt-get update

    사용자 이름이 sudoers 목록에 올바르게 추가되면 오류가 발생하지 않습니다.

관련 정보