xterm は RHEL 7.2 で次のエラーを生成します。
$ xterm &
[1] 21638
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm: Xt error: Can't open display: %s
[1]+ Exit 1 xterm
[/RHEL/Packages]
$ rpm -qa | grep -i xterm
xterm-295-3.el7.x86_64
私がここで何を見逃しているのでしょうか?
ベストアンサー1
簡単に言うと、アプリケーションをrootとして実行しないでください。
長い:
このメッセージは何が間違っているかを伝えます。このメッセージを受け取る一般的な方法は、(無許可の一般ユーザーとして)ログインして次を使用することです。su
またはsudo
に切り替えるroot
ユーザー。
このメッセージ(および確認)は1997年に追加されました(5月のディスカッションのフォローアップとして、6月末にXFree86へのパッチとして最初に登場し、2週間後にX11R6.3に登場しました)。
それの前に、root
Xセッションに接続してすべてのプログラム(例:root
)選択しました。残念ながら、あなたが使用する多くのプログラムは安全ではありません。 (これはまだほとんどすべてのデスクトップアプリケーションの状態です。)
Xライブラリを確認して、次のようにしてください。root
ユーザーを選択して環境変数を削除します(例:DISPLAY
)これは安全でないアプリに閉じ込められる可能性があります。
一部のシステムでは許可されています。root
ユーザーはすぐに最も簡単にアクセスできるアプリケーションのデスクトップセッションにログインし、比較的安全な状態を維持することを選択しました。一部の人々はこれをしません。
Red Hat 7 にはxterm
set-uid または set-gid がインストールされていません。 set-uidをrootとして20年前にBSDスタイルの擬似端末を開き、set-gidを使ってutmpを更新しました。二人とも長い間去っていました。あなたはこれを実行して見ることができます
ls -l /usr/bin/xterm
set-uid または root ユーザー権限を見つけるには、xterm を実行するシェルから起動できます。