sudo -l для другого пользователя root

Привет всем, я пытаюсь перечислить все команды sudo, к которым пользователь имеет доступ как root, очевидно, мы можем видеть это в файле sudoers, но если есть много псевдонимов пользователей / команд, это становится сложно.

я пытаюсь сделать sudo -l для другого пользователя как root

я пробовал использовать опцию -u

sudo -u testuser -l 

выдает сообщение об использовании команды

sudo -u testuser sudo -l

запрашивает пароль testuser (мне не нужен запрос пароля, поскольку я делаю это как root)

su - testuser -c 'sudo -l' 

дает мне ошибку ниже

sudo: no tty present and no askpass program specified

пожалуйста, дайте мне знать, как это сделать


person vajravelu    schedule 16.06.2016    source источник


Ответы (1)


Согласно man sudo:

 -U user, --other-user=user
             Used in conjunction with the -l option to list the privileges
             for user instead of for the invoking user.  The security pol-
             icy may restrict listing other users' privileges.  The
             sudoers policy only allows root or a user with the ALL privi-
             lege on the current host to use this option.

вы используете -u, а это совсем другое:

 -u user, --user=user
             Run the command as a user other than the default target user
             (usually root ). The user may be either a user name or a
             numeric user ID (UID) prefixed with the '#' character etc...
person Marc B    schedule 16.06.2016