注意:请阅读本文中途附近的以“ EDIT”开头的更新信息-此问题的环境和背景已更改
我在这里安装了标准的Debian 6.0沼泽,我决定将其降级到Debian Testing信息库。我这样做是通过在我的sources.list中换掉对Squeeze仓库的引用来代替使用Testing仓库。
软件包安装并重新启动后,尝试向其他用户输入su时出现以下错误:
root@skaia:~# su joebloggs -
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
如果我省略-,则不会发生。
请注意,用户可以正确地成为root用户,这似乎仅在从root用户切换到其他人并使用-获得该用户的环境时才会发生。
Google在这里几乎没有用。我唯一能找到的是2011年关于sux
软件包的,该文献似乎在此期间已得到修复。
这看起来和闻起来很像是升级错误,可以通过以正确的方式调整正确的软件包来修复。我只是不知道从哪里开始-除此之外,我的系统完全可以正常运行,并且符合预期。
编辑
我现在在Debian马stable上发生这种情况如上所述机。这次无需升级或执行任何操作,只需稳定即可。
是的,一年后。仍然不知道问题到底在哪里。
现在是这样(没有太大变化):
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
terraria@skaianet:~$ tty
/dev/pts/0
terraria@skaianet:~$ ls -l /dev/pts/0
crw--w---- 1 root root 136, 0 Oct 10 19:21 /dev/pts/0
terraria@skaianet:~$ ls -l /dev/pts/
crw--w---- 1 root root 136, 0 Oct 10 19:21 0
crw--w---- 1 root root 136, 2 Sep 22 17:47 2
crw--w---- 1 root root 136, 3 Sep 26 19:30 3
c--------- 1 root root 5, 2 Sep 7 10:50 ptmx
如下所示生成一个strace:
root@skaianet:~$ strace -f -o tracelog su terraria -
..还会出现一些令人困惑的行为。这些消息令人困惑。一些选定的行:
readlink("/proc/self/fd/0", "/dev/pts/0", 4095) = 10
#Error code 10?
15503 open("/dev/tty", O_RDWR|O_NONBLOCK) = -1 ENXIO (No such device or address)
#Yes there is, and I can interact with it normally
15503 ioctl(255, TIOCGPGRP, [32561]) = -1 ENOTTY (Inappropriate ioctl for device)
我已经链接了该strace会话的全部输出 -我所做的只是运行su命令,然后立即ctrl + d退出终端。