博客
关于我
【SOLVED】Linux使用sudo到出现输入密码提示延迟时间长
阅读量:417 次
发布时间:2019-03-06

本文共 961 字,大约阅读时间需要 3 分钟。

问题

使用任意发行版,如Fedora、Debian等,/etc/sudoers 包含的用户执行 sudo 命令,到输入密码提示中间延迟时间过长。

解决办法

查看当前 hostname,如PS提示符有提示也可。顺便看了下 /etc/hosts

sudoroot 权限编辑 /etc/hosts,将你本机的 hostname 名称追加到 localhost 后,保存退出即可。

sudo vim /etc/hosts

至此,仅 sudo 卡而 su 不卡的问题解决。

分析原因

sudo 命令执行时需要找到执行入口,默认是以hostname作为执行入口的地址。当 /etc/hosts/etc/resolv.conf 中不含主机名映射时,就会等待直到超时,时间可能有15~20秒之间。

出现这种情况有两种可能:

  • 安装系统时变更了主机名
  • 自行修改 /etc/hosts 去除了主机名映射

对于第一种情况,是安装系统工具的bug,未将新 hostname 映射变更到 /etc/hosts 中;

对于第二种情况,多出现于重度洁癖Linux用户,比如我。 😄 我是之前看着后边好长一串,好像没啥用,只保留了 localhost,所以才出现这个问题的。

推荐的方式

如果需要修改 hostname,推荐使用 hostnamectl 命令进行设置,命令设置完主机名时,会同步变更 /etc/hosts 的旧主机名为新主机名。

最后

吐个槽,原来不只是中文圈不求甚解,我出现这个问题时,查了好多论坛、博客,都只给出各种可能、猜测,以及直接给出类似 我也不知道为什么好使,但是我查了谷歌大家都说他好使,我也的确解决了 这种答案……

最后根据其他关键字找到了真正的答案,即 为什么 sudo 需要使用网络?

简言之,sudo 只是一个命令,支持访问别的主机执行 sudo 命令,即 IP 不能写死为 127.0.0.1 。对于本地多网卡的情况,不容易找出当前的主机IP是多少(多网卡多IP),所以使用主机访问 lookback 网卡(网卡名为lo,IP为127.0.0.1)与当前主机沟通。如果没设置这个映射,只能等待DNS超时,访问 127.0.0.1 保底。

我也是查了n多答案才到这里……这该死的求知欲,洗洗睡……

引用:

转载地址:http://jaauz.baihongyu.com/

你可能感兴趣的文章
【单片机开发】智能小车工程(经验总结)
查看>>
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
查看>>
C++&&STL
查看>>
微信js-sdk使用简述(分享,扫码功能等)
查看>>
c++中ifstream及ofstream超详细说明
查看>>
web项目配置
查看>>
基于单片机简易信号误差分析设计-全套资料
查看>>
基于单片机简易脉搏测量仪系统设计-毕设课设资料
查看>>
Javascript中String支持使用正则表达式的四种方法
查看>>
Servlet2.5的增删改查功能分析与实现------删除功能(四)
查看>>
spring启动错误:Could not resolve placeholder
查看>>
invalid byte sequence for encoding
查看>>
技术美术面试问题整理
查看>>
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
查看>>
Codeforces Round #305 (Div. 1) B. Mike and Feet(单调栈)
查看>>
js求阶乘
查看>>
Making the grade 和Sonya and Problem Wihtout a Legend
查看>>
Nginx---惊群
查看>>
python-day3 for语句完整使用
查看>>
基于LabVIEW的入门指南
查看>>