私は非常に良いディレクトリ設定を持っています(例:readmeファイル、簡単なナビゲーションなどで構成されています)。私は人々がこのディレクトリ内のファイルにアクセスし、自分のディレクトリ(同じコンピュータ上にある)にもコピーできるようにしたいのですが、私のディレクトリが揺れたり混乱したりしたくありません。そうでなければ、すべてが壊れる可能性があります。とにかく、ディレクトリ内の特定のコマンドをロックすることは可能ですか、それとも特定のファイルをロックすることは可能ですか?
たとえば、誰かが次のようにスペースを自由に移動できる必要があります。
$ cd ThisDirectory
$ cd ThatDirectory
ただし、次のようにファイルを移動することはできません。
$ mv ThisDirectory
$ mv ThatDirectory
特定のファイルのmvコマンドをロックする方法はありますか?
ベストアンサー1
誰でも読むことができるようにファイルの権限を変更するだけです。ただし、変更することはできません。
ls -l
ファイルのリストを作成するために使用すると、次の結果が表示されます。
ls -l file
-rw-rwxr-- 1 rafael Grp 1620 Aug 18 14:58 file
ダッシュ/文字設定の最初のセットでは、3つのユニークな(相互排他的ではない)グループを許可します。ユーザー(あなた),グループ、他の人(またはこのコンピュータ/サーバーのすべての人)。
したがって、上記の例は次のように理解できます。
- It's a file
rw- Owner may read and write
rwx Others in group may read, write and execute
r-- Other users (not in group) may read
他の人がファイルを変更できないようにするには、次のように設定します。
chmod go-w file
これにより、あなた以外は誰も使用できないように設定されます。
ls -l file
-rw-r-xr-- 1 rafael Grp 1620 Aug 18 14:58 file
次のダッシュ/文字を詳しく見てみましょう。
-rw-rwxr-- 1 rafael Grp 1620 Aug 18 14:58 file
1つ目はファイルの種類(ディレクトリ、シンボリックリンク、名前付きパイプ)を表します。その後、3つのシンボルで構成される3つのグループがあり、各グループは次のもので構成されます。アル字型(のため読む)、一つ勝つ(のため書く)、まだ一つあります。X(のため金利X実装する)または権限が無効になっている場合、その場所はダッシュで埋められます。
ディレクトリには同じ権限が必要で、すべてのユーザーに対して「実行」権限を追加する必要があります。ディレクトリの「実行」とは、ディレクトリ内のすべてのエントリにアクセスすることを意味します。ディレクトリに書き込み可能な場合は、そのディレクトリのエントリが削除されたり、名前が変更されたりする可能性があります。
コマンドでもchmod
3つの部分に分けられます。行く(グループなどを表す)、「-」(マイナス記号)は削除(権限)、変更(表示)権限です。
だから
chmod u-wx file # prevent you reading the file or executing it
chmod u+wx file # permit you to read nte file or execute it
chmod ug+rx file # permit you and your group to read or execute it
chmod ugo-rwx file # permit no access, for anybody
最後のポイント
chmod
また、再帰もサポートさ-R
れるため、myDirというディレクトリがある場合:
chmod -R go-w myDir # protect everything in that directory and its sub directories/files
chmod -R go+rX myDir # grant reading access in that directory and its sub directories/files
これを行う必要があります。
質問ありがとうございます。他の人にも役立つことを願っています!