为什么人们不应该在命令行中使用密码?

为什么人们不应该在命令行中使用密码?

为什么人们害怕在命令行中写入密码?

历史文件位于 中~/.history,因此仅对执行命令的用户(和 root)可用。

答案1

命令行不仅仅是历史上才有的。例如,它们也可以在文件系统的输出中ps -ocmd或通过/proc文件系统使用。 ( /proc/<pid>/cmdline) 是ps读取它们的地方。

此外,用户的主目录通常是全局或组可读的;您可以将历史文件设置为仅用户可读,但这可能无法在删除和重新创建后保留。

答案2

命令行上的密码始终是一个坏主意。除了其他答案中讨论的方法之外:

  • /进程
  • 进程列表 ( ps)
  • 用户的历史文件

用户命令也可以显示在这些位置:

  • 审计日志
  • /var/日志/*

此外,当用户在系统之间登录时,用户的命令也会显示出来,因此通常这是一种不好的做法,应始终避免。

答案3

问题在于命令运行时参数的可见性(大多数情况下对于其他用户,甚至是 root 用户)。查看输出

ps -eo pid,user,args

相关内容