問題タブ [access-rights]

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 投票する
2 に答える
187 参照

security - セキュリティモデルの選び方

Webサイトにアクセス権を実装するための最良のセキュリティモデルを探しています。オブジェクトへのアクセスは、最初は次のルールに基づいて許可する必要があります。

  • ユーザー
  • ユーザー・グループ
  • 階層
  • パーミッション(CRUD)

使用できるセキュリティモデルと、それぞれの長所と短所は何ですか?

ありがとうございました!

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

c# - レジストリが予想とは異なる場所に書き込まれるのはなぜですか?

次のように、レジストリ サブキーとそれに対応する値をレジストリに書き込もうとしました。

ここでの問題は、(regedit を介して) 手動で場所を調べたときに、 のフォルダーが表示されないことSOFTWARE\Apple\BananaですHKLM

Registry.LocalMachine.OpenSubKey(subKey)しかし、上記のコードを再度実行してデバッグすると、両方ともrk.GetValue(regKey)保存前の値が生成されることがわかります。それでも、regeditを介して指定された場所に値が表示されません。したがって、レジストリを検索すると、次の場所に上記のキーと値が表示されます。

  1. HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Apple\Banana

  2. HKEY_USERS\S-1-5-21-44266131-1313801407-2392705078-1000\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Apple\Banana

どちらの下でも、値は保存したとおりのままです。だから私はこれが私のアプリが値を読み取る場所からであることを理解していますが、私のコードではそれを呼び出しHKLM\SOFTWARE\Apple\Banana\ます..

  1. なぜこうなった?アクセス権の問題に関連していますか?

  2. これは予想される動作ですか?ある意味で、この値は私にとって非常に重要なので、自動再配置に関連するリスクがあるかどうかを知っているだけです!

  3. 正確な場所に残るようにレジストリに書き込む適切な方法はありますか..

私のアカウントは管理者 1 で、32 ビットの Windows 7 を使用しています。

編集:私が知ったように、レジストリエントリはHKLMではなく現在のユーザーの場所に保存されています。また、別のアカウントから reg 値を照会すると、値が取得されません。要するに、まずHKLMに保存しても意味がありません:(

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

linux - Linux で異なるユーザー アカウントを使用してアプリケーションをインストールする

linuxオペレーティング システムへのアプリケーションのインストールについて基本的な質問があります。例としてOracle dbのインストールを考慮して、私の問題を表現します。Oracle データベースをインストールするときに、dbaand というユーザー グループを作成し、このグループに というユーザーを作成しましたora112。したがって、このユーザーはデータベースをインストールできます。私の質問は、ora112使用umaksがに設定されている場合077、他の使用はOracleデータベースを構成できないということです。なぜこの慣行に従う必要があるのでしょうか。へのアプリケーションのインストールで認められている手順ですかLinux。あなたの経験を私と共有してください。この問題を調査していただきありがとうございます

Javaこの方法でアプリケーションをインストールするとします。Javaこのアクセス制限により、別のユーザー アカウントに属する他のアプリケーションは、このコンピューターで実行できなくなります。

アプリケーションのインストール時に使用されるデフォルトの権限は何ですか。ですか770

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

web-services - ユーザーの表示権限に基づくさまざまな REST リソース コンテンツ

アクセス権に基づいて、異なるユーザーに対して同じ質問に対して異なる回答を提供したいと考えています。私はこの質問を読みました:

RESTful 応答でのプライベート データの除外

しかし、REST についての私の理解では、特定のリソースは特定の場所に存在する必要があり、関心のある情報の量に応じて複数存在する必要があるため、/people.xmlとの両方を提供する必要があるという受け入れられた回答には同意しません。/unauthenticated/people.xmlの。

私が設計しているシステムは、あのシステムよりもさらに複雑です。ユーザーが多数の友達のサークルを作成し、それらにさまざまなアクセス権を割り当てたとします。たとえば、私の「知人」サークルは私の誕生日にアクセスでき、「専門職」サークルは私の職歴にアクセスできるかもしれませんが、その逆はできません。私が言及した質問からの回答を適用するには、ユーザーのすべてのサークルを取得する方法が必要です (セキュリティ上の理由から秘密にしておく必要があるかもしれませ/circles/a/users/42/circles/b/users/42) /circles/c/users/42。結果をマージして、利用可能な最大量の情報を表示します。明らかに、他のサークルが取得するすべての情報を取得する単一のサークルが必ずしも存在するわけではありません。これは十分にトリッキーだと思います (おそらく、いくつかの種類のオブジェクトでこれを行う必要があり、将来のバージョンでは別の手順が必要になる可能性があることに注意してください) 私のサークルのいくつかで?その問題も解決できますか?上記のクエリのいずれにも応答することを拒否し、回答を得ることができる新しいクエリを思いついたとしても、この特定のユーザーが個々のアクセス制限のために異なる方法で扱われているという事実が明らかになります.

ここで何が欠けていますか?RESTful Web サービスを開発することは可能ですか?

動作が RESTful ではないという結論が得られた場合、これは依然として REST 契約を破っても道徳的に問題ない状況として構成されますか? もしそうなら、マイナスの影響は何ですか?たとえば、プロキシ キャッシュの問題のリスクはありますか?

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

perl - ファイルテスト演算子が機能しないのはなぜですか (Perl)?

「プログラミングPerl」では-w、ファイルテスト演算子は次のように説明されています。

–w ファイルは有効な UID/GID によって書き込み可能です。

私は2つのファイルを持っています:

suidが on に設定されてscript.plいるため、ユーザー caligula として実行すると、有効な UID/GID は testuser のものになるはずです。script.plは:

しかし、実行するとcaligula@ubuntu-host:~$ ./script.pl、出力は常にfalse. その演算子の正しい使用法を理解していなかった可能性があります。

私の感謝。

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

android - この Google LVL ポリシーの実装はかなり安全ですか?

ServerManagedPolicyGoogle がライセンス検証ライブラリで提供するデフォルトは、サーバーの応答に依存してライセンスの再検証間隔を決定します。これにより、永続的に数日ごとに再検証が必要になります。これはユーザーにとって煩わしいだけでなく、長期間接続されていないユーザーにとっては深刻な問題になる可能性があります。(数週間インターネットに接続できないことが予想されるユーザーから問い合わせがありました。これがこの質問の動機です。)

要約すると、次の 2 つのことを達成するアルゴリズムを探しています。

  1. に比べて接続要件が大幅に軽減されServerManagedPolicyます。
  2. 同レベルの著作権侵害対策を提供します。

この質問への回答として提案されているポリシー アルゴリズムは、Google のサーバーからの応答で提供される時間を無視し、代わりに約 1 か月の LICENSED 有効期限を使用し、数日ごとにライセンス チェックを試行します (有効期限を延長する場合)。 LICENSED 応答が受信されます)。

