我正在使用下面的程序,我已经使用了它(以根用户身份运行chown root XXX; chmod 4755 XXX),但是输出仍然是ruid 1000, euid 1000, suid 1000,这里的uid不应该是零吗?

#define _GNU_SOURCE
#include <stdio.h>
#include <unistd.h>

int main()
{
        uid_t ruid, euid, suid;
        if (! getresuid (&ruid, &euid, &suid))
                printf ("ruid %d, euid %d, suid %d\n", ruid, euid, suid);
        else
                perror ("getresuid");

        return 0;
}

LS-L输出:
-rwsr-xr-x 1 root root 9.7K May 1 11:36 test*

最佳答案

请检查mount命令输出,您的文件系统可以使用nosuid选项安装。
从芒特手册页
nosuid:不允许设置用户标识符或设置组标识符位
生效。

10-02 10:28