在Glassfish的应用服务器提供了脚本来管理应用程序服务器,并启动和停止他们,我想从运行此脚本限制root用户。原因是一些关键开发者忘记以非特权用户身份管理服务器,如果他们以root用户身份重新启动应用服务器,则应用服务器必须由root用户运行[*]。
避免授予 root 访问权限并不是一种选择,开发人员忘记了,因为他们习惯于在本地计算机上执行此操作。我希望asadmin
脚本要么更改为以非特权用户身份运行,要么在每次由 root 运行脚本时选择显示错误消息。
使用 Bash shell。
[*]:我试图修复文件的权限,但即使我已经找到了很多 root 拥有的文件并对其进行 chmod,应用程序遇到了奇怪的错误,我必须再次以 root 身份运行。
我有一个辅助功能:
function error_exit
{
/opt/aws/bin/cfn-signal ...
exit 1
}
Run Code Online (Sandbox Code Playgroud)
此辅助函数用于发出错误信号。下面是一个使用示例:
/opt/aws/bin/cfn-init -s .. || error_exit 'Failed to run cfn-init'
Run Code Online (Sandbox Code Playgroud)
该cfn-init
命令采用了许多与问题无关的参数。当命令向错误输出返回非空值和可能的错误消息时,我想获取错误消息并将其error_exit
作为参数包含在方法中。这可能吗?如果没有,您将如何在 bash 中实现一个帮助方法来获取源错误消息?