sudo가 현재 사용자가 아닌 루트 비밀번호를 묻는 Linux 사용자를 만드는 방법

sudo가 현재 사용자가 아닌 루트 비밀번호를 묻는 Linux 사용자를 만드는 방법

나는 새로운 사용자를 생성했지만 adduser그의 계정에서 sudo를 시도했을 때 xxxx * is not in the sudoers file. This incident will be reported..

그래서 명령어를 조작하기 시작했는데 visudo...

해당 루트 계정에는 다음 구성이 있습니다.

root    ALL=(ALL:ALL) ALL

하지만 새 사용자에게 이것을 복제하고 싶지 않습니다...


sudo를 사용할 때를 제외하고 내 사용자 xxxx가 루트 액세스 권한을 가지지 않기를 원합니다..
sudo를 사용할 때 xxxx 사용자에게 자신의 비밀번호가 아닌 루트 비밀번호를 묻는 메시지가 표시되기를 원합니다!!

고마워


Debian 10
VM 사용, SSH만 사용

답변1

내 사용자 xxxx가 sudo를 사용할 때를 제외하고는 루트 액세스 권한을 갖지 않기를 원합니다.

sudo이것은 실제로 일반 사용자의 정상적인 상태입니다. 허용할 명령을 지정하기 위해 구성하는 것 외에는 아무것도 할 필요가 없습니다 .

root    ALL=(ALL:ALL) ALL

sudo이 줄은 이미 루트 사용자로 전환된 경우 에만 사용할 수 있도록 존재합니다 . 루트가 아닌 사용자에게 권한을 부여하는 중요한 줄은 다음과 같습니다.

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

(일부 Linux 배포판에서는 OS 설치 중에 생성된 첫 번째 일반 사용자가 그룹의 구성원이 되어 sudo자동으로 루트 액세스가 활성화될 수 있습니다. 이는 예외이며 모든 사용자에 대한 기본값은 아닙니다.)

sudoers 파일의 권한 사양의 기본 형식은 다음과 같습니다.

<who>  <where>=(<as_who>) <what>
  • <who>이 항목을 사용할 수 있는 사용자를 지정합니다. 이는 사용자, 그룹(% 기호가 앞에 붙음) 또는 이전에 정의된 User_Alias(기본적으로 사용자 및/또는 그룹의 긴 목록에 대한 약칭) 및 기타 몇 가지 사항일 수 있습니다.

  • <where>호스트 이름일 수 있습니다. 이 항목은 특정 시스템으로 제한됩니다. 모든 호스트에서 중앙 관리 표준 파일을 적용하는 기업 환경에서는 유용할 수 있지만 sudoers, 호스트 이름 확인이 작동하지 않거나 시스템이 잘못 구성된 경우 문제를 피하기 위해 ALL로 지정되는 경우가 많습니다.

  • (<as_who>)명령을 실행할 수 있는 사용자 계정을 정의합니다. 기본값은 루트이지만, 예를 들어 루트가 아닌 특정 애플리케이션 계정에서만 sudo를 사용하여 명령을 실행할 수 있도록 사용자를 제한할 수도 있습니다.

  • <what>허용할 명령(또는 쉼표로 구분된 명령)입니다.

그 밖에도 다양한 태그와 옵션이 있지만, sudoers간단히 말해서 위의 내용이 파일의 중요한 부분입니다.

sudo를 사용할 때 xxxx 사용자에게 자신의 비밀번호가 아닌 루트 비밀번호를 묻는 메시지가 표시되도록 하고 싶습니다.

이것은 가능하며 매우 쉽습니다. 파일에 다음 줄을 추가하는 경우 sudoers:

Defaults:xxxx rootpw,timestamp_timeout=0
xxxx    ALL=(ALL:ALL) ALL

그런 다음 사용자 xxxx(및오직해당 경우) sudo명령은 루트 비밀번호를 묻습니다.매번암호를 다시 묻지 않고 명령을 sudo사용하는 데 최대 15분의 시간을 허용하는 기본 동작 대신 명령이 사용됩니다 .sudo

사용자를 모니터링하고 이 사용자가 필요할 때 루트 비밀번호를 직접 입력하려는 경우 이는 중요합니다. 옵션을 놓친 경우 timestamp_timeout=0사용자는 먼저 합법적인 작업을 위해 루트 비밀번호를 입력하도록 요청한 다음 주의를 분산시킬 수 있습니다. 앞으로 15분 이내에 당신을 위해, 그리고 그 시간 동안 그들은 sudo그들이 원하는 무엇이든 사용할 수 있을 것입니다 .

하지만 참고하세요su사용자에게 루트 비밀번호를 알려주면 해당 명령 에도 해당 비밀번호를 사용할 수 있습니다 .에 기본이 아닌 제한 사항을 적용하지 않는 한 su. 제한하는 고전적인(그리고 일반적으로 유일한) 방법 은 사용자가 특정 그룹의 구성원이 되도록 요구하는 것입니다. 그렇지 않으면 전혀 su사용할 수 없습니다 . su이 제한 사항을 적용하려면 /etc/pam.d/su시작 부분에서 이 부분을 편집하고 찾으십시오.

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

#마지막 줄의 시작 부분에서 를 제거하면 해당 su명령은 그룹 구성원 root만 사용할 수 있습니다.

관련 정보