perl代码的值是:ex.pl
system("cat /etc/shadow");
我将上面的文件chown到root(chown root ex.pl)。 我的问题是,如果来自组的用户(例如:apache)执行上述perl文件,那么影子文件将对其进行处理? 提前致谢 。
答案 0 :(得分:2)
您应该自己尝试。要理解为什么它不起作用:
/etc/shadow
通常具有以下权限:
[cnicutar@fresh ~]$ ls -l /etc/shadow
-rw------- 1 root root 316 Jul 20 09:36 /etc/shadow
当您执行脚本时,谁拥有它并不重要(除非使用setuid ,否则无法用于脚本)。
有关的一件事是谁在执行它。所以apache
将执行脚本,它将被视为“其他人”:没有权限。
答案 1 :(得分:0)
不,因为perl代码(CGI脚本?)将使用apache用户的权限执行。但是,如果你有apache用户(或你的web服务器的用户或任何正在执行你的代码,如果它是一个守护进程)在sudo文件中,那么你可以做系统(“sudo cat / etc / shadow”);那会有用。