我在 bash 脚本上有一个问题,它是: - 在系统启动或按需时由“root”执行 - 运行具有“stefano”权限的脚本 - 如果由“root”或“/”触发,则重定向日志文件上的输出dev/stdout”如果由“stefano”触发:
#!/bin/bash
[ "$1" == "log" ] && log="$2" || log="/dev/stdout"
if [ "`/usr/bin/whoami`" != "stefano" ]; then
echo "You are not allowed"
exit 9
fi
runuser -s /bin/bash stefano -c "echo I am Stefano >> $log"
在这种情况下,我得到一个bash: /dev/stdout: Permission denied
如果命令由 root 触发,为什么用户“stefano”不能在 /dev/stdout 上写入?
显然作为stefano> echo "I am Stefano" >> /dev/stdout
没有得到任何错误。
在此先感谢您的帮助!Stefano,米兰,意大利