繁体   English   中英

查看在启动时运行什么文件(Linux)

[英]Seeing what files are run at startup (linux)

在ssh进入计算机后,如何检查运行了哪些启动脚本?

如果您的远程登录外壳是bash,则可以尝试此操作

$ ssh user@ssh.example.com /bin/bash -xlic exit

你会得到这样的东西

+ 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'

追踪它。 我对Linux上的跟踪工具不是很熟悉,但是在Solaris上,我可以执行以下操作之一:

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

这些标志使它附加到sshd进程,还跟踪子进程,并且仅跟踪打开的系统调用。 只要在那只小狗运行时ssh入,并且应该转储它打开的每个文件的名称,因为那是open系统调用的参数之一。

在Linux上,我相信您会使用strace,我确信这些都具有自己的标记。

您很有可能需要超级用户权限才能执行此操作。 如果您没有它,并且想要一个不需要它的解决方案,那么您将需要其他技术。

如果您的管理员(root)不想您这样做,我认为您无法找到答案。 但是可以保证的是,登录后执行登录脚本的时间通常是.bash_profile下的.bash_profile和大多数其他shell(都在主目录下)下的.profile 同样,您的管理员可以更改登录时要运行的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM