GNU/Linux >> Linux の 問題 >  >> Linux

ハードリンクの作成 - パーミッション?

ハードリンク alice を作成するには write+execute が必要です target-dir の権限 すべてのケースで。 target.txt に必要な権限 異なります:

  • If fs.protected_hardlinks = 1 次に alice target.txt のどちらかの所有権が必要です または少なくとも read+write
  • If fs.protected_hardlinks = 0 次に、任意のアクセス許可のセットで十分です。 000でもいいです。

同様の質問に対するこの回答には、この質問に回答するための情報が欠けていました。

http://kernel.opensuse.org/cgit/kernel/commit/?id=800179c9b8a1 から [私のものを強調]:

<ブロック引用>

ハードリンク:

システムファイルと同じパーティションにユーザーが書き込み可能なディレクトリを持つシステムでは、長年にわたるセキュリティ問題のクラスは、/tmp のようなワールド書き込み可能なディレクトリで最も一般的に見られる、ハードリンクベースのチェック時間と使用時間の競合です。 .この欠陥を悪用する一般的な方法は、特定のハードリンクをたどるときに特権の境界を越えることです (つまり、ルート プロセスが別のユーザーによって作成されたハードリンクをたどります)。さらに、ユーザーが潜在的に脆弱な setuid/setgid ファイルを「固定」できるため、管理者が実際にシステムを完全にアップグレードしないという問題が存在します。

解決策は、ユーザーが既に既存のファイルの所有者であるか、既存のファイルへの読み取り/書き込みアクセス権を既に持っている場合にのみ、ハードリンクの作成を許可することです .


Linux
  1. LinuxのUmaskとは

  2. Linuxファイルパーミッションの基本

  3. Linuxパーミッション:chmodの紹介

  1. ファイルのアクセス許可と保存?

  2. Linux –フォルダのアクセス許可を変更しますか?

  3. Rsyncはディレクトリのアクセス許可を変更していますか?

  1. Linuxの権限101

  2. ディレクトリへのハードリンクをシミュレートしますか?

  3. スーパーホスティングによる権限の修正