2017-02-24 4 views
0

、私は次のドッキングウィンドウのGUIコンテナを使用してい特権フラグなしドッキングウィンドウで起動に失敗しますアプリケーション)の起動に失敗し、特定の段階でルート権限が必要なアプリケーション(たとえば、gpk-application - Add/Remove Softwareメニュー項目)がこれらの権限を取得できませんでした。polkit-GNOME-認証エージェント-1は

(も、あなたドンrootパスワードの前払いを求めて
RUN yum -y install beesu 
RUN sed -i "s/Exec=gpk-application/Exec=beesu gpk-application/g" /usr/share/applications/gpk-application.desktop 

:私は--privilegedフラグを使用したくないので、私は、このようなアプリケーションのためのデスクトップのファイルを変更する回避策としてbeesuを追加している

$ /usr/libexec/polkit-gnome-authentication-agent-1 

(polkit-gnome-authentication-agent-1:772): polkit-gnome-1-WARNING **: Unable to determine the session we are in: Remote Exception invoking org.freedesktop.ConsoleKit.Manager.GetSessionForUnixProcess() on /org/freedesktop/ConsoleKit/Manager at name org.freedesktop.ConsoleKit: org.freedesktop.ConsoleKit.Manager.GeneralError: Unable to lookup session information for process '772' org.freedesktop.ConsoleKit.Manager.GeneralError Unable%20to%20lookup%20session%20information%20for%20process%20%27772%27 

この特定の実行では必要ありません)、gpk-applicationをrootから実行しないように警告します。

もっと良い回避策がありますか(理想的には、polkit-gnome-authentication-agent-1が正常に動作するようにします)。

私のドッカーホストは、ESXi 6.5のUbuntu 16.04 VMで、apparmorが有効です。 apparmorの機能を有効にする必要があるように見えますが、/var/log/kern.logにapparmor監査レコードは表示されません。

$ docker version 
Client: 
Version:  1.13.1 
API version: 1.26 
Go version: go1.7.5 
Git commit: 092cba3 
Built:  Wed Feb 8 06:50:14 2017 
OS/Arch:  linux/amd64 

Server: 
Version:  1.13.1 
API version: 1.26 (minimum version 1.12) 
Go version: go1.7.5 
Git commit: 092cba3 
Built:  Wed Feb 8 06:50:14 2017 
OS/Arch:  linux/amd64 
Experimental: true 

$ docker info 
Containers: 15 
Running: 12 
Paused: 0 
Stopped: 3 
Images: 1083 
Server Version: 1.13.1 
Storage Driver: zfs 
Zpool: zmain 
Zpool Health: ONLINE 
Parent Dataset: zmain/docker 
Space Used By Parent: 25711493632 
Space Available: 2017301029888 
Parent Quota: no 
Compression: on 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: bridge host ipvlan macvlan null overlay 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Init Binary: docker-init 
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1 
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f 
init version: 949e6fa 
Security Options: 
apparmor 
seccomp 
    Profile: default 
Kernel Version: 4.4.0-64-generic 
Operating System: Ubuntu 16.04.2 LTS 
OSType: linux 
Architecture: x86_64 
CPUs: 56 
Total Memory: 147.6 GiB 
Name: dockerl1 
ID: 2QMS:5T3N:Y7CT:FFOK:A3PI:VGVB:WHW3:V43D:AHOD:MFX3:WB4C:6UBY 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Registry: https://index.docker.io/v1/ 
WARNING: No swap limit support 
Experimental: true 
Insecure Registries: 
docker.acme.com 
registry-proxy.acme.com 
127.0.0.0/8 
Registry Mirrors: 
registry-proxy.acme.com 
Live Restore Enabled: true 

答えて

0

私はまだAppArmorの監査レコードを参照してください、しかしdocker run--cap-add=SYS_PTRACEを追加すると、polkit-gnome-authentication-agent-1が正しく作業開始後どの要求ルート権限を実行しているアプリケーション、問題を解決することが判明していません。

私は、それぞれが接続した後、rootのパスワードを尋ねるアップデータを無効にするには、別の回避策を使用する必要がありました:

RUN echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gpk-update-icon.desktop 

そして私はAppArmorの約asked separate questionをしました。

関連する問題