bash - 即使 setuid 位打开,euid 也不会改变
问题描述
我有这个简单的 bash 脚本,文件名为myscipt.sh
echo uid: $UID, euid: $EUID
脚本的文件权限是
-rwsr-xr-x 1 john john 203 Sep 24 10:02 myscript.sh*
(请注意 setuid 位已打开)
我希望文件的 euid 在执行时更改为 john 的 uid。如果文件的所有者是 john,文件的 euid 不应该更改为 john 的 uid 吗?但是当我运行脚本时sudo ./myscript.sh
,我得到
uid: 0, euid: 0
为什么是这样?以及如何解决它?
解决方案
推荐阅读
- java - log4j 1.x 中错误方法的区别
- python - Tkinter,更改按钮及其命令
- c - 卡在一个 for 循环中,用 C 语言将值输入到一个数组中
- java - 使用 Cucumber 为每个正在运行的线程创建一个 TestNG 运行器类
- javascript - 如何在 restify 7.x 中使用自定义错误选项创建自定义错误?
- prolog - 序言中的这个或/和那个事实
- angular - 角路由器链接活动嵌套菜单
- react-native - Panresponder 可以继承 Touchable 触摸事件吗?
- javascript - 为什么传单地图没有在反应应用程序上呈现
- php - XML 中的 Woocommerce Live PHP 订单提要