sudo作为具有sudo权限的用户?

爱丽丝有sudo权利。 鲍勃不(这是不可更改的),但知道密码给爱丽丝的帐户。

如果Bob想要执行pipe理命令,他必须:

  1. su alice
  2. 填写爱丽丝的密码su
  3. sudo whoami
  4. 填写Alice的sudo密码
  5. 命令被执行超级用户权限

为了缩短这个,我使用: su -m alice -c 'sudo whoami'

不过,我想用常规的sudo命令来build立一个别名命令来代替这个单调乏味的命令。

所以我做了这个: alias sudo="su -m alice -c 'sudo $@'"

2注意事项:

  • 它不起作用
  • 它总是要求Alice的su密码,它记得的sudo密码

我怎样才能做得更好?

谢谢!

这取决于sudoersconfiguration。 如果“Defaults requiretty”被设置,这个方法将不能工作。

 suds () { ARGS="$@" /bin/su -m alice -c "/usr/bin/sudo TERM=xterm $ARGS" } 

对此有几点意见

  1. 它会一直要求使用密码来validationsu。
  2. 当一个variables用单引号偏移时,它通常不会被扩展。
  3. 我倾向于使用函数而不是别名,它们允许我为转换添加更多的逻辑。
  4. 从安全angular度来看,这是一个坏主意。 确保在实施前不违反本地政策。

里克