受oneStack脚本启发:
原来是可以轻松实现强制脚本使用某用户权限执行的。
脚本内容如下:
#!/bin/bash
# filename: test.sh
# email: linux@linuxidc.com
# date: 2013-09-02
user="root"
if [ `whoami` != "${user}" ]; then
exec su - "${user}" -c "sh ${PWD}/test.sh"
fi
echo "以下为脚本主体内容"
id
echo "执行id命令结束"
调试信息如下:
linuxied.com @localhost:~$ sh -x test.sh
+ user=root
+ whoami
+ [ xiaoyuwang != root ]
+ exec su - root -c sh /home/xiaoyuwang/test.sh
Password:
以下为脚本主体内容
uid=0(root) gid=0(root) groups=0(root)
执行id命令结束
推荐阅读: