RPi用DebianのデプロイRaspbianで次のエラーが発生します。
$ sudo su -l root -c /bin/bash
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
...しかしに変更すると、sudo su -
すべてがうまく動作します。上記のコマンドラインにどのような問題があるのかご存知ですか?ここで最大の問題は、このコマンドを実行した後に端末がハングすることです。
私が見つけたこのバグレポートしかし結論はないようです。
システムメッセージ
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.0 (wheezy)
Release: 7.0
Codename: wheezy
$ dpkg -l |grep sudo
ii libgksu2-0 2.0.13~pre1-6 armhf library providing su and sudo functionality
ii sudo 1.8.5p2-1 armhf Provide limited super user privileges to specific users
ノート
私がそれを使用する理由-c /bin/bash
は、実際にそれが-c /bin/bash --rcfile /path/to/rcfile
普通sudo -i
であるかsudo su -
どうか、それをやっているのとは異なります...
質問に上記のようなコマンドラインを与えた理由は、問題を再現するための最小限の例だからです。
答え1
ちょっと掘ってみるとそういう。これは現在予想される動作です。これはセキュリティ修正であるからです。一方、私はこれがいくつかのセキュリティリスクを追加することを知っていましたが、Debianの人々に報告する前に、私が間違っていないことを確認するためにさらに調査する必要があります。
彼らが修正したバグは次のとおりです。ログイン:TIOCSTI ioctlを介して「su」でttyハイジャックの可能性
私が理解しているのは、コマンドがsu
呼び出されたプロセスに対して開いた状態を維持するために使用されるため、その/dev/tty
プロセスは、権限が低い場合でもsu
コマンドが終了した後に実行される端末にコードを挿入できることです。彼らはttyを閉じることでそれをパッチし、(私はサルがパッチしたと言いたいのですが)、新しく始まったbashが文句を言う理由です。