我有一个小脚本,它使用 mkstemp 创建 tmp 文件。我的脚本是使用 root 用户创建的,但是如果我以 root 以外的其他用户身份登录,那么我的脚本会运行,但 msktemp 失败并显示权限被拒绝
sh: /tmp/tmpFile-khB5hH: 权限被拒绝
在 RHEL 7 中执行同样的操作,并且没有权限被拒绝错误,RHEL 8 中发生了更改。看起来 RHEL 8 正在检查登录用户与有效用户。
我在 RHEL 7.5 和 RHEL 8.4 中对此进行了测试。
如果有人知道 RHEL 8 中的更改会导致权限问题,请提出建议。谢谢
答案1
我已经通过 seteguid(getuid()) 在我的脚本中设置了登录用户,尽管这很危险,但这项工作仍然有效。这使得登录用户始终有效,并且在 RHEL8 上不会失败。