質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

3回答

5187閲覧

Windowsでファイルの読み取りを禁止する方法

kdr

総合スコア1

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2020/09/29 03:59

編集2020/09/29 04:00

情報技術を学んでいる学生です。
Windows 10 でファイルの読み取り禁止を実現できるでしょうか。

Linuxであれば、所有者・グループ・その他で別々のアクセス権限できます。apacheユーザなどがプロセスを実行するので、読み込んでほしくないファイルの指定は(仕組みを理解していれば)容易です。

しかし、Windowsにそのような機能は無いように思われます。

安直なアイデアとして、操作にアクセス制御が求められる階層にファイルを保存しておくというものがあるかと思います。
しかし、簡易的なpythonスクリプトで"C:Program Files/"以下のような、書き込みにアクセス制御が出てくる階層でも、読み込みはできてしまいます。

python

1filename = "C:\Program Files\hogehoge.txt" 2with open(filename, 'r', encoding='utf-8') as f: 3 print(f.readline())

読み込んだ結果をどこかに送信されていたらと思うと、精神衛生上よくありません。

Windowsを業務で扱われる方も多いと思います。
業務で使えば盗まれたくないファイルなどもあると思います。
エンジニアの方でしたら、秘密鍵などは盗まれたくないはずです。(個人で使用する範囲では、SSHサーバに2段階認証を持たせて対策しています)

WEBで検索をかけた範囲ですぐに解決できる問題ではなかったため質問させて頂きます。
このサイトが参考になるといった回答でも助かります。
回答お待ちしています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/09/29 04:15

> しかし、Windowsにそのような機能は無いように思われます。 あります。
kdr

2020/09/29 07:03 編集

目的を明記していませんでした。 行いたいことは、重要なファイルをほかのソフト・プログラムから読み取られないようにすることです。
Zuishin

2020/09/29 07:12

My Document などの個人のフォルダはデフォルトで守られているのでアクセス権に関して言えば追加の設定は必要ありません。ただし Linux 等と同じく、管理者権限を持っていたり権限を昇格したりすればアクセスできます。またハードウェアが盗難された場合には権限は無力です。
SHOMI

2020/09/29 17:56

>ハードウェアが盗難された場合には権限は無力です これも考慮するならBitLockerなどによるディスク暗号化も必要ですね
guest

回答3

0

詳しくは忘れましたが、

  1. エクスプローラで該当のフォルダを開く
  2. 右クリックでプロパティ
  3. セキュリティ

で変更できませんか?

投稿2020/09/29 04:12

kyoya0819

総合スコア10429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kdr

2020/09/29 07:14

ご回答ありがとうございます。 アクセスコントロール(ACL)の存在を知っていたのですが、使いこなせていないために混乱していました。 本音を言えば、ACLの用いてどうやったら重要なファイルを守れるか、まで記述が欲しかったです。
guest

0

フリーソフトで、フォルダ単位でパスワードかけて読み出せなくさせるツールがありますが、そういうのはどうでしょうか

投稿2020/09/29 04:10

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kdr

2020/09/29 07:17

ご回答ありがとうございます。 パスワードをかける手法も有用ですね。 権限のあるユーザで切り替える手間と、パスワードを打ち込む手間を考えると、後者の方が早い気がします。 一度調べてみたいと思います。
guest

0

ベストアンサー

しかし、簡易的なpythonスクリプトで"C:Program Files/"以下のような、書き込みにアクセス制御が出てくる階層でも、読み込みはできてしまいます。

Linuxでも/binとか/etcとか読取権限のあるディレクトリは読めてしまうので同じです。

業務で使えば盗まれたくないファイルなどもあると思います。

WindowsでもLinuxでもapache(質問に記載されているのでこれを例に)の実行ユーザーを指定し、apacheの実行ユーザーにはアクセス権限のないディレクトリに「盗まれたくないファイルなど」を保存しておけばよいです。

蛇足ですが、処理系によっては指定した場所以外は読み書きできなくするような設定が存在する場合があります。

例としてPHPではini.open-basedirという設定があり、たとえファイルシステムで権限が付与されていたとしても、PHPスクリプトではここに指定したディレクトリ配下以外は読み書きできなくなります。

(php.net)コア php.ini ディレクティブに関する説明 - ini.open-basedir

スクリプトから include や fopen() などでファイルシステムにアクセスしようとしたときに、そのファイルの場所をチェックします。 ファイルが指定したディレクトリツリーの外にある場合は、PHP はそのファイルへのアクセスを拒否します。 シンボリックリンクの解決も行うので、 シンボリックリンクでこの制限を回避することはできません。 存在しないファイルへのシンボリックリンクは解決できないので、 ファイル名を open_basedir と比較します。

投稿2020/09/29 05:02

Y.H.

総合スコア7918

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kdr

2020/09/29 07:23 編集

あやふやな質問に具体的に答えて頂きありがとうございます。 頭の整理ができたきっかけになったため、こちらをベストアンサーにさせていただきます。 もし秘密鍵(といった重要なファイル・フォルダ)を守りたいのであれば、秘密鍵を読み取り用のユーザを作成し、そのユーザのみが読み取りできるようアクセスコントロールをする。 そして、秘密鍵を用いた操作をしたい場合は一時的にユーザを切り替える、といった手順を踏めばよいのだと思い至りました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問