ユーザーがすでにファイルに対する読み取りおよび書き込み権限を持っている場合、ファイルの内容をコピーして削除し、再作成して権限を実行することはできませんか? 「x」ビットがないと、ユーザーはファイルの内容を実行できませんか?
答え1
ユーザーがファイルの所有者である場合は、読み取り権限がなくてもファイルを読み取り可能に設定してから読み取ることができます。書き込み可能にして編集できます。含まれているディレクトリに書き込み可能なビットがある場合は削除できます。したがって、あなたのロジックによると、「w」と「r」のビットも役に立たないようです。
それらは呼び出されますファイルモード、と同様特権いくつかの理由。アクセスについて話すとき、これは単なる権限になります。その他ユーザーが提供したファイルです。
ユーザーは通常、問題なくプログラムを実行します。結局、コンピュータが存在する理由は、ユーザーがプログラムを実行できるようにするためです。時には、ユーザーが独自のプログラム(またはスクリプト)を作成し、それを構築して実行できる必要があるかもしれません。一般ユーザー権限で実行されるプログラムが他のユーザーに大きなダメージを与えないようにシステムを設計する必要があります。一部のプログラムはより高い権限を持っています(たとえば、一部はSUIDです)、ユーザーはこれらのプログラムを直接作成することはできず、ファイルに敏感な特殊モードビットを設定するにはスーパーユーザーが必要です。
ただし、ユーザーが任意のプログラムを実行できず、管理者としてインストールしたプログラムのみを実行できる非常に限られた環境を作成することが目標である場合は、追加の措置を講じる必要があります。これらのアクションには以下が含まれます。
- ユーザーが「実行可能」ファイルを生成できないように、すべてのユーザー書き込み可能ディレクトリ(homes、tmpなど)を実行不可能ディレクトリとしてマウントします。しかし、これが完全に停止するわけではありません。ユーザーは、まだインストールされているインタプリタが接頭辞付きの独自のスクリプトを実行します。これは通常、必要なすべてのタスクを実行するのに十分です。
- SELinuxなどの必須アクセス制御を使用します。これは非常に安全ですが、非常に面倒です。