답변:
특정 사용자가 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.
server:/home/drasto>$ sudo -l -U drasto [sudo] password for drasto:
. 해당 서버에 도움이된다면 Red Hat 배포판이 있습니다
-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 파일에 없음"오류가 표시됩니다.
server:/home/drasto>$ sudo -l [sudo] password for drasto:
sudo -l
sudo 비밀번호가 필요합니까? 그래서 내가 루트인지 알기 위해 루트 여야합니까?!
sudo
찾고 있습니다. 따라서 시도했지만 작동하지 않으면 sudo가 끔찍하게 잘못 구성되었거나 올바른 파일을 보거나 읽을 수없는 일종의 감옥에 있습니다. 어느 쪽이든, 실제로 sudo 권한이 없습니다.
다음 명령을 사용하여 sudo 그룹에 있는지 확인할 수 있습니다
groups
쉘 스크립트에서 이것을 사용할 수 있습니다 :
if groups | grep "\<sudo\>" &> /dev/null; then
echo yes
else
echo no
fi
sudo
, admin
, wheel
특정 규칙을 통해, 완전히 다른 사람이나 뭐, 심지어 그룹의 구성원으로, 개별 사용자가 어쩌면 거부 sudo를 액세스 (또는 그 반대).