「chmod 666」の意味は何ですか?


47

Linuxを使用しています。の意味はchmod 666何ですか?


28
別名、サタンのコマンド。
モアブ

6
それが気になる場合(またはそれらの番号を覚えるのが面倒な場合)としても書くことができますchmod a=rw
スターブルー

3番目の引数が指定されていないため、役に立たないコマンド^^
kokbira

また、セキュリティ上の欠陥(すべてのユーザーがファイル/フォルダーを書き込むことができる)または無用のファイル/フォルダーのアクセス許可を生成する可能性があります
kokbira

回答:


112

chmod コマンドはファイル/フォルダーから属性を変更します:

  • chmod 666 file/folder すべてのユーザーは読み取りと書き込みはできるが、ファイル/フォルダーを実行できないことを意味します。
  • chmod 777 file/folder すべてのユーザーにすべてのアクションを許可します。
  • chmod 744 file/folderユーザー(所有者)のみがすべてのアクションを実行できるようにします。グループおよび他のユーザーは読み取りのみが許可されます。

    permission to:  user(u)   group(g)   other(o)     
                    /¯¯¯\      /¯¯¯\      /¯¯¯\
    octal:            6          6          6
    binary:         1 1 0      1 1 0      1 1 0
    what to permit: r w x      r w x      r w x
    
    binary         - 1: enabled, 0: disabled
    
    what to permit - r: read, w: write, x: execute
    
    permission to  - user: the owner that create the file/folder
                     group: the users from group that owner is member
                     other: all other users
    

または、バイナリまたは8進数で考える必要なく、より直感的な構文でコマンドを実行できます(ただし、数値構文の知識は非常に重要です)。 chmod u=rw, g=rw, o=rw file/folder

chmodコマンドによるパーミッションの変更には少なくとも3つの引数が必要であるため、パーミッションを変更するためのchmod 666明示的なファイル/フォルダーがなければ何もしません。

また、isが安全でない問題を引き起こさないか、または単にそれが役に立たないアクセス許可の変更であるかどうかを批判chmod 666するようにしてください。


5
「10進数」ではなく「8進数」です。とにかく+1。
ベンフォイト

1
最初の投稿で言及した3番目の点は正しくありません-chmod 711では、所有者のみがすべてのアクションを実行でき、グループなどは読み取りのみが許可されます![ここに画像の説明を入力] [1] 010 011 100 101 110 111 Octal 001、または1は実行許可Octal 7、111は読み取り書き込みおよび実行許可を示すため、711は所有者、rwxは所有者、xはグループなどを示します。

3
とにかく7になるだけなので、この場合は8進数と10進数の間に違いはありません。:/
ロブ

ええ、@ Yash、元の投稿の1年後、2か月後、18日後、誰かがそのエラーを見つけました:)例で744に修正します。
-kokbira

1
@KyleVassella ownerは、ファイルまたはフォルダーの所有者であり、通常はそれを作成したものです。groupは、そのファイルまたはフォルダーに関連付けられたユーザーのグループ、通常は所有者が属するグループです。したがって、私がrootbiraであり、私のグループがrootusersであり、あなたもそのグループに属し、他のすべてのSUフォーラムメンバーが他のグループに属していると想像してください。ファイルを作成し、chmod 750を使用して読み取り、書き込み、実行すると、読み取りと実行のみが行われ、SUユーザーは何もしません-それは私たちの秘密です¬¬
kokbira

7

簡単に言えば、ファイル所有者、ファイル所有者のグループ、およびマシンを使用するすべての人(すべて)がファイルを読み書きできるようにします。ディレクトリに対して適用されると、誰でもディレクトリの読み取り(ファイルコンテンツリストの取得)と書き込み(ディレクトリ内のファイルの作成、編集)ができますが、ディレクトリからのファイルは実行できません。

詳細についてはどのようchmodな作品は、チェックアウトするこの便利なチュートリアルを


2
...すべての人にファイルの読み取り/書き込みを許可し、実行は許可せず、ディレクトリ内のすべてのファイルの読み取り/書き込みを許可しますが、すべてのファイルを一覧表示するわけではありませんか?
アールズ

2
@earlzが言うこと、さらにディレクトリに書き込むことは、そこでファイルを編集できることを意味するのではなく(ファイルにパーマを書き込むことは)、新しいエントリ(ディレクトリ、ファイル、シンボリックリンクなど)を作成できることだけを意味します。また、完全性のためにdirsに言及するのは良いことですが、666はdirには意味がありません。所有者のxを削除することはありません。
リッチホモルカ

1
@Earlz:ありがとう。なぜなら、ディレクトリのユーザーに対してrw-を設定したことがないためです。:)
イアンC.

7

他の回答で述べたように、chmodは変更モードを意味します。ユーザーの所有者、グループ、およびその他のカテゴリの読み取り、書き込み、および実行の許可に影響します。コマンドに続く番号(この場合は666)は、コマンドが実行されるファイルのそれらの権限がどのように変更されるかを示します(666の場合、所有者、グループ、およびその他には読み取りおよび書き込み権限がありますが、実行可能な権限はありません) 。

数値を異なる値に変更することにより、ファイルの許可を効果的に変更できます。上記で参照したリンクには、目的のアクセス許可スキームを取得するためにどの値を入れる必要があるかを把握するための小さなツールがあります。また、コマンドで使用可能なスイッチオプションと、その動作をよりよく理解するためのいくつかの例についても説明します。


1
それは素晴らしいサイトです。それは私のブックマークにあります。ありがとう!
カーク

5

chmodコマンド(変更モードと省略)は、ファイルへのアクセスを許可する(または許可する)アクセス量をシステムに伝えるためのUnixコマンドです。コマンドとchmod 666は、すべてのユーザーが読み取りおよび書き込み権限を持つことを意味します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.