为什么人们害怕在命令行中写入密码?
历史文件位于 中~/.history
,因此仅对执行命令的用户(和 root)可用。
答案1
命令行不仅仅是历史上才有的。例如,它们也可以在文件系统的输出中ps -ocmd
或通过/proc
文件系统使用。 ( /proc/<pid>/cmdline
) 是ps
读取它们的地方。
此外,用户的主目录通常是全局或组可读的;您可以将历史文件设置为仅用户可读,但这可能无法在删除和重新创建后保留。
答案2
命令行上的密码始终是一个坏主意。除了其他答案中讨论的方法之外:
- /进程
- 进程列表 (
ps
) - 用户的历史文件
用户命令也可以显示在这些位置:
- 审计日志
- /var/日志/*
此外,当用户在系统之间登录时,用户的命令也会显示出来,因此通常这是一种不好的做法,应始终避免。
答案3
问题在于命令运行时参数的可见性(大多数情况下对于其他用户,甚至是 root 用户)。查看输出
ps -eo pid,user,args