quark-zju/ljudge

如果修改源代码使得root用户可以执行,会有安全问题吗

YuTaoFighting opened this issue · 1 comments

如果修改源代码使得root用户可以执行,会有安全问题吗

ljudge 不执行用户代码,大概不会有什么问题。lrun 会执行用户代码,不应该使用 root 来运行。如果用 root 来运行 lrun,需要使用 lrun --uid uid --gid gid 让其在执行用户代码之前切换到非特权 uid。如果使用了诸如 --uid 0 来运行用户代码,它会有额外的比如可以 mount 文件系统的特权,很可能有安全问题。

正常安装的情况下,lrun 设置有 setgid,在 lrun 用户组的用户都可以运行 lrun。如果无法运行,检查一下当前用户是否在 lrun 用户组,并且 lrun 是否有 setgid。