2010-04-05 48 views

回答

1

跟踪它。我不是很熟悉Linux上的追踪工具,但在Solaris上我会做下列操作之一:

# truss -p `pgrep sshd` -f -t open 

这些标志使其连接到sshd的过程中,也追踪子进程,并且只跟踪打开系统调用。只需在该小狗正在运行时ssh进入,并且应该打开它打开的每个文件的名称,因为这是开放系统调用的参数之一。

在linux上我相信你会使用strace,我确信它有自己的标志这些东西。

有一个很好的机会,你需要超级用户权限来做到这一点。如果你没有它,并想要一个不需要它的解决方案,你需要一些其他的技术。

+0

'strace -p \'pidof sshd \'-f -e open'非常相似。 – ephemient 2010-04-06 14:42:47

+0

@ephemient:非常好,谢谢 – janks 2010-04-06 14:58:09

0

我不认为如果你的管理员(root)不希望你能找到这个。 但有一件事情是有保证的,你登录的那一刻,你的登录脚本一般会在bash下执行.bash_profile,在大多数其他shell下(在你的主目录下)执行.profile。同样,您的管理员可以更改在登录时运行的内容。

2

你可以试试这个,如果你的远程登录shell是bash

$ ssh [email protected] /bin/bash -xlic exit 

,你就会得到这样的serverfault.com这个

+ for i in '/etc/profile.d/*.sh' 
+ '[' -r /etc/profile.d/00functions.sh ']' 
+ . /etc/profile.d/00functions.sh 
+ for i in '/etc/profile.d/*.sh' 
+ '[' -r /etc/profile.d/aliases.sh ']' 
+ . /etc/profile.d/aliases.sh 
++ : 
++ alias 'l=ls -l' 
++ alias 'lc=ls -c' 
++ alias pg=less 
++ alias 'la=ls -la' 
+ for i in '/etc/profile.d/*.sh' 
+ '[' -r /etc/profile.d/colorls.sh ']' 
+ . /etc/profile.d/colorls.sh 
++ alias 'll=ls -l' 
+0

'ssh -t' *可能会有所作为,这取决于这些rc文件中的内容。 – ephemient 2010-04-06 14:43:48