전체 루트 액세스 권한이 있는 sudoers가 아닌 사용자의 권한을 어떻게 확인할 수 있습니까?

전체 루트 액세스 권한이 있는 sudoers가 아닌 사용자의 권한을 어떻게 확인할 수 있습니까?

doassudo최근 Debian 12, Ubuntu Jammy(유니버스) 및 기타 Linux 배포판에 패키지된 유사한 명령 입니다 .

doasusersudoer가 아닌 사용자( )를 추가하여 /etc/doas.conf루트 액세스 권한을 부여할 수 있습니다. 상세 설명데비안 위키.

질문:

그 사람은 doasuser어떤 그룹에도 속해 있지 않습니다. 루트 액세스 권한을 부여하면 이 정보는 (권한 없는 사용자로 간주) 동기화 doasuser되지 않습니다 . 바이너리, PAM 구성 파일 및 .sudodoas/etc/doas.conf

그 외에는 /etc/doas.conf수퍼유저가 권한을 찾을 수 없습니다 doasuser.

권한을 확인하는 명령줄이 있나요 doasuser?

답변1

doas나열 명령이 제공되지 않았습니다.모두특정 사용자에게 권한을 부여합니다. 현재 사용자가 특정 명령을 허용하는지 확인하는 것뿐입니다.

doas -C /etc/doas.conf some command

/etc/doas.conf에서는 의 설정에 따라 현재 사용자의 실행이 허용되는지 여부 some command(및 실행하려면 사용자에게 비밀번호를 입력하라는 메시지가 표시되는지 여부)를 알려줍니다 .

"수퍼유저" 관점에서 이는 doasuserID로 전환한 다음 doas -C위와 같이 실행하여 권한을 확인해야 함을 의미합니다.

sudo및 별도의 도구이므로 doas구성을 이해하지 못하는 것은 놀라운 일이 아닙니다(그 반대의 경우도 마찬가지). 특정 시스템에서는 실제로 하나만 사용해야 합니다.sudodoas

답변2

내가 질문을 이해하는 한, doas다음과 같은 프로그램이 있습니다 sudo. 사용자에게 루트 권한이 있는지 확인하는 데 사용할 수 있는 간단한 명령은 다음과 같습니다(셸 스크립트에서).

if [ "$(id -u)" != "0" ]; then
    # the user is not root
fi

위의 동일한 명령을 sudo, 또는 와 함께 사용할 수 있습니다 doas.

설명하다: id실제 유효한 사용자 및 그룹 ID를 인쇄하는 데 사용되는 명령입니다. 특히 id -u유효한 사용자 ID만 인쇄됩니다. 사용자에게 루트 권한이 있는 경우 유효 ID는 입니다 0.

관련 정보