Как узнать, являюсь ли я sudoer?

Как работает система Linux, когда я не sudoer? Вот что произойдет, если я попытаюсь использовать sudo:

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

Возможно ли, что я просто не знаю свой пароль, или это означает, что я не sudoer? (На другой машинной системе напечатано, что я не судья, и об этом инциденте сообщается)

28 голосов | спросил drasto 13 +04002012-10-13T22:31:11+04:00312012bEurope/MoscowSat, 13 Oct 2012 22:31:11 +0400 2012, 22:31:11

3 ответа


35

Чтобы узнать, имеет ли конкретный пользователь доступ к sudo или нет, мы можем использовать -l и -U.

Например,

Если пользователь имеет доступ к sudo, он будет печатать уровень доступа sudo для этого конкретного пользователя.

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

Если у пользователя нет доступа к sudo, он будет печатать, что пользователю не разрешено запускать sudo на localhost.

   $ sudo -l -U pradeep.c
     User pradeep.c is not allowed to run sudo on localhost.
ответил pradeepchhetri 13 +04002012-10-13T22:56:02+04:00312012bEurope/MoscowSat, 13 Oct 2012 22:56:02 +0400 2012, 22:56:02
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», которую вы видели на другой машине.

ответил Kevin 13 +04002012-10-13T22:38:08+04:00312012bEurope/MoscowSat, 13 Oct 2012 22:38:08 +0400 2012, 22:38:08
-1

Вы можете проверить, находитесь ли вы в группе sudo, используя команду

groups

В сценарии оболочки вы можете использовать это:

if groups | grep "\<sudo\>" &> /dev/null; then
   echo yes
else
   echo no
fi
ответил Schlacki 6 MaramMon, 06 Mar 2017 11:38:35 +03002017-03-06T11:38:35+03:0011 2017, 11:38:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132