这并不是一个真正的问题,只是我想了解的一个特点。
如果我得到一个 root shellsudo bash -l
然后运行less somefilename
我得到的信息更少只显示:
该帐户当前不可用。
(这不会显示为错误,而是显示在 less 内,就好像它是文件的内容一样。)
但是,如果我使用相同的 root shell 并sudo bash -l
运行,cat somefilename | less
那么我会看到文件的实际内容。
另外,如果我获得一个 root shell 并sudo bash
跳过-l
然后运行less somefilename
它将显示文件的内容。
Root登录被禁用;该/etc/passwd
线路root:x:0:0:root:/root:/sbin/nologin
根本sudo su -
不起作用。
但是,为什么该条目会对在文件上nologin
运行产生任何影响呢?为什么它只在直接在文件上运行而不是也应用于在其标准输入上运行时less
才会产生影响?less
而且,为什么只有bash -l
shell 才会出现这种情况?
(这是在 CentOS 7 系统上。)