注:この投稿の中間地点近くの「編集」で始まる更新情報をお読みください-この問題の環境と背景が変更されました
ここに沼地の標準Debian 6.0インストールがあり、Debianテストリポジトリにサイドグレードすることにしました。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の安定したマシンでこれが起こっています。今回はアップグレードも何もありません。まっすぐ安定しています。
うん、一年後。一体何が問題なのかまだわかりません。
現在は次のようになっています(変更はほとんどありません)。
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をターミナルから実行するだけでした。