Fastcgi 包装器不适用于 root 权限
Fastcgi wrapper not working with root permisions
我在设置 fastcgi 包装器以 root 身份执行来自 Web 的命令时遇到问题
我只更改了设置
FCGI_USER="root"
FCGI_GROUP="root"
[....] Starting FastCGI wrapper: fcgiwrapspawn-fcgi: I will not set uid to 0
失败!
我想使用 wiringPi 通过 web 使用 gpio 进行操作,但是 wiringPisetup 需要 root 权限
有什么想法吗?
spawn-fcgi (https://github.com/lighttpd/spawn-fcgi) 是问题所在。
将此补丁应用于 src/spawn-fcgi.c 并重新编译 spawn-fcgi。在我的例子中,我想 运行 nmap -sS 这需要 root。当开发人员决定让 运行ning 无法成为 root 用户时,这真的让我很烦恼,因为这只是在浪费每个人的时间。总是添加一个标志,如果你愿意,可以称之为 --super-insecure 但至少把它放在那里!
diff --git a/src/spawn-fcgi.c b/src/spawn-fcgi.c
index 2f320f7..27176d5 100644
--- a/src/spawn-fcgi.c
+++ b/src/spawn-fcgi.c
@@ -385,10 +385,10 @@ static int find_user_group(const char *user, const char *group, uid_t *uid, gid_
}
my_uid = my_pwd->pw_uid;
- if (my_uid == 0) {
+ /*if (my_uid == 0) {
fprintf(stderr, "spawn-fcgi: I will not set uid to 0\n");
return -1;
- }
+ }*/
if (username) *username = user;
} else {
@@ -407,18 +407,18 @@ static int find_user_group(const char *user, const char *group, uid_t *uid, gid_
}
my_gid = my_grp->gr_gid;
- if (my_gid == 0) {
+ /*if (my_gid == 0) {
fprintf(stderr, "spawn-fcgi: I will not set gid to 0\n");
return -1;
- }
+ }*/
}
} else if (my_pwd) {
my_gid = my_pwd->pw_gid;
- if (my_gid == 0) {
+ /*if (my_gid == 0) {
fprintf(stderr, "spawn-fcgi: I will not set gid to 0\n");
return -1;
- }
+ }*/
}
*uid = my_uid;
我在设置 fastcgi 包装器以 root 身份执行来自 Web 的命令时遇到问题
我只更改了设置
FCGI_USER="root"
FCGI_GROUP="root"
[....] Starting FastCGI wrapper: fcgiwrapspawn-fcgi: I will not set uid to 0
失败!
我想使用 wiringPi 通过 web 使用 gpio 进行操作,但是 wiringPisetup 需要 root 权限
有什么想法吗?
spawn-fcgi (https://github.com/lighttpd/spawn-fcgi) 是问题所在。
将此补丁应用于 src/spawn-fcgi.c 并重新编译 spawn-fcgi。在我的例子中,我想 运行 nmap -sS 这需要 root。当开发人员决定让 运行ning 无法成为 root 用户时,这真的让我很烦恼,因为这只是在浪费每个人的时间。总是添加一个标志,如果你愿意,可以称之为 --super-insecure 但至少把它放在那里!
diff --git a/src/spawn-fcgi.c b/src/spawn-fcgi.c
index 2f320f7..27176d5 100644
--- a/src/spawn-fcgi.c
+++ b/src/spawn-fcgi.c
@@ -385,10 +385,10 @@ static int find_user_group(const char *user, const char *group, uid_t *uid, gid_
}
my_uid = my_pwd->pw_uid;
- if (my_uid == 0) {
+ /*if (my_uid == 0) {
fprintf(stderr, "spawn-fcgi: I will not set uid to 0\n");
return -1;
- }
+ }*/
if (username) *username = user;
} else {
@@ -407,18 +407,18 @@ static int find_user_group(const char *user, const char *group, uid_t *uid, gid_
}
my_gid = my_grp->gr_gid;
- if (my_gid == 0) {
+ /*if (my_gid == 0) {
fprintf(stderr, "spawn-fcgi: I will not set gid to 0\n");
return -1;
- }
+ }*/
}
} else if (my_pwd) {
my_gid = my_pwd->pw_gid;
- if (my_gid == 0) {
+ /*if (my_gid == 0) {
fprintf(stderr, "spawn-fcgi: I will not set gid to 0\n");
return -1;
- }
+ }*/
}
*uid = my_uid;