1. コマンドの概要
chmod は、ファイルまたはディレクトリのアクセス許可を変更するために使用されます。
chmod は、ファイル所有者とスーパーユーザー root のみが使用できます。
Linux のファイルとディレクトリのアクセス許可には、所有者 (u、ユーザー)、グループ (g、グループ)、およびその他 (o、その他) の 3 つのスコープがあり、すべてのユーザーは (all) で表されます。各範囲の権限は 3 ビットで表され、左から右に r (読み取り、読み取り)、w (書き込み、書き込み)、x (実行、実行可能) を表します。権限は文字または 8 進数で表すことができ、r は数値 4、w は数値 2、x は数値 1 に対応します。対応する許可ビットに許可がない場合、ls -l コマンドを使用して表示すると、水平バーとして表示されます。以下に示すように:
注:
(1) chmod を使用してシンボリック リンクの権限を変更する場合、実際に変更されるのはターゲット ファイルの権限です。chmod はそのシンボリック リンクの権限を変更できません。シンボリック リンクの権限は変更されるため、これはバグではありません。リンクは一度も使用されていません。
(2) chmod が再帰的である場合、シンボリック リンクに遭遇した場合、シンボリック リンクは無視されます。
1.1. Linux drwxr-xr-x の意味を説明する
上に示すように、ファイルには drwxr-xr-x 権限があることがわかります。
第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道
第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。
第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。
第8-10位表示其他用户所具有的权限。
2.chmod 構文
chmod [-cfvR] [--help] [--version] mode file...
パラメータの説明
モード: 権限設定文字列。形式は次のとおりです。
[ugoa...][[+-=][rwxX]...][,...]
で:
- u はファイルの所有者を表し、g はファイルの所有者と同じグループに属する人を表し、o は他の人を表し、a は 3 つすべてを表します。
- + は権限の追加を意味し、- は権限のキャンセルを意味し、= は権限の設定のみを意味します。
- r は読み取り可能、w は書き込み可能、x は実行可能、X はファイルがサブディレクトリであるか、ファイルが実行可能に設定されている場合のみを意味します。
その他のパラメータの説明:
- -c: ファイルのアクセス許可が実際に変更されている場合、変更アクションが表示されます。
- -f : ファイルのアクセス許可を変更できない場合にエラー メッセージを表示しません。
- -v: 権限変更の詳細を表示します。
- -R: 現在のディレクトリ内のすべてのファイルとサブディレクトリに同じ権限変更を加えます (つまり、再帰的に 1 つずつ変更します)。
- –help: ヘルプ情報を表示します
- –version : 表示バージョン
3. 例
(1) 現在のディレクトリ内のすべてのファイルとサブディレクトリを誰でも読み取り、書き込み、実行できるようにします。
chmod -R 777 *
或
chmod -R a=rwx *
(2) ファイル file1.txt を誰でも読めるようにします。
chmod ugo+r file1.txt
或
chmod a+r file1.txt
或
chmod +r file1.txt
(3) test.sh ファイルのすべてのユーザーの実行権限を減算します。
chmod -x test.sh
# 或
chmod a-x test.sh
(4) 記号的方法と数値的方法をそれぞれ使用して、ファイル test.sh の新しい権限を rwxr–r– に設定します。
# 符号方式
chmod a=rwx,g=r,o=r test.sh
# 数字方式
chmod 744 test.sh
参考記事:
https://dablelv.blog.csdn.net/article/details/102827264