快速判断配置文件的路径

查找php配置文件

strace -eopen php 2>&1 | grep php.ini

关于 2>&1 的意思,请参考:https://blog.csdn.net/huangfei711/article/details/51059310

open("/usr/bin/php.ini", O_RDONLY)      = -1 ENOENT (No such file or directory) open("/etc/php/7.0/cli/php.ini", O_RDONLY) = 3 
查找nginx配置文件

strace -eopen nginx 2>&1 | grep nginx.conf

open("/etc/nginx/nginx.conf", O_RDONLY) = 4 open("/etc/nginx/conf.d", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 5 
查找mysql配置文件

strace -eopen mysql 2>&1 | grep my.cnf

open("/etc/mysql/my.cnf", O_RDONLY)     = 3 
-c 统计每一系统调用的所执行的时间,次数和出错的次数等.  -d 输出strace关于标准错误的调试信息.  -f 跟踪由fork调用所产生的子进程.  -ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号.  -F 尝试跟踪vfork调用.在-f时,vfork不被跟踪.  -h 输出简要的帮助信息.  -i 输出系统调用的入口指针.  -q 禁止输出关于脱离的消息.  -r 打印出相对时间关于,,每一个系统调用.  -t 在输出中的每一行前加上时间信息.  -tt 在输出中的每一行前加上时间信息,微秒级.  -ttt 微秒级输出,以秒了表示时间.  -T 显示每一调用所耗的时间.  -v 输出所有的系统调用.一些调用关于环境变量,状态,输入输出等调用由于使用频繁,默认不输出.  -V 输出strace的版本信息.  -x 以十六进制形式输出非标准字符串  -xx 所有字符串以十六进制形式输出.  -a column 设置返回值的输出位置.默认 为40.  -e expr 指定一个表达式,用来控制如何跟踪.格式如下:  [qualifier=][!]value1[,value2]...  qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用来限定的符号或数字.默认的 qualifier是 trace.感叹号是否定符号.例如:  -eopen等价于 -e trace=open,表示只跟踪open调用.而-etrace!=open表示跟踪除了open以外的其他调用.有两个特殊的符号 all 和 none.  注意有些shell使用!来执行历史记录里的命令,所以要使用//.  -e trace=set  只跟踪指定的系统 调用.例如:-e trace=open,close,rean,write表示只跟踪这四个系统调用.默认的为set=all.  -e trace=file 只跟踪有关文件操作的系统调用. -e trace=process 只跟踪有关进程控制的系统调用.  -e trace=network 跟踪与网络有关的所有系统调用.  -e strace=signal  跟踪所有与系统信号有关的 系统调用  -e trace=ipc  跟踪所有与进程通讯有关的系统调用  -e abbrev=set  设定 strace输出的系统调用的结果集.-v 等与 abbrev=none.默认为abbrev=all.  -e raw=set  将指 定的系统调用的参数以十六进制显示.  -e signal=set  指定跟踪的系统信号.默认为all.如 signal=!SIGIO(或者signal=!io),表示不跟踪SIGIO信号.  -e read=set  输出从指定文件中读出 的数据.例如:  -e read=3,5 -e write=set 输出写入到指定文件中的数据. -o filename 将strace的输出写入文件filename -p pid 跟踪指定的进程pid. -s strsize 指定输出的字符串的最大长度.默认为32.文件名一直全部输出. -u username 以username 的UID和GID执行被跟踪的命令 

实战

由于没有现成的故障案例,我决定把我的fpm服务停掉,然后跟踪nginx。

strace -p 787

epoll_wait(19, [{EPOLLIN|EPOLLOUT, {u32=4195924657, u64=94733994605233}}], 512, 6274) = 1 read(3, "/27/3/3/6/327/0/0/0/0/0/0/0/5e/234I/325Z/6eR/203/210l/302/263/270/34/353/21/25/362"..., 33093) = 1756 read(3, 0x5628fa1da9d3, 33093)          = -1 EAGAIN (Resource temporarily unavailable) read(3, 0x5628fa1da9d3, 33093)          = -1 EAGAIN (Resource temporarily unavailable) epoll_wait(19, [{EPOLLIN|EPOLLOUT, {u32=4195924657, u64=94733994605233}}], 512, 60000) = 1 read(3, "/27/3/3/0/227/0/0/0/0/0/0/0/6/277/247/5/36/257^/226/234/255+/275/376/225/262X/205/307/232/242"..., 33093) = 156 socket(PF_LOCAL, SOCK_STREAM, 0)        = 21 ioctl(21, FIONBIO, [1])                 = 0 epoll_ctl(19, EPOLL_CTL_ADD, 21, {EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, {u32=4195924192, u64=94733994604768}}) = 0 connect(21, {sa_family=AF_LOCAL, sun_path="/run/php/php7.0-fpm.sock"}, 110) = -1 ENOENT (No such file or directory) gettid()                                = 787 write(9, "2018/08/06 01:14:05 [crit] 787#7"..., 400) = 400 close(21)  

从这可以看到,nginx在收到请求的时候, 连接fpm 的时候,找不到文件,todo

我很好奇阿里云在我机器安装的监控都是干什么

strace -p 2345

Aug  6 01:51:29 jia-us sshd[2484]: Disconnected from 112.85.42.235 port 34072 [preauth] Aug  6 01:51:29 jia-us sshd[2484]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.85.42.235  user=root Aug  6 01:55:01 jia-us CRON[2490]: pam_unix(cron:session): session opened for user root by (uid=0) Aug  6 01:55:01 jia-us CRON[2490]: pam_unix(cron:session): session closed for user root Aug  6 01:55:37 jia-us sshd[2493]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=112.85.42.235  user=root Aug  6 01:55:38 jia-us sshd[2493]: Failed password for root from 112.85.42.235 port 24911 ssh2 Aug  6 01:55:43 jia-us sshd[2493]: message repeated 2 times: [ Failed password for root from 112.85.42.235 port 24911 ssh2] Aug  6 01:55:44 jia-us sshd[2493]: Received disconnect from 112.85.42.235 port 24911:11:  [preauth]  

原来有这么多无聊的傻吊干坏事,112.85.42.235 这个ip一直对我机器进行ssd 爆破,百度查了下这个ip,发现上了东北大学网络安全中心名单:http://antivirus.neu.edu.cn/scan/ssh.php

Tagged:

发表评论

电子邮件地址不会被公开。 必填项已用*标注