問題タブ [file-permissions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
58619 参照

vbscript - vbscript : fso.opentextfile 権限が拒否されました

私のコード セグメントでは、ファイル名をスクリプト化すると、次の行でアクセス許可が拒否されます。

ここにスクリプトがあります

vbscript ドメイン管理者のアクセス許可を割り当てました。何か案は?

前もって感謝します

0 投票する
2 に答える
2278 参照

c# - .NET で EFFECTIVE 削除 (変更) または書き込み権限をプログラムで確認するにはどうすればよいですか?

長い質問を前もって申し訳ありません。私が本当に興味を持っているのは、実行中の Windows ID が ASP.NET Web サービス アプリケーションのディレクトリ (またはファイル) に書き込むための十分な Windows 特権を持っているかどうかをプログラムで確認する方法です。しかし、特定のディレクトリまたはファイルに対するユーザーの有効な削除 (変更) 権限を取得することに落ち着きます。問題は、一時ファイルを書き込むか、必ずしも IO アクションを実行して例外を処理することなく、これを実行できるようにしたいということです。

はい、これについては既に質問があります ( .Net で C# を使用して書き込み権限があるかどうかをプログラムで判断するにはどうすればよいですか? を参照してください)。通常、最善の方法は IO アクションを試して、例外 -- System.IO メソッドは System.UnauthorizedAccessException をスローして、権限拒否の結果としての失敗を示します。ただし、ファイルのアップロードの場合、問題のファイルまたはフォルダーを書き込もうとするのはアップロード後のみであるため、データをアップロードする時間とリソースを浪費する前に権限を確認したいと思います。http 経由で 2 GB のファイルをアップロードしているユーザーが、アップロードが完了した後に、ファイルを宛先にアップロードする権限がないことを通知されるだけであることに同情します。

実際の書き込みを実行したくない場合に書き込みアクセスをテストする通常の方法は、一時ファイルに書き込むことです。他の質問には、これを指摘する答えがあります。これが私たちのコードが現在行っていることです。ただし、Windows セキュリティでは、削除権限なしで書き込みアクセスが許可されます。書き込みアクセス権のみを持ち、削除権限を持たないユーザーは、あらゆる種類の削除されていない .tmp ファイルを残してしまいます。いいえ、ドメイン管理者アカウントを使用して tmp ファイルの ACL をリセットしてから削除したくはありません。私が取っているアプローチは、ユーザーが System.IO.Directory.GetAccessControl(..) または System.IO.File.GetAccessControl(..) を使用して書き込み権限を持っているかどうかを確認し、さまざまなアクセス ルールと ACE の戻り値を処理することです。 ...しかし、これでもまだ EFFECTIVE 権限の扱いに問題があります。つまり、ほとんどの場合、ユーザーも検索する必要があります。オブジェクトに対するアクセス許可を持っている、ACE にリストされているグループのいずれかのメンバーシップ。もっと簡単な方法があるに違いありません....ありませんか?

0 投票する
3 に答える
1920 参照

file-permissions - PHP-CLI+ファイルのアクセス許可

コマンドラインでphpスクリプトを実行する場合、現在のユーザーの読み取り/書き込み権限で実行されますか、それとも何ですか?

0 投票する
6 に答える
636 参照

php - ファイルパーミッションをいじらずにPHPキャッシング(また、PHPでASPアプリケーション変数をエミュレートする方法)

私は、さまざまなWebホストを使用して、かなり非技術的なユーザーによって展開される多くの異なるクライアント/サイトに送信されるPHPスクリプトにある種のキャッシュを実装しようとしています。ユーザーの非技術的な性質のため、ファイルのアクセス許可を微調整するようにユーザーに依頼することは避けたいと思います。キャッシングはセッション間で行う必要があるため、セッション変数の使用は不要です。これをASPでコーディングする場合は、アプリケーション変数を使用しますが、PHPには存在しません(私の知る限り)

誰かがこれを達成する方法について何か提案がありますか?

これが私が考えたいくつかの可能性です、これらについてのコメントは役に立つでしょう:

  • システム一時フォルダー内のファイルを介したキャッシュ-sys_get_temp_dir()(またはPHP4のホームロールされた同様の関数)を使用して、そのようなフォルダーを見つけることができます。ここでの欠点は、openbase_dir制限を使用しているホストではおそらく機能しないことです。
  • 私が見たいくつかのWebサイトでは、PHPをだましてすべてのユーザーセッションを同じセッション状態で共有させ、それによってセッション変数をセッション変数のように動作させることに言及しました。もちろん、今はその投稿を見つけることができません...これはとにかく怖いようです。(この質問をもう一度見つけたら、この投稿へのリンクで更新します)
  • AmazonのSimpleStorageServiceのようなサードパーティのデータストアを使用する-やり過ぎのようです
  • 私が制御するサーバーにデータをキャッシュし、ヒットするたびにクライアントにそこから新しいデータをダウンロードさせます。

繰り返しになりますが、これらのアイデアや新しいアイデアについてのコメントをいただければ幸いです。

更新: session_id()を使用して共有セッション状態を使用しようとしましたが、機能しません。各セッションは独自の「GlobalCache」を維持していますが、その理由は何ですか?:

更新: memcachedの使用を提案する人もいますが、これは実際には一部の人にとっては優れたソリューションですが、エンドサーバー環境を制御できないため、オプションではありません。アイデアは、人々が箱から出してすぐに機能する共有ホスティングアカウントにFTPで接続できるスクリプトを用意することです。

更新:誰かがスクリプトを使用して独自のキャッシュフォルダーを作成することを提案しましたが、既に書き込みアクセス許可が設定されているフォルダー内にそのようなフォルダーを作成する必要はありませんか?

更新、解決策が見つかりました:グローバルセッションスクリプトの問題を理解し、その影響に対する独自の回答を投稿しました。みんな助けてくれてありがとう。

0 投票する
1 に答える
1691 参照

c# - ファイルのアクセス許可を変更して、Vista が VirtualStore ディレクトリ内のファイルに書き込めないようにするにはどうすればよいですか?

私のプログラムが最初にインストールされると、ユーザーの AppData ディレクトリにファイルが配置され、プログラムは定期的にそのファイルに書き込みます。問題は、Vista ではユーザーの AppData ディレクトリにあるファイルに書き込みが行われず、「VirtualStore/ProgramData」ディレクトリにあるそのファイルのコピーに書き込まれることです。ユーザーの AppData ディレクトリにある元のファイルは決して変更されません。プログラムを実行すると、VirtualStore ディレクトリ内のファイルにしかアクセスできないようです。

C# アプリ内からそのファイルのアクセス許可を変更して、プログラムが VirtualStore ディレクトリではなく AppData ディレクトリの元のファイルに書き込むようにする方法はありますか?

ありがとう、

ジェフ

0 投票する
2 に答える
1824 参照

c# - Program File フォルダーに書き込む必要がある自己更新 .NET クライアント アプリケーション

類似: パスが保護されている場合、Windows Vista UAC の昇格を要求しますか?

c:\Program Files (Windows Vista) に .NET クライアント アプリケーションがインストールされています。このアプリケーションはそれ自体を更新する必要がありますが、権限の問題により更新されません。自動アップデーターはいくつかのアセンブリを単純に置き換える必要がありますが、それらはすべて c:\Program File の下にあり、アプリケーションは次の例外をスローします。

System.UnauthorizedAccessException: パス 'C:\Program Files...' へのアクセスが拒否されました。

アプリケーションをインストールできる場所と許可を制御することはできません。これに対する回避策はありますか? 管理者権限を数秒間要求することはできますか? UAC ウィンドウをポップすることは可能ですか? 回避策があると確信しています...そうでなければ、Firefoxはどのように自分自身を更新できますか?

助けとアイデアを前もってありがとう!

0 投票する
1 に答える
89 参照

asp.net - 有料の Web ホスティングに FileIOPermission がないのは正常ですか?

私は現在、IIS6 と ASP.NET2.0 を使用する共有サーバーで Web ホスティングを購入しています (彼らは 3.5 を宣伝していますが、私の調査ではこれが誤りであることが証明されています)。

3.5 に依存する ASP.NET アプリをホスティング上でコンパイルするためにいくつかの調整を行ったところ、別の問題が発見されました。

テクニカル サポートに電話したところ、.NET 1.1 のみを使用するように IIS6 を構成した場合にのみ、このアクセス許可を利用できるとのことでした。これだけでは十分ではないと考えて、私は的外れでしょうか?

0 投票する
12 に答える
3429 参照

windows - Windowsでファイルを保護する方法

更新3: [セキュリティ]タブを使用したアクセスの制限が機能するようになりました。(手動で)プログラムで(Visual C#を使用して)実行する方法と、単純なユーザーアカウントの管理者アカウントを使用してファイルにアクセスする方法を検討しています。ヒント-Windowsでこの機能に気づきました。右クリックして[名前を付けて実行]を使用し、管理者パスワードを入力すると、ファイルにアクセスできます。

更新2:セキュリティタブを表示する方法を見つけました

[セキュリティ]タブを表示するには

コントロールパネルでフォルダオプションを開きます。([スタート]、[コントロールパネル]、[外観とテーマ]、[フォルダーオプション]の順にクリックします。)

[表示]タブの[詳細設定]で、[シンプルなファイル共有を使用する[推奨]]をオフにします。

更新1:ファイルにアクセス許可を与える方法を提案する次の記事を見つけましたが、プロパティをクリックしてもセキュリティタブが見つかりません。ありますか?それを取得する方法のアイデア

変更されないように保護したいファイルがあります。私にそれを暗号化するとは言わないでください、これは問題を解決しません、私はユーザーがファイルを変更できないようにしたいのですが、私(私のプログラム)だけです。Windowsファイルの認証にはどのような種類がありますか。私が言うことは認証について愚かですが、ユーザープロファイルの「ntuser.dat.LOG」のように一部のWindowsファイルにアクセスできません。このファイルを開こうとすると、開かれません。

そのようなものが欲しいのですが、このファイルはWindowsが使用しているようです。右。しかし、プログラムがシャットダウンした場合、この場合もファイルを変更したくありません。どうすればいいですか?

私は完全な詳細な解決策を求めません、私はそれが複雑であるように思われるので、私はアイデア、提案、ヒント、またはそれが役立つとあなたが知っている何かを望んでいます:p