如何在shell脚本中切换当前用户?

时间:2012-06-29 05:45:30

标签: shell unix passwords

我必须编写一个shell脚本来在unix上运行一些命令。我必须切换几个用户。 如何在我的脚本中提供密码?

注意:我不是root用户。此外,在这种情况下安全性不是问题,所以我可以在我的脚本中写密码。

1 个答案:

答案 0 :(得分:2)

由于您没有root访问权限,并且假设您要运行的程序不是setuid,您有两个基本选择:

  1. expect script写入驱动器su - <username>并将命令作为期望的子进程运行。
  2. 让具有超级用户权限的人向您提供所需命令和用户sudo access,然后使用sudo -u <username> <command>运行命令。
  3. 如果您无法获得管理支持,则选项1最佳,但选项2更灵活,更容易从Unix shell编写脚本。