Shell无法识别别名命令

时间:2011-08-12 06:21:00

标签: php shell alias .profile

我试图追踪一个Wordpress网站如何被黑客入侵,我试图跟踪的一件事是“触摸”命令击中哪些文件以伪造last_modified日期(许多黑客做的事情是隐藏自己,并在这种情况下发生)。我创建了一个名为newtouch的脚本,它只是使用时间戳记录发送给它的所有参数,然后将别名触摸为newtouch。当我进入ssh时这很好用,但是当我尝试从php调用它时,它无法识别别名。我做了一些研究,并意识到这是因为php在不同的shell下运行:

$ php -r'echo shell_exec(“echo $ 0”);' SH

主目录中没有.profile,所以我创建了一个,但无论我放入什么内容,我都无法通过某种原因让shell识别它。为了测试,我尝试了一个名为touch2的简单别名,它简单地回应了单词test,并在.profile中尝试了以下所有内容,其中没有一个有效:

alias touch2='echo test'

alias touch2 'echo test'

touch2 () {
    echo test
}

无论我尝试哪种,我都会得到相同的结果:

$ sh
$ alias
$ touch2
sh: touch2: command not found

$ php -r 'echo shell_exec("alias");'
$ php -r 'echo shell_exec("touch2");'
sh: touch2: command not found

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

#!/path/to/bash

mv /path/to/touch /some/where/else
chmod -x /some/where/else/touch
chown root:root /some/where/else/touch
mv /path/to/new/touch /where/touch/was/before