sudo -l与root不同

时间:2016-06-16 21:24:56

标签: command sudo sudoers

大家都在尝试列出用户可以作为root访问的所有sudo命令,显然我们可以在sudoers文件中看到,但是如果有很多用户/命令别名就很难

我正在尝试以root身份为其他用户执行sudo -l <​​/ p>

我尝试过使用-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

请告诉我如何解决这个问题

1 个答案:

答案 0 :(得分: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...