Ticket #36630

名前付きパイプ

Eröffnet am: 2016-09-07 20:42 Letztes Update: 2018-02-16 20:27

Auswertung:
Verantwortlicher:
Status:
Offen [Owner assigned]
Komponente:
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

Hyper-VのCOMポートに、Tera Termから名前付きパイプで接続する場合、不便に感じたことを以下に示します。今後の改善。

  • Hyper-Vの名前付きパイプにアクセスするためには、Tera Termを管理者権限で起動する必要があり、管理者権限ではない場合、名前付きパイプを開けないが、エラーの原因が分からない。 r6893で対応
  • Tera Termを管理者権限で起動したかどうかが、見た目分からない。
  • Hyper-VのゲストOSを再起動すると、名前付きパイプとの通信が切断されるため、再度Tera Term側から再接続しないとならない。

Ticket-Verlauf (3/7 Historien)

2016-09-07 20:42 Aktualisiert von: yutakapon
  • New Ticket "名前付きパイプ" created
2016-09-08 19:52 Aktualisiert von: doda
  • Details Updated
Kommentar

アクセスに管理者権限が必要

管理者権限で起動する必要があるというのは、単純にアクセス権の問題ではないでしょうか。 VMware や VirtualBox では起きないので、Hyper-V の設定もしくは仕様だと思います。

アクセス権の問題ならば Tera Term 側ではどうしようも無いと思います。

管理者権限の確認方法

Tera Term 本体でやるべきかは判りませんが、GetTokenInformation() で TokenElevation を確認すれば出来そうです。

試験的実装: https://osdn.jp/users/doda/pf/test_ttx/scm/blobs/master/TTXCheckAdminPriv/TTXCheckAdminPriv.c

再起動時に切断される

これも VMware や VirtualBox では起きないですね。 自分の使用環境では起きないので困ってはいませんが、シリアルポートの再接続機能と同じような仕組みが実現できたら便利だと思います。

2016-09-08 20:42 Aktualisiert von: yutakapon
Kommentar

doda への返信

== アクセスに管理者権限が必要 管理者権限で起動する必要があるというのは、単純にアクセス権の問題ではないでしょうか。 VMware や VirtualBox では起きないので、Hyper-V の設定もしくは仕様だと思います。

Hyper-Vの仕様のようです。 Hyper-VのCOMポートに、名前付きパイプを設定するために、PowerShellのSet-VMComPortコマンドを 使うのですが、このコマンドが管理者権限でしか動かないのです。

cf. https://blogs.msdn.microsoft.com/jpwdkblog/2014/02/27/hyper-v-guest-os-windbg/ https://msmania.wordpress.com/tag/grub/

== 再起動時に切断される これも VMware や VirtualBox では起きないですね。 自分の使用環境では起きないので困ってはいませんが、シリアルポートの再接続機能と同じような仕組みが実現できたら便利だと思います。

シリアルポートの場合は、シリアルケーブルが抜けたかどうかで判断できていましたが、 名前付きパイプの場合は「削除された」かどうかで判断するのかと思っていますが、 実際のそのような判断ができるかどうかってところですかね。

2017-08-09 17:54 Aktualisiert von: doda
Kommentar

開けなかった理由が判らないのは確かにつらいですね。

とりあえず

  • ERROR_FILE_NOT_FOUND (0x2)
  • ERROR_ACCESS_DENIED (0x5)

辺りは専用のエラーメッセージを設ける方がよさそうです。

2017-08-09 22:10 Aktualisiert von: doda
Kommentar

r6893 で開けなかった理由を表示するようにしました。

2017-08-09 22:11 Aktualisiert von: doda
  • Verantwortlicher Update from (Keine) to doda
  • Details Updated
2018-02-16 20:27 Aktualisiert von: doda
  • Details Updated
Kommentar

開くのに管理者権限がいるパイプを使う必要が出来て思ったのですが、 権限の問題でアクセス拒否された場合は、(可能ならば)権限を昇格して再試行出来ると便利そうです。

AdjustTokenPrivileges() とかで出来る? 必要な権限は?

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden