我很惊讶 Linux 上开箱即用的“W”命令提供了如此多的信息,而无需任何 SUDO 或管理员权限。特别是,该命令显示了每个用户当前进程的命令行。这似乎是一个巨大的漏洞,因为它可能显示有人访问隐藏文件(例如,命令 'vim .ProofThatTheMoonLandingWasFaked.txt')、纯文本密码(是的,我知道这不应该成为问题,因为纯文本密码应该永远不会被输入,但它仍然会出现)等。
开箱即用的“W”命令是否构成系统中的安全漏洞?
我很惊讶 Linux 上开箱即用的“W”命令提供了如此多的信息,而无需任何 SUDO 或管理员权限。特别是,该命令显示了每个用户当前进程的命令行。这似乎是一个巨大的漏洞,因为它可能显示有人访问隐藏文件(例如,命令 'vim .ProofThatTheMoonLandingWasFaked.txt')、纯文本密码(是的,我知道这不应该成为问题,因为纯文本密码应该永远不会被输入,但它仍然会出现)等。
开箱即用的“W”命令是否构成系统中的安全漏洞?
w本身并不是让您这样做的原因;它没有任何提升的特权,它所能做的一切都是你自己已经可以做的。让您查看其他用户进程的实际情况是进程信息存储在/proc/目录中,并且所有用户都可以访问/proc/[pid]存储单个进程信息的目录。
如果问题是“不是/proc世界可读的安全漏洞”,答案是“根据什么威胁模型的安全漏洞?” 安全漏洞是指某人可以做一些他们不应该做的事情。许多基于 Unix 的系统(这种行为早于 Linux)不会将命令行选项和谁在运行每个进程等内容视为敏感信息;让这个世界可读是一个有意的决定,它不需要被限制。根据您的需要,这种行为可能是好是坏,但关键是,除非它是您的系统上的问题,否则根据定义它不是安全漏洞。
如果您经常在命令行上输入密码(大概是您不想让其他用户看到),或者如果您不希望用户看到其他用户在做什么,那么这是一个安全问题,因为它会让人们做他们不应该做的事情。在 Linux 上,作为 Linux,您可以修改此行为并限制/proc. 如果像大多数这些系统的设计者一样,你看不到人们看到其他人正在执行什么程序的问题,那么这不是一个漏洞。传统上,这不是问题,因此大多数系统都允许这种访问。
(对于隐藏文件:它们实际上根本不是安全功能;它们存在的原因是方便。任何可以列出目录中文件的人都可以列出所有文件,包括隐藏文件)。