- 論壇徽章:
- 1
|
由于root帳號(hào)有權(quán)限管控,我們只有應(yīng)用的系統(tǒng)帳號(hào)(IBM TDS應(yīng)用),但做應(yīng)用配置需要root權(quán)限和轉(zhuǎn)發(fā)X11圖形介面,首先,root給該帳號(hào)配置了sudo權(quán)限。
現(xiàn)象:
1、應(yīng)用帳號(hào)執(zhí)行xclock可以在本機(jī)顯示圖形介面
2、sudo xclock用root權(quán)限執(zhí)行報(bào)Error: Can't open display: localhost:10.0
[dsrdbm01@PRDESS3 ~]$ sudo xclock
[sudo] password for dsrdbm01:
Error: Can't open display: localhost:10.0
[dsrdbm01@PRDESS3 ~]$
原因:
x11轉(zhuǎn)發(fā)失敗。
RHEL linux X11本機(jī)轉(zhuǎn)發(fā)使用Xauthority的方式驗(yàn)證。用戶登錄后會(huì)在home目錄下創(chuàng)建.Xauthority文件,該文件中存放一個(gè)魔法密鑰,轉(zhuǎn)發(fā)端和接收端的魔法密鑰需要一致,可以通過xauth命令查看。
[dsrdbm01@PRDESS3 ~]$ xauth
Using authority file /home/dsrdbm01/.Xauthority
xauth> list
PRDESS3/unix:10 MIT-MAGIC-COOKIE-1 b4a86e15e4e7985cc6fa790a65d54b70
xauth>
[dsrdbm01@PRDESS3 ~]$ echo $DISPLAY
localhost:10.0
本地的X11轉(zhuǎn)發(fā)到localhost的6000+10端口(6010),xauth結(jié)果中對(duì)應(yīng)主機(jī)名、平臺(tái)、端口、密鑰命、密鑰
[dsrdbm01@PRDESS3 ~]$ netstat -nlp | grep 6010
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN -
tcp 0 0 ::1:6010 :::* LISTEN -
可以本機(jī)在監(jiān)聽6010端口,然后通過shh的x11轉(zhuǎn)發(fā)功能將圖形介面轉(zhuǎn)到本地xmanager上顯示。
而root中的xauth密鑰和應(yīng)用帳號(hào)的密鑰不一致(端口號(hào)為10的記錄),該密鑰每次SSH登錄后都會(huì)重新生成。
[root@PRDESS3 ~]# xauth
Using authority file /root/.Xauthority
xauth> list
PRDESS3/unix:10 MIT-MAGIC-COOKIE-1 541a97cf84b6ae6644adea6f760ad901
PRDESS3/unix:11 MIT-MAGIC-COOKIE-1 98d6c1adca68a77af675ec775ecdb15a
xauth>
由于root和應(yīng)用帳號(hào)中的auth密鑰不一致,所以sudo轉(zhuǎn)發(fā)x11失敗。因?yàn)閟udo也是轉(zhuǎn)發(fā)到localhost:10:0
[dsrdbm01@PRDESS3 ~]$ sudo env
DISPLAY=localhost:10.0
所以
方法1、需要將應(yīng)用帳號(hào)當(dāng)前的X11密鑰配置到root的auth中
[dsrdbm01@PRDESS3 ~]$ sudo auth
sudo: auth: command not found
[dsrdbm01@PRDESS3 ~]$ sudo xauth
Using authority file /root/.Xauthority
xauth> add PRDESS3/unix:10 MIT-MAGIC-COOKIE-1 b4a86e15e4e7985cc6fa790a65d54b70
xauth> list
PRDESS3/unix:10 MIT-MAGIC-COOKIE-1 b4a86e15e4e7985cc6fa790a65d54b70
PRDESS3/unix:11 MIT-MAGIC-COOKIE-1 98d6c1adca68a77af675ec775ecdb15a
xauth>
方法2:
再啟用一個(gè)root的session,并將sudo的DISPLAY和新的root會(huì)話的DISPLAY設(shè)成一致。這當(dāng)然沒必要了,有root權(quán)限,就這用這么干了。
|
|