当前位置: 首页 > ops >正文

如何在银河麒麟桌面系统中启用 sudo 密码的星号反馈

引文

我们在银河麒麟桌面操作系统上使用 sudo 命令时,都遇到过这样的困扰:输入密码时光标一动不动,屏幕上没有任何提示(没有星号 *,也没有任何字符)?就像在黑暗中摸索钥匙孔一样,心里直打鼓:“密码到底输进去了没?输错了怎么办?”别担心!这不是你的系统坏了,而是银河麒麟(基于 Ubuntu/Debian)的默认安全设置。这种设计主要是为了防止旁观者通过你输入的“星号个数”来猜测密码长度,提升安全性。但对于日常使用来说,确实有点不方便。现在有个好消息:我们可以轻松地让密码输入时显示星号 ,找回那份熟悉的安心感!

小知识:银河麒麟桌面操作系统2303及其之前的版本sudo输入密码默认没有’*'输出,从2403版本之后sudo输入密码默认有星号输出。

方法一:临时开启星号显示(仅对当前终端有效)

1.打开终端: 在银河麒麟桌面上,按下 Ctrl + Alt + T 组合键打开终端

2.输入命令

sudo -v

3.输入密码: 这时再输入你的用户密码,你会发现每按一个键,屏幕上就会显示一个星号 ‘*’!输入完成后按回车确认。

效果: 这个设置只对这次打开的终端窗口有效。如果你关闭了这个终端再新开一个,或者打开另一个终端窗口,星号显示又会消失,需要重新执行 sudo -v

适用场景: 当你只是偶尔需要用到 sudo,并且希望在当前这个终端会话里获得密码输入反馈时,这个方法最简单快捷。

方法二:永久开启星号显示

如果你希望每次在任何终端窗口使用 sudo 时都显示星号,就需要修改系统配置文件。

1.安全编辑配置文件: 输入以下命令,使用 sudo 和 visudo 工具(这个工具能防止你编辑时出错导致 sudo 不可用):

sudo visudo

2.安全编辑配置文件: 输入以下命令,使用 sudo 和 visudo 工具(这个工具能防止你编辑时出错导致 sudo 不可用)

3.找到并修改配置行:配置文件会在终端里打开,使用方向键移动光标,找到以 Defaults开头的一行(可能在文件开头附近),在 Defaults这行的末尾(确保在同一行),添加以下内容:

,pwfeedback

修改前可能类似这样:

Defaults        env_reset

或者

Defaults        env_reset, mail_badpass

修改后应该变成这样:

Defaults        env_reset, pwfeedback

或者(如果原来有其他选项)

Defaults        env_reset, mail_badpass, pwfeedback

关键点: 确保 pwfeedback 前面有一个英文逗号 , 分隔其他选项。

3.保存并退出:

nano 编辑器中:按 Ctrl+o保存(会提示文件名,直接按回车确认),然后按 Ctrl+x退出。在 vim 编辑器(如果默认是 vim)中:按 :进入命令模式,输入 wq,然后按回车。

4.立即生效: 关闭你当前所有打开的终端窗口。然后重新打开一个新的终端窗口。

5.测试效果: 在新终端里尝试执行任何 sudo命令(比如 sudo ls)。输入密码时,你应该能看到星号 *了!

修改配置之前:

修改配置之后:

恭喜! 现在你在银河麒麟上使用 sudo 输入密码,就能像在很多其他系统上一样,清晰地看到星号提示了

重要提示

谨慎编辑: 修改 /etc/sudoers 文件(visudo 编辑的就是它)一定要小心。必须使用 sudo visudo 命令来编辑,它能检查语法错误。直接修改或语法错误可能导致你无法再使用 sudo,那就麻烦大了。

安全权衡: 显示星号 (pwfeedback) 确实方便了用户,但它稍微降低了“防窥视”的安全性(别人能看到你密码的长度)。对于个人电脑或相对安全的环境,这个便利通常是值得的。在安全性要求极高的公共终端上,则可能需要慎重考虑是否开启。

不同终端: 这个设置对系统里所有的终端模拟器(如系统自带终端、Konsole 等)都有效。

总结

银河麒麟默认隐藏 sudo 密码输入是为了安全,但“摸黑输入”的体验确实不好。通过简单的 sudo -v(临时)或在 sudoers文件中添加 ,pwfeedback 选项(永久),就能让熟悉的星号 *重新出现,大大提升输入密码时的确定性和操作体验。选择最适合你的方式,让命令行操作更顺手吧!

希望这篇指南能帮助你更顺畅地使用银河麒麟操作系统!

http://www.xdnf.cn/news/15577.html

相关文章:

  • 数据结构排序算法总结(C语言实现)
  • Planning Agent:基于大模型的动态规划与ReAct机制,实现复杂问题自适应执行求解
  • 【软件测试】软件测试分类与方法解析:目标到工具
  • 【Dv3Admin】菜单管理集成阿里巴巴自定义矢量图标库
  • Linux手动安装Nginx(基于Centos 7)
  • 网络通信之基础知识
  • 项目的存量接口怎么低成本接入MCP?
  • 暑期算法训练.3
  • Android设备标识符详解:IMEI、ANDROID_ID与OAID
  • 针对教育行业的网络安全方案有哪些
  • 软件测试面试常见问题【含答案】
  • Effective Modern C++ 条款13:优先考虑const_iterator而非iterator
  • docker安装、启动jenkins服务,创建接口自动化定时任务(mac系统)
  • Python基础--嵌套循环
  • vuex的理解以及应用
  • Pytorch深度学习框架实战教程03:Tensor 的创建、属性、操作与转换详解
  • Java网络通信:UDP和TCP
  • Python-TCP编程-UDP编程-SocketServer-IO各种概念及多路复用-asyncio-学习笔记
  • ELK日志分析部署(小白的“升级打怪”成长之路)
  • javaweb学习开发代码_HTML-CSS-JS
  • 如何用 Python + LLM 构建一个智能栗子表格提取工具?
  • AWS Lambda 最佳实践:构建高效无服务器应用的完整指南
  • Python 网络爬虫 —— requests 库和网页源代码
  • 永磁同步电机MTPA与MTPV曲线具体仿真实现
  • 大模型领域主流向量模型相似度算法、架构及指标对比
  • 在windows平台上基于OpenHarmony sdk编译三方库并暴露给ArkTS使用(详细)
  • 数据结构 栈(1)
  • 聚观早报 | 英伟达股价再创新高;中国联通eSIM手机业务开通上线;中国AI加速出海 阿里云提供全栈能力支持
  • Cookie 与 Session概述
  • 第2章通用的高并发架构设计——2.6 高并发写场景方案1:数据分片之数据库分库分表