ここで私の質問に答えてもらい、結果についていくつかの調査を行った後、私はそれをすべて非常によく説明している記事を見つけました。今後の参考のために、この記事の一部をここで共有したいと思います。
表示許可
chmod
ファイルまたはディレクトリのアクセス許可を変更するために使用するには、まず現在のアクセスモードが何であるかを知る必要があります。ターミナル内のディレクトリの内容を表示するには、cd
そのディレクトリまでで、次を使用します。
$ ls -l
-l
スイッチを使用しls
ないと、ディレクトリ内のファイルまたはフォルダーの名前のみが表示されるため、スイッチは重要です。
以下は、ls -l
私のホームディレクトリでの使用例です。
total 128
drwxr-xr-x 2 peter users 4096 Jul 5 21:03 Desktop
drwxr-xr-x 6 peter users 4096 Jul 5 17:37 Documents
drwxr-xr-x 2 peter users 4096 Jul 5 13:45 Downloads
drwxr-xr-x 2 peter users 4096 Jun 24 03:36 Movies
drwxr-xr-x 2 peter users 4096 Jun 24 03:38 Music
drwxr-xr-x 2 peter users 4096 Jun 26 00:09 Pictures
-rw-r--r-- 1 peter users 354 Jul 6 17:15 chmodtest
列の意味
最初の列は各ファイルのタイプです。
-
は通常のファイルを示します。
d
は、ディレクトリ、つまり他のファイルまたはフォルダを含むフォルダを示します。
p
名前付きパイプ(別名FIFO)を示します。
l
シンボリックリンクを示します。
その後の文字は許可です。この最初の列は最も関心のあるものです。2番目の列はファイル内にあるリンクの数であり、無視しても問題ありません。3番目の列には2つの値/名前があります。最初の列(この例では「peter」)は、ファイルを所有するユーザーの名前です。2番目の値(この例では「ユーザー」)は、所有者が属するグループです(グループの詳細を参照)。
次の列は、ファイルまたはディレクトリのサイズ(バイト単位)です。その後の情報は、ファイルまたはディレクトリが最後に変更された日付と時刻、そしてもちろんファイルまたはディレクトリの名前です。
許可の意味
最初-
またはの後の最初の3文字はd
、所有者が持つ許可です。次の3文字は、グループに適用される権限です。最後の3文字は、他の全員に適用される権限です。
3つの文字の各セットは、で構成されてr
w
とx
。r
は常に最初の位置にあり、w
常に2番目の位置にあり、x
常に3番目の位置にあります。r
は読み取り許可、w
書き込み許可、x
実行許可です。-
これらの文字のいずれかの場所にハイフン()がある場合、許可が与えられていないことを意味し、その文字が存在する場合は許可されます。
フォルダー
フォルダの場合、モードビットは次のように解釈できます。
r
(読み取り)は、指定されたディレクトリの目次を読み取る機能を表します。
w
(書き込み)は、実行ビットが設定されている場合にのみ、指定されたディレクトリの目次を書き込む機能(新しいファイル、フォルダーの作成、既存のファイル、フォルダーの名前変更、削除)を表します。それ以外の場合、この許可は無意味です。
x
(実行)は、コマンドcdを使用して特定のディレクトリに入り、そのディレクトリ内のファイル、フォルダにアクセスする機能を表します。
chmodコマンドを使用して権限を変更する
chmod
Linuxおよびその他のUnixライクなオペレーティングシステムのコマンドです。ファイルまたはディレクトリのアクセス許可(またはアクセスモード)を変更できます。
次の2つの方法で権限を変更できます。-テキストベースchmod
-番号ベースchmod
テキスト方式
ファイルの許可モードまたはアクセスモードを変更するには、ターミナルでchmodコマンドを使用します。以下は、コマンドの一般的な構造です。
chmod who=permissions filename
誰が手紙の範囲から任意であり、それぞれがあなたが誰に許可を与えるつもりであるかを示します。それらは次のとおりです。
u - The user that owns the file.
g - The group the file belongs to.
o - The other users i.e. everyone else.
a - all of the above - use this instead of having to type ugo.
既に説明したようにアクセス権が同じである(r
、w
およびx
)。
chmodコマンドを使用すると、=の代わりに+または-を使用して、既存のセットに許可を追加および削除できます。これは、本質的に権限を再書き込み上記のコマンドとは異なっている(つまりから許可を変更するr--
にrw-
あなたはまだ含める必要がある、r
などw
の後=
でchmod
コマンド。あなたは逃した場合はr
、それが離れて取るr
としての権限をこれらは=で書き換えられています。+と-を使用すると、現在のアクセス許可のセットを追加または削除することでこれを回避できます。
番号方式
chmod
番号を使用して権限を設定することもできます。
番号を使用することも、3つの所有者、グループ、およびその他すべてのアクセス許可を同時に編集できる別の方法です。コードのこの基本構造は次のとおりです。
chmod xxx file/directory
ここで、xxxは3桁の数字で、各数字は1から7のいずれかになります。最初の数字は所有者の許可に、2番目の数字はグループの許可に、3番目の数字は他のすべての許可に適用されます。
この数値表記では、値r、w、およびxには独自の数値があります。
r=4
w=2
x=1
3桁の数字を作成するには、所有者、グループ、およびユーザーにどのアクセス許可を付与するかを検討し、それらの値を合計する必要があります。たとえば、ディレクトリの所有者に読み取り/書き込みおよび実行のアクセス許可を付与し、グループと他のすべてのユーザーに読み取りおよび実行のアクセス許可のみを付与したいとします。私はそのような数値を思い付くでしょう:
Owner: rwx = 4+2+1=7
Group: r-x = 4+0+1=5 (or just 4+1=5)
Other: r-x = 4+0+1=5 (or just 4+1=5)
Final number = 755
$ chmod 755 filename
これは、次を使用するのと同等です。
chmod u=rwx filename
chmod go=rx filename
ほとんどのフォルダ/ディレクトリは755に設定され、所有者への読み取りと書き込みおよび実行を許可しますが、他のすべてのユーザーへの書き込みを拒否し、ファイルは通常644が所有者の読み取りと書き込みを許可しますが、他の全員の読み取りのみを許可します。非実行可能ファイルにはx権限がないことに注意してください-ここでも同じです。