このアプローチは最初の目標を部分的に解決しますが、ユーザーがアプリを使用している間、月に 1 回接続する必要があるため、(少なくとも 1 人の) ユーザーにとっては機能しません。

次のアルゴリズムは最初の目標を達成しますが、2 番目の目標についてはわかりません。このアルゴリズムの弱点を指摘するコメント、または別のアプローチの提案を歓迎します。

  1. 最初の実行時に、ライセンス チェックを行い、完全な機能を提供する前に LICENSED 応答を要求します。受け取ったら、比較的短い有効期限を設定します (ただし、Google Play が提供する払い戻し期間よりも長く、現在は 15 分です)。また、それを超える数日間の猶予期間を登録してください。
  2. ライセンスの有効期限が切れると、アプリは再びチェックを開始します。接続に失敗した場合 (機内モードなど)、猶予期間が終了するまで引き続き機能します。
  3. 猶予期間の満了後、通常のアプリの機能を許可する前に、2 回目の LICENSED 応答を要求します。
  4. 2 番目の LICENSED 応答を受け取った後、アプリのすべての機能を永続的に有効にし、再度確認する必要はありません。
  5. いずれかの時点で UNLICENSED 応答を受信した場合は、すべての機能を永久に無効にします。(もちろん、ユーザーはすべてのアプリ データを削除することで、手順 1 に戻ることができます。)

追加のポイント:

  • 最初のライセンス チェックを中止し、ライセンス チェックを行う前に返却期間の満了まで待つよう提案されました。最初の LICENSED 応答を要求する目的は、ライセンス チェックが失敗した後、ユーザーが単にアプリ プロセスを停止し、アプリ データを消去して、アプリを再起動する悪用を防ぐことです。(一度に 15 分間しか使用できない場合でも、アプリは価値を提供します。)
  • 2 回目の LICENSED 応答を要求する目的は、buy-run-backup-return-restore エクスプロイトを回避することです。
  • コールバック ライセンス チェックが良いアイデアかどうかを尋ねているわけではありません (これは、非推奨のコピー防止メカニズムの代わりに Google が提供しているものです)。また、著作権侵害対策に絶対確実なものはなく、Google のライセンス メカニズム全体を回避できることも承知しています (その場合、ポリシー アルゴリズムの設計に関するすべての問題は無関係です)。この質問の主なポイントは、他のポリシー( などServerManagedPolicy) と比較した、上記のアルゴリズムの (私たちにとっての) 相対的なリスクと (ユーザーにとっての) 利点です。
