在shell脚本上允许setuid
该setuid权限位告诉Linux与业主,而不是执行者的有效用户ID运行程序: > cat setuid-test.c #include <stdio.h> #include <unistd.h> int main(int argc, char** argv) { printf("%d", geteuid()); return 0; } > gcc -o setuid-test setuid-test.c > ./setuid-test 1000 > sudo chown nobody ./setuid-test; sudo chmod +s ./setuid-test > ./setuid-test 65534 但是,这仅适用于可执行文件。Shell脚本忽略setuid位: > cat setuid-test2 #!/bin/bash id -u > ./setuid-test2 1000 > …