从ubuntu 12.04升级后,我遇到了一个奇怪的ping问题.到14.04.
我无法使用主机名ping,但使用ip它可以正常运行.我没有其他服务或程序的任何其他DNS问题.
我作为普通用户工作,但不是root用户.
作为root用户主机和dig可以将dnsname解析为ip.
busybox ping也适用于主机名.
我无法使用主机名ping,但使用ip它可以正常运行.我没有其他服务或程序的任何其他DNS问题.
我作为普通用户工作,但不是root用户.
作为root用户主机和dig可以将dnsname解析为ip.
busybox ping也适用于主机名.
这是错误:
root@myhost:~# ping ubuntu.com ping: unknown host ubuntu.com
这有效:
root@myhost:~# host ubuntu.com ubuntu.com has address 91.189.94.40 ubuntu.com mail is handled by 10 mx.canonical.com. root@myhost:~# ping 91.189.94.40 -c 1 PING 91.189.94.40 (91.189.94.40) 56(84) bytes of data. 64 bytes from 91.189.94.40: icmp_seq=1 ttl=53 time=16.1 ms root@myhost:~# busybox ping ubuntu.com -c 1 PING ubuntu.com (91.189.94.40): 56 data bytes 64 bytes from 91.189.94.40: seq=0 ttl=53 time=16.189 ms user@myhost:~$ping ubuntu.com -c 1 PING ubuntu.com (91.189.94.40) 56(84) bytes of data. 64 bytes from ovinnik.canonical.com (91.189.94.40): icmp_seq=1 ttl=53 time=16.1 ms
文件/etc/nsswitch.conf
root@myhost:~# cat /etc/nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed,try: # `info libc "Name Service Switch"' for information about this file. passwd: compat group: compat shadow: compat hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
一些额外的信息.谢谢strace tip. appamor不活跃.
strace:打开/etc/resolv.conf似乎是个问题,但是根本不行
root@myhost:~# strace -e open ping -c 1 ubuntu.com open("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = 3 open("/lib/x86_64-linux-gnu/libcap.so.2",O_RDONLY|O_CLOEXEC) = 3 open("/lib/x86_64-linux-gnu/libc.so.6",O_RDONLY|O_CLOEXEC) = 3 open("/etc/resolv.conf",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/etc/nsswitch.conf",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64-linux-gnu/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64-linux-gnu/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/lib/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/tls/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/tls/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/x86_64/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) open("/usr/lib/libnss_dns.so.2",O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) ping: unknown host ubuntu.com +++ exited with 2 +++
getent:
root @ myhost:〜#getent hosts ubuntu.com
91.189.94.40 ubuntu.com
getcap:
root@myhost:~# getcap -rv /bin/ping /bin/ping
权限:
root@myhost:/etc# ls -lha /etc/resolv.conf lrwxrwxrwx 1 root root 29 Jan 9 11:11 /etc/resolv.conf -> ../run/resolvconf/resolv.conf root@myhost:/etc# ls -lha /run/resolvconf/resolv.conf -rw-r--r-- 1 root root 237 Jan 10 08:52 /run/resolvconf/resolv.conf root@myhost:/etc# ls -lha /etc/hosts -rw-r--r-- 1 root root 485 Jan 8 09:15 /etc/hosts root@myhost:/etc# ls -lha /etc/nsswitch.conf -rw-r--r-- 1 root root 513 Jan 8 09:08 /etc/nsswitch.conf
resolv.conf :(与另一台主机相同,是否有效)
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 213.133.98.98 nameserver 213.133.99.99 nameserver 213.133.100.100
strace输出显示,在ping丢弃权限的位置,它会在每次打开的调用中开始获取EACCES错误.这表明权限问题是根本原因.
由于/ etc,/ lib和/ usr之间的路径都受到问题的影响,因此要检查的最明显的事情是/上的权限.这是他们在健康的Ubuntu 14.04系统上的样子:
$ls -ld / drwxr-xr-x 23 root root 4096 Jan 7 16:55 /
在您的情况下,所有者缺少x权限
drw-r-xr-x 26 root root 4096 Dec 30 23:09 /
此特定情况将导致特定情况下的问题,其中进程已删除访问文件系统中的任何文件但保留用户标识0的功能.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。