プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

QNAP NAS のスナップショットレプリカは2段階認証に対応していないそうです

以前、QNAP のスナップショットレプリカの設定をデフォルトの admin 以外で設定した作業をまとめました。

その際に、スナップショットレプリカが2段階認証に対応していなさそうだなと予想されたのですが、先日 QTS の更新通知(QTS 5.0.0.1858 build 20211119)が来ていたのでリリースノートを見ていたら、 Fixed Issues のところに

Storage & Snapshots would still display successful test results for Snapshot Replica jobs even if 2-step verification was enabled on the destination NAS. (Note: Snapshot Replica does not support 2-step verification).

のように、見事にスナップショットレプリカは2段階認証に対応していません、と明記されていました。

ということですので、スナップショットレプリカを使う場合は(現時点では)受け取り側 NAS の2段階認証を諦めないといけないようです。

あーあ。

これについては、早く改善してほしいです、QNAPさん。

Windows 10 のプロダクトキーを調べる

いくつか Windows 10 を仮想マシン上で使っているのが、インストール時に使ったプロダクトキーがどれになるか確認する必要が出てきました(プロダクトキーの一覧はあるのですが、どの仮想マシンとどのキーが紐づいているのがちょっとあやふやになってしまいました)。せっかく調べたので、備忘録代わりにメモっておきます。

少しネットを調べてみると、下記記事で紹介されているように、コマンドラインで調べる方法とかあったのですが、今回の場合はこれでは表示されませんでした。

Windows 10のプロダクトキーを確認する方法 | マイナビニュース

ちなみに、Windows 10 のプロダクトキーに加えて、 Windows 7 からアップグレードしたものもあるので、なおさら面倒そうです。

同じ記事にツールも紹介されていたので、これを手掛かりに調べてみるといろんなツールがあることがわかりました。

そこで、いくつかの無料ツールを試してみました。結論からすると、手元の環境の場合、下記のツールで、 Windows 7 からアップグレードしたものも含めて正しく表示されました。

github.com

なお、紹介記事もありました。

ShowKeyPlus のダウンロードと使い方 - k本的に無料ソフト・フリーソフト

How to Find Your Product Key After Upgrading to Windows 10

試した結果はこんな感じでした。

f:id:junichim:20211122131340p:plain

Original Key が Windows 7 インストール時に使ったもので、 Installed Key が Windows 10 にアップグレードした際に発行されたもののようです。 手元のプロダクトキー一覧の一つと Original Key が一致しているので、たぶん正しいのだろうと思います。 また、Windows 10 のプロダクトキーでインストールしたやつは、 Original Key の欄がない状態で表示されました。

問題ないようですね。

ご自分で試される場合はくれぐれも自己責任のうえご用心しておためしください。

Android のストレージ関係のパーミッションについて

Android の外部ストレージ関係のパーミッションの扱いって、API レベルでいろいろと変わってわかりにくいので、まとめてみました。何かのご参考にしてください。

ただ、いろいろとドキュメントを読んではみたものの、理解不足から間違っている可能性もあります。その点を踏まえてご覧になる際は自己責任でお願いします。ということで、最終的にはご自分で公式ドキュメントを確認することをお勧めします。

なお、下記表で

です(ともに dangerous パーミッションです)。

外部ストレージの READ, WRITE を行う際に必要となる権限について

ターゲット manifest 宣言, READ manifest 宣言, WRITE Runtime Permission 処理 備考
API 3
( Android 1.5 ) 以前
- - - 常に許可される
API 4
( Android 1.6 ) ~
- 必要 - WRITE 導入
API 19
( Android 4.4, Kitkat) ~
必要、一部不要 ※1 同左 - READ が必要になる
API 23
( Android 6 ) ~
同上 同上 必要 Runtime Permission が導入
API 29
( Android 10, Q ) ~
必要、一部不要 ※2 同左 たぶん必要 対象範囲別ストレージ導入

※1 一部不要:特定の領域へのアクセスは宣言不要です(『アプリ固有のディレクトリ』と呼ばれており、具体的には getExternalFilesDir(), getExternalCacheDir() で取得されるディレクトリになります)

※2 一部不要:対象範囲別ストレージになり、アプリ固有のディレクトリには、そのアプリ以外のアプリはアクセスできなくなります

対象範囲別ストレージはまだ試してないので、ちょっと自信ありませんが、たぶんこんな感じになると思います。

ご参考までに。