sudoは私のルートの.Xauthorityデータをどこに隠しますか?

sudoは私のルートの.Xauthorityデータをどこに隠しますか?

sudoちょうどファイルが処理される方法で奇妙な点を見つけました.Xauthority

sudo xauth add $(xauth list | tail -1)

user@server: sudo xauth info
Authority file:       /root/.xauthYZ21Nt
File new:             no
File locked:          no
Number of entries:    1
Changes honored:      yes
Changes made:         no
Current input:        (argv):1

user@server:  sudo xauth info
Authority file:       /root/.xauth3BFy5d
File new:             no
File locked:          no
Number of entries:    1
Changes honored:      yes
Changes made:         no
Current input:        (argv):1

user@server:  sudo xauth list
server/unix:10  MIT-MAGIC-COOKIE-1  c922ab48defdf43b1092dffb86c06eed

user@server: sudo ls -la /root | grep auth
-rw-r--r--  1 root root    0 Nov  9 14:40 .Xauthority
-rw-------  1 root root   57 Nov  9 15:23 .xauthsrxzxl

user@server:  pkexec xauth info
Authority file:       /root/.Xauthority
File new:             no
File locked:          no
Number of entries:    0
Changes honored:      yes
Changes made:         no
Current input:        (argv):1

したがって、$XAUTHORITYそれぞれの新しい値は異なり、終了時に消える一時sudoファイルを指します。sudoしたがって、最後のコマンド(pkexec代わりに使用sudoしてそこにあると予想/root/.Xauthority)では、クッキーを見ることはできません。たとえば、うまくsudo gedit動作しますがpkexec env DISPLAY=$DISPLAY gedit失敗します。

.Xauthorityデータがどこに保存されているのか、そしてもっと重要なのは、どのようにデータにアクセスできるのか、そしてこのような複雑な方法で行われるのですかpkexec

ベストアンサー1

オプションを使用してXサーバーを-auth起動すると(パスワード)を含むファイルが作成されMIT-MAGIC-COOKIE-1、パスワードを知っているユーザーだけがXウィンドウシステムに自分のウィンドウを表示できます。

MIT-MAGIC-COOKIE-1複数(ネットワークログインなど)があるかもしれませんが、ssh -Xあなたの場合、このファイルをチェックすると、まったく同じ内容(cmp /root/.xauth1 /root/.xauth2)を持つことになります。

ただし、別のXサーバーを起動してsudo(またはsu)を使用している場合は、新しいパスワードは異なる必要があります。

したがって、ファイルが異なる理由は、他のsudoインスタンスがどのモニターを使用しているのかわからず、必要な固有のパスワードを取得して保存するための新しいファイルを作成するためです。

おすすめ記事