环境
cqq@kali:~$ uname -a
Linux kali 4.16.0-kali2-amd64 #1 SMP Debian 4.16.16-2kali1 (2018-06-25) x86_64 GNU/Linux
情况
最近发现使用sudo命令的时候变得比平常慢了很多倍,然后网上搜原因,发现是修改了
/etc/hosts
的缘故(可能之前将这个文件里面的两行注释掉了)。于是抓包看看(由于这里是ssh连接到虚拟机的,所以需要过滤掉ssh协议的流量和22号端口的TCP流量)。原来是因为没有将本机的名字加到
etc/hosts
中,导致执行
sudo
命令的时候,会读
/etc/sudoers
文件,向DNS服务器发起了请求并等待响应,耽误了时间。
通过上面的动图可以看出仅仅使用sudo命令echo一下字符串,就可以这么费时间。
解决方式是将
hostname
命令的结果加到
/etc/hosts
的
127.0.0.1
这一行。
附录
fedora 10使用
sudo
的时候卡住大概30s,而且无法通过Control+C终止。
https://bugzilla.redhat.com/show_bug.cgi?id=479464
我也搞不懂为什么一个只在本地环境操作的命令
sudo
需要依赖网络环境。
参考
https://www.jianshu.com/p/3344ee1b9ba0
https://superuser.com/questions/429790/sudo-command-trying-to-search-for-hostname