0 投票する
3 に答える
2143 参照

php - ファイル内のZendメタデータキャッシュ

多くDESCRIBEクエリが実行され、パフォーマンスに影響を与えたため、ZendFrameworkでメタデータキャッシュを設定しました。

私は確かに作成されたキャッシュファイルを見ることができ、ウェブサイトはうまく機能しています。

ただし、単体テスト、またはDBクエリを実行する同じアプリケーションのスクリプトを起動すると、Zendがキャッシュファイルを読み取れなかったため、エラーが発生します。

これは、Webサイトでは、キャッシュファイルがwwwユーザーによって作成されており、 phpunitまたはスクリプトを実行すると、ユーザーと一緒にそれらを読み取ろうとして失敗するためです。

それに対する解決策はありますか?私はいくつかのクイックフィックスのアイデアを持っていますが、私は良い/安定した解決策を探しています。そして、可能な限りphpunitやスクリプトを実行することは避けたいと思いwwwます(実際的な理由から)。

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

c# - C# で MemoryMappedFile セキュリティ オプションを正しく設定する方法

私の問題は、C++/C# で共有メモリ (MemoryMappedFiles) を読み書きする方法ではなく、C# で MemoryMappedFile のセキュリティ オプションを正しく設定する方法についてです (私は C# にまったく慣れていないので、質問があれば許してくださいばかです)。

共有メモリ スペースを設定するサービスとして (SYSTEM アカウントで) プロセスを実行しています。次に、その共有メモリ空間にアクセスするサービスとして (SYSTEM アカウントで) 実行されている別のプロセスもあります。

両方の最初のバージョンは C++ で書かれており、主にサーバー (「ライター」) が行います (Global\mySegment という名前の 1024 バイトのメモリ セグメントが必要だとします):

そして読者:

このコードはうまく機能します。つまり、ライターによって作成された共有メモリ スペースは、どのような状況でもリーダーからアクセスできます (つまり、ライターがサービスとして実行されている場合、または現在の (ログインしている) ユーザー アカウント (管理者権限を持つユーザー) で実行されている場合) およびリーダーがサービスとして実行されている場合、または同じ現在の (ログインしている) ユーザー アカウントで実行されている場合)。

今、私はこのコード (ライターのみ) を C# に変換し、主に次のことを行いました。

このライターでは、ライターが現在のユーザーによって実行されている場合にのみ機能します。それがサービスとして起動されると (したがって「SYSTEM」ユーザーによって実行されると)、リーダーは共有メモリ空間にアクセスできなくなります (どちらの場合も、リーダーが現在のユーザーによって実行されるか、またはSYSTEMによるサービス)。

だから私はC++行を翻訳しようとしました

C#に。私が見つけた最も近い実装は次のとおりです。

しかし、その結果、前述の 4 つの service-no service の組み合わせのすべての下で、リーダーは共有メモリ空間にまったくアクセスできなくなります。

この動作が C# コードに関して完全に直感に反していることを考えると、私は少し迷っています...

誰かがこの問題を解決する方法について良い実装またはアイデアを持っていますか?

どうもありがとう。

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

permissions - CMake:インストール中に特定のアクセス権でディレクトリを作成する方法は?

/ optにインストールされているアプリケーションがあります(これはここで行われる方法です)。誰でも書き込み可能でなければならないlogsディレクトリを除いて、rootに属するすべてのファイルとフォルダを持っていても問題ありません。

ログディレクトリを作成するには

次に、ディレクトリをchmodするにはどうすればよいですか?

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

c# - FolderBrowserDialog を使用して特定のフォルダーへのアクセスを制限する

アプリで既定の保存パスを設定するためにユーザーが選択できるフォルダーを制限したいと考えています。アクセス権を確認し、ユーザーのオプションを制限するか、ユーザーが選択した後にエラーを表示できるクラスまたはメソッドはありますか? FileSystemSecurity.AccessRightType は可能ですか?