我将以下内容作为我的GCE启动脚本传递,但它始终以root用户身份登录,而从未以demo-user用户身份登录。我该如何解决?
let startupScript = `#!/bin/bash
su demo-user
WHO_AM_I=$(whoami)
echo WHO_AM_I: $WHO_AM_I &>> debug.txt
cd..`
答案 0 :(得分:0)
我认为它应该这样工作:
#! /bin/bash
sudo -u demo-user bash -c 'WHO_AM_I=$(whoami);
echo WHO_AM_I; $WHO_AM_I &>> debug.txt;'
使用“ sudo-u
”来指定用户,然后使用bash -c
和这些特定引号''
之间并由;
分隔的所有命令
例如:bash -c 'command1; command2;'
您可以尝试更简单的测试(对我有用),例如:
#! /bin/bash
sudo -u demo-user bash -c 'touch test.txt'
然后用ls -l /home/demo-test/text.txt
检查演示测试是新文件的所有者。