내가 sudoer인지 어떻게 알 수 있습니까?


32

내가 sudoer가 아닌 경우 Linux 시스템은 어떻게 작동합니까? sudo를 사용하려고하면 어떻게됩니까?

server:/tmp>$ sudo cal
[sudo] password for user:
Sorry, try again.

비밀번호를 모르거나 sudoer가 아닌 것을 의미합니까? (다른 기계 시스템에서 내가 sudoer가 아니며 사건이보고된다고 인쇄했습니다.)


다음 중 하나보다 나은 답변 : superuser.com/questions/553932/…
barnhillec

답변:


40

특정 사용자가 sudo를 액세스를 가지고 여부를 알고, 우리가 사용할 수 -l-U함께 옵션을 제공합니다.

예를 들어

사용자에게 sudo 액세스 권한이 있으면 해당 특정 사용자에 대한 sudo 액세스 레벨을 인쇄합니다.

   $ sudo -l -U pradeep
     User pradeep may run the following commands on this host:
     (ALL : ALL) ALL

사용자에게 sudo 액세스 권한이 없으면 localhost에서 sudo를 실행할 수 없다는 메시지가 표시됩니다.

   $ sudo -l -U pradeep.c
     User pradeep.c is not allowed to run sudo on localhost.

4
이것은 나를 위해 작동하지 않습니다. 정보를 제공하는 대신 비밀번호를 다시 묻습니다 server:/home/drasto>$ sudo -l -U drasto [sudo] password for drasto:. 해당 서버에 도움이된다면 Red Hat 배포판이 있습니다
Rasto

9

-l플래그를 사용 하여 권한을 나열 할 수 있습니다.

-l[l] [command]
   If no command is specified, the -l (list) option will list the allowed (and forbidden)
   commands for the invoking user (or the user specified by the -U option) on the current
   host.  If a command is specified and is permitted by sudoers, the fully-qualified path
   to the command is displayed along with any command line arguments.  If command is
   specified but not allowed, sudo will exit with a status value of 1.  If the -l option
   is specified with an l argument (i.e. -ll), or if -l is specified multiple times, a
   longer list format is used.

파일에 없으면 다른 시스템에서 본 "sudoers 파일에 없음"오류가 표시됩니다.


2
이것은 또한 나를 위해 작동하지 않습니다. 비밀번호를 묻습니다.server:/home/drasto>$ sudo -l [sudo] password for drasto:
Rasto

1
비밀번호 입력
Kevin

1
@Kevin @Michael 내 비밀번호가 작동하지 않습니다. 해당 서버의 비밀번호는 하나만 알고 있으며 이는 서버에 로그인 할 때 사용하는 비밀번호입니다. sudo 암호를 묻는 메시지가 표시되면 작동하지 않습니다 (약 100 번, capslock, numlock 등을 시도했습니다). 그러나 전체적인 생각은 의미가 없습니다! sudo 권한이 있는지 알고 싶지만 sudo 권한이 필요합니까?! 실행하려면 sudo -lsudo 비밀번호가 필요합니까? 그래서 내가 루트인지 알기 위해 루트 여야합니까?!
Rasto

1
@drasto 청구서에 따르면 귀하의 로그인 비밀번호를 sudo찾고 있습니다. 따라서 시도했지만 작동하지 않으면 sudo가 끔찍하게 잘못 구성되었거나 올바른 파일을 보거나 읽을 수없는 일종의 감옥에 있습니다. 어느 쪽이든, 실제로 sudo 권한이 없습니다.
Kevin

1
@Kevin 그렇다면 아마 그 감옥에있을 겁니다. 실제로 나는 그 기계에 대한 sudo 권한이 없어야한다고 생각합니다. 그래서 처음에 sudo 암호를 물었을 때 놀랐습니다. 어쨌든 그것은 내가 쓴 것과 같습니다 : 내 로그인 암호가 작동하지 않습니다.
Rasto

-1

다음 명령을 사용하여 sudo 그룹에 있는지 확인할 수 있습니다

groups

쉘 스크립트에서 이것을 사용할 수 있습니다 :

if groups | grep "\<sudo\>" &> /dev/null; then
   echo yes
else
   echo no
fi

1
그룹이 될 수있다 sudo, admin, wheel특정 규칙을 통해, 완전히 다른 사람이나 뭐, 심지어 그룹의 구성원으로, 개별 사용자가 어쩌면 거부 sudo를 액세스 (또는 그 반대).
muru

이것은 내 목적을 위해 너무 많은 잘못된 부정을 가지고 있습니다 (강화 검증). 케빈의 대답은 더 명확합니다.
StockB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.