由于某种原因,我正在开发的 Ubuntu 服务器(14.04.4 LTS)不允许普通用户运行“man”。例子:
man ls
man: can't change directory to '/root': Permission denied
man: command exited with status 255: (cd /root && LESS=-ix8RmPm Manual page ls(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$PM Manual page ls(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$ MAN_PN=ls(1) pager -s)
这怎么可能发生,更重要的是我该如何解决?
更新:
似乎这只发生su user
在“用户”是非特权用户之后。解决方法是,su -l user
但我仍然不明白为什么man
没有登录标志会成为特权命令。
您当前在文件夹中
/root
。man
运行一些命令,包括cd <current folder>
. 在这种情况下是cd /root
(比较错误的第二行)。但这对于非 root 用户是不允许的。以下将起作用:
要重现相同的行为,您可以这样做: