在" sudo -i"之后切换回以前的用户使用Bash

时间:2017-05-18 13:16:59

标签: linux bash root sudo sudoers

我想通过运行脚本然后继续安装将超级用户添加到/ etc / sudoers。因此,我需要在添加用户后从root用户切换回原始用户。这是我得到的:

...
current_user=$(whoami)
sudo -i
sudo echo "www-data ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
sudo su $current_user 
...

不幸的是,最后一行不起作用,因为$ current_user由于某种原因为空。任何关于可能出现问题的指导都将受到赞赏。

最佳,

1 个答案:

答案 0 :(得分:4)

sudo -i用于交互式使用,以root身份运行简单命令,只需在其前面添加sudo即可。在这种情况下,由于我们要管道到需要提升权限的文件,我们应该将shell作为sudo运行。问题中的命令可以写成:

...
sudo bash -c 'echo "www-data ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers'
...
相关问题