linux - 在 Linux 服务器上触发主机名 "withsometest"时会发生什么

标签 linux shell hostname

团队,

今天我在客户生产服务器上犯了一些错误。不幸的是我在根终端上触发了主机名 90。然后我输入主机名,它返回 90 而不是实际的主机名。

输入主机名 -I 时出现拼写错误。 (检查IP地址)

当您在根终端上键入“主机名 90”时会发生什么?

谢谢。

最佳答案

您可以运行 strace hostname 90 来查看发生了什么,或许可以作为非 root 用户运行,以避免破坏系统。输出接近结尾时是这样的:

sethostname("90", 2)                    = -1 EPERM (Operation not permitted)

(这里我没有以 root 身份运行该命令,因此出现 EPERM 错误。)

因此hostname程序调用sethostname使用命令行参数进行系统调用。如果系统管理员运行此命令,会将主机名更改为 90,并且不会进一步提示,因此此后很多事情都会出错。

关于linux - 在 Linux 服务器上触发主机名 "withsometest"时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52652370/

相关文章:

linux - 主进程退出,code=exited,status=203/EXEC

android - 如何通过 ADB 杀死 android 中的持久系统进程?

bash - 为什么进程替换在 shell 脚本中不起作用?

java - 如何修复 Gradle 在 Linux 上无法识别 Java 10?

linux - 有没有办法在 RISC-V 中运行网络(套接字)程序?

c++ - 处理应该能够管理 linux 用户帐户的程序的用户权限的最佳实践是什么

perl - 如何多次使用反向引用?

android - 默认主机名验证器

docker - 如何使用 docker-compose 设置主机名?

按名称的android tcp连接