で議論したようにUNIXの権限とファイルタイプの理解、各ファイルには次の権限設定(「ファイルモード」)があります。
- 所有者/ユーザー("
u
")、 - 所有者グループ( "
g
")と - 他のすべての人("
o
")。
私が理解したところによると、ファイル所有者は常に利用可能chmod
であり、所有者の下で実行されるすべてのアプリケーションも同じです。
所有者がいつでも権限を変更できる場合、所有者自身の権限を制限するのはなぜですか?
私が見ることができる唯一の用途は保護のためのものです。偶然意図的な場合は、削除または実行を簡単に克服できます。
ここに関連する質問があります。「所有者」権限が存在するのはなぜですか?グループ権限が足りませんか?所有者の権限を個々のユーザー(所有者)の仮想グループに置き換えることができない理由を説明します。対照的に、ここでは所有者が権限を持つ目的について尋ねています。原則としてu
、別の ""オクテットまたは別のグループ+ ACLを介して実装されているかどうか。
ベストアンサー1
所有者の権限を減らすにはいくつかの理由があります(グループの権限より低い場合はまれですが)。
最も一般的なのは、実行されないファイルに対する実行権限がないことです。多くの場合、シェルスクリプトは他のスクリプト(例えば、あなたのスクリプト
.profile
)から始まるように意図されたフラグメントであるため、最上位プロセスには適していません。コマンド補完は実行可能ファイルのみを提供するため、正しい権限は対話型シェルに役立ちます。誤ってファイルを上書きすることは大きな危険です。コマンドを誤って入力すると、これが発生する可能性があり、GUIプログラムではこれが発生する可能性がはるかに高くなります。カメラからファイルをコピーするときに最初にすることは、そのファイル(およびファイルに含まれるディレクトリ)を書き込み不可能にすることです。これにより、私が編集したものはコピーになり、元のファイルを上書きしないでください。
時には、ファイルを読み取れないことが重要なこともあります。 Emacsをアップグレードし、
~/lisp
ディレクトリ内のローカルパッケージに問題がある場合は、chmod -r
正常に起動できるまでオプションで無効にします(を使用して)。これにより、互換性の問題を解決しながら一度だけ読み取ることができます。
ユーザーの正しい権限セット表現意図性。ユーザーは権限を変更できますが、誠実に動作するプログラムはそうしません(少なくとも最初に尋ねる必要はありません)。権限を制限として表示する代わりにユーザー、ユーザー制限として処理プロセス与えられた時点でできること。