使用“man”拒绝许可

使用“man”拒绝许可

由于某种原因,我正在使用的 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在没有登录标志的情况下会成为特权命令。

答案1

您当前位于文件夹/root

man运行一些命令,包括cd <current folder>。在本例中是cd /root(比较错误的第二行)。但对于非 root 用户,这是不允许的。

下列操作有效:

cd ~ && man ls

要重现相同的行为,您可以执行以下操作:

$ sudo su
# cd /root
# su normal_user
$ man ls
man: can't change directory to '/root': Permission denied

相关内容