chmod計算機
Linuxのファイルパーミッションを、数値と文字の両方向で計算します。所有者、グループ、その他のユーザーごとに読み取り・書き込み・実行にチェックを入れると、8進数のモードと実行するコマンドが表示されます。755、rwxr-xr-x、u+x、ls -lの行を貼り付ければ、その意味も正確にわかります。
755 を入力するか、rwxr-xr-x や ls -l の行をそのまま貼り付けます。u+x や go-w でモードを変更することもできます。
| 読み取り4 | 書き込み2 | 実行1 | 数字 | |
|---|---|---|---|---|
| 所有者 | 4+2+1=7 | |||
| グループ | 4+1=5 | |||
| その他のユーザー | 4+1=5 | |||
| 特殊ビット | なし=0 |
わかりやすく言うと
- 所有者は次の操作ができます:読み取り、内容の変更、実行。
- グループとその他のユーザーは次の操作ができます:読み取り、実行。
- このファイルは実行できます。
計算はブラウザー内で行います。入力した内容が外部に送られることはありません。
chmodとは?何をするコマンド?
chmod は、ファイルを誰が読み取り、書き込み、実行できるかを設定するコマンドです。モードは12ビットで、通常は 755、644、2775 のように3桁か4桁の8進数で書きます。
3つの桁はそれぞれクラス(ファイルの所有者、ファイルのグループ、その他のユーザー)に対応し、各桁は3つの数の合計です。読み取りは4、書き込みは2、実行は1です。つまり、7は読み取り・書き込み・実行、5は読み取りと実行、6は読み取りと書き込み、4は読み取りのみです。仕組みはこれだけです。chmod 755 script.sh は、所有者が7、グループが5、その他のユーザーが5という意味です。
4桁目がある場合、それは3つの特殊ビット(setuidが4、setgidが2、stickyが1)を表します。どれも設定されていなければ省略されます。上の計算機は4桁すべてと各桁の計算を同時に表示するので、数字を調べ直す必要がなくなります。
chmod 755 script.shchmod 755 は、モードのすべてのビットを一度に設定します。644からだと、3つのクラスの実行ビットが1つずつオンになります。各クラスの3ビットを合計すると、8進数の1桁になります。
チェックか入力表と入力欄は連動しています。どちらかを変更すると、残りも更新されます。各桁の計算クラスごとに4 + 2 + 1で計算するので、数字を暗記する必要はありません。何でも貼り付け755、rwxr-xr-x、u+x、ls -lの行のどれでも読み取れます。コマンド選んだモードから、正しい桁数と、ファイルのモードをつぶさない再帰用の形で作成します。意味の説明わかりやすい文章と、そのモードに必要な警告を表示します。Linuxのファイルパーミッションの仕組み
どのファイルにも、所有者、グループ、モードがあります。モードは3つのクラスそれぞれに3つの権限(合計9ビット)を与えるもので、ファイルの種類を表す文字の直後に、ls -l はまさにこの9文字を出力します。
-rw-r--r-- は、所有者が読み取りと書き込みでき、グループとその他のユーザーは読み取りしかできないファイル(-)で、モードは644です。drwxr-xr-x は755のディレクトリ(d)です。先頭の文字は種類を表し、- はファイル、d はディレクトリ、l はシンボリックリンク、b、c、p、s は特殊な種類です。これらの行を計算機に貼り付けると、モードと種類を読み取ります。
ディレクトリでは、3つの権限の意味がファイルとは異なります。読み取りがあると、中の名前を一覧できます。実行があると、中に入り、名前がわかっているファイルにアクセスできます。書き込みは、実行と組み合わせたときに、項目の作成と削除ができます。ファイルの削除がファイル自身ではなくディレクトリのパーミッションで決まるのは、このためです。読み取りだけで実行がないディレクトリは、一覧は見えても中を開けません。
ls -l が最初に出力するものls -l notes.txt-種類ファイルrw-所有者4 + 26r--グループ44r--その他のユーザー44| パーミッション | ファイルの場合 | ディレクトリの場合 |
|---|---|---|
| r4 | 中身を読み取る | 中の名前を一覧表示する |
| w2 | 中身を変更する | 項目の作成、名前変更、削除をする |
| x1 | プログラムとして実行する | 中に入り、中のものを開く |
先頭のその他の文字:d はディレクトリ、l はシンボリックリンク、b、c、p、s は特殊な種類です。
chmod 755とは?意味を解説
755は、所有者がファイルを読み取り・書き込み・実行でき、それ以外の人は読み取りと実行はできるが変更はできない、という意味です。ディレクトリやプログラムの標準的なモードです。
桁ごとに見ると、7 = 4 + 2 + 1なので、所有者は読み取り、書き込み、実行ができます。5 = 4 + 1で、グループとその他のユーザーは、どちらも読み取りと実行ができます。文字で書くと rwxr-xr-x、シンボリックな書き方では chmod u=rwx,g=rx,o=rx です。
人が入れるようにしたいディレクトリや、実行させたいスクリプトやバイナリに使います。秘密のファイルには使わないでください。最後の5は、そのマシンのすべてのアカウントがファイルを読み取れるという意味だからです。Webサーバーのファイルについて、WordPress自身のドキュメントでは、ディレクトリは755または750、ファイルは644または640が推奨されています。
chmod 755rwx所有者r-xグループr-xその他のユーザー- 人が入る必要があるディレクトリ
- スクリプトとプログラム
- 秘密のもの:全員が読み取れます
WordPress自身のドキュメント:ディレクトリは755または750、ファイルは644または640。
chmod 644と755の違い:どちらを使う?
ファイルは644、ディレクトリと実行が必要なものは755です。違いは実行ビットだけです。
644は rw-r--r-- で、所有者は変更でき、全員が読み取れますが、誰も実行できません。HTML、CSS、画像、設定ファイル、ソースファイルに適しています。755は rwxr-xr-x で、644に3つのクラスすべての実行ビットを加えたものです。ディレクトリにはこれが必要で、ないと誰も中に入れません。スクリプトにも必要で、ないとシェルが実行を拒否します。
避けたいのは、サイト全体に chmod -R 755 を実行することです。すべての画像とすべての .php ファイルが実行可能になってしまいます。この計算機が出力する2つの find コマンドなら、ブログ記事から拾ったモードの組み合わせではなく、あなたが選んだモードで、ディレクトリとファイルに別々のモードを1回で設定できます。
644 · 755| 読み取り | 書き込み | 実行 | ||
|---|---|---|---|---|
| 所有者 | r | w | - | 6 |
| グループ | r | - | - | 4 |
| その他 | r | - | - | 4 |
ファイル:HTML、CSS、画像、設定ファイル、ソースコード
| 読み取り | 書き込み | 実行 | ||
|---|---|---|---|---|
| 所有者 | r | w | x | 7 |
| グループ | r | - | x | 5 |
| その他 | r | - | x | 5 |
ディレクトリ、スクリプト、プログラム
755755のファイルは実行できます。chmod -R 755では、すべての画像と.phpファイルも実行できます。644644のディレクトリは名前を表示しますが、誰も中に入れず、中のものも開けません。
chmod 777とは?安全なのか
777は、そのマシンのすべてのアカウントがファイルを読み取り、変更し、実行できるという意味です。正しい解決策になることはほとんどなく、WordPress自身のドキュメントも、どのディレクトリにも777を設定してはいけないとしています。
誰でも書き込める状態では、ログインできる人なら誰でも、あるいは侵害されたプロセスを含む、どのユーザーとして動いているものでも、ファイルの内容を置き換えられます。そのファイルがWebサーバーの実行するスクリプトなら、サーバーを乗っ取られます。WordPressのパーミッションのページは、ディレクトリは755または750、ファイルは644または640を推奨し、アップロード用のディレクトリでも、どのディレクトリも777にしてはいけないとしています。
Webアプリケーションがディレクトリに書き込めないときは、モードではなく所有者かグループを直します。Webサーバーが動いているユーザーに chown するか、そのユーザーを共有グループに追加して775にします。この計算機は、全員が書き込めるモードになると必ず警告します。ファイルでは常に、ディレクトリでは、stickyビットで互いのファイルの削除を防いでいる場合を除いて警告します。
chmod 777| 読み取り | 書き込み | 実行 | ||
|---|---|---|---|---|
| 所有者 | r | w | x | 7 |
| グループ | r | w | x | 7 |
| その他 | r | w | x | 7 |
- 1どのアカウントでも、そのアカウントで動くどのプロセスでも
- 2スクリプトを置き換え
- 3Webサーバーがそれを実行します
WordPress · ディレクトリは755または750、ファイルは644または640。
「アップロード用のディレクトリも含め、どのディレクトリにも777を設定してはならない。」
解決するのはモードではなく、所有者かグループです。Webサーバーのユーザーに chown するか、グループを共有して775にします。
SSHの鍵のパーミッションが「too open」と言われるのはなぜ?
OpenSSHは、所有者以外が読み取れる秘密鍵を使うことを拒否します。鍵は600、.ssh ディレクトリは700にしてください。
正確なメッセージは Permissions 0644 for '<path>' are too open. で、続いて It is required that your private key files are NOT accessible by others. と表示されます。判定は単純で、自分が所有するファイルに、グループまたはその他のビットが1つでも設定されていれば、鍵は拒否されます。640でも失敗するのはこのためで、答えが「644より少しだけ厳しく」ではなく600になる理由でもあります。
chmod 600 ~/.ssh/id_ed25519 と chmod 700 ~/.ssh で解決します。公開鍵は誰が読み取れても構いません。ここで問題になるのは、秘密鍵とディレクトリだけです。上のよく使うモードでSSH鍵を選ぶと、計算機が2つのコマンドを出力します。
$ssh you@server.example
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/you/.ssh/id_ed25519' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
~/.ssh/700drwx------ディレクトリid_ed25519600-rw-------あなたの秘密鍵id_ed25519.pub644-rw-r--r--公開鍵:誰でも読み取れますconfig600-rw-------他の人は書き込み不可
644rw-r--r--拒否640rw-r-----拒否600rw-------使用可400r--------使用可
グループとその他のユーザー:すべてオフ
シンボリックモード:u、g、o、aと+、-、=
chmod u+x script.sh は、他のビットに触れずに1つのビットだけを追加します。+ は追加、- は削除、= はクラスを指定した内容ちょうどに設定します。
書式は [対象][演算子][権限] で、複数の指定はカンマで区切ります。u は所有者、g はグループ、o はその他のユーザー、a は3つすべてです。たとえば、go-w はグループとその他のユーザーから書き込みを外し、a=rwx はすべてを設定し、u=rw,go=r は644の別の書き方です。これらを上の計算機に貼り付けると、変更前と変更後でどのビットが変わるかが表示されます。
書式には間違えやすい点が2つあり、計算機は両方に従います。X(大文字のX)は、ディレクトリか、どこかにすでに実行ビットがあるファイルにだけ実行ビットを追加します。そのため、chmod -R u=rwX,go=rX は、ファイルとディレクトリが混在するツリーでも安全です。もう1つは、対象のクラスをまったく指定しない指定(+x など)は a+x と同じではないことです。umaskで設定されているビットは変更されないので、通常のumask 022では、644のファイルに chmod +rwx を実行すると755になり、chmod a+rwx では777になります。
chmod u+x script.shu所有者gグループoその他のユーザーa3つすべて
+追加-削除=ちょうどこの内容に設定
r読み取りw書き込みx実行Xディレクトリと、すでに実行できるファイルにだけ実行ssetuidまたはsetgidtsticky
| 変更 | 変更前 | 変更後 | |
|---|---|---|---|
u+x | 644 | 744 | 所有者の実行を追加。他は変更なし。 |
go-w | 775 | 755 | グループとその他のユーザーから書き込みを削除。 |
a=r | 755 | 444 | 3つすべてを読み取りだけに設定。 |
u=rw,go=r | 777 | 644 | 3つの指定:644の別の書き方。 |
+rwx | 644 | 755 | クラス指定なし:umask(022)のビットは設定されないので、グループとその他のユーザーに書き込みは付きません。 |
a+rwx | 644 | 777 | aを付けると、umaskは関係せず、すべて設定されます。 |
a+Xディレクトリの場合 | 644 | 755 | ディレクトリへの大文字のX:ディレクトリなので、実行を追加。 |
a+Xファイルの場合 | 644 | 644 | 誰も実行できないファイルへの大文字のX:何も追加されません。 |
setuid、setgid、stickyビット
4桁目です。ファイルでは、setuidとsetgidがプログラムの実行アカウントを変えます。ディレクトリでは、setgidが新しいファイルのグループを決め、stickyビットが削除できる人を決めます。
実行ファイルのsetuid(4000)は、あなたではなくファイルの所有者として実行されるようにします。passwd がsetuidでインストールされているのは、パスワードを変更するときにrootの権限で動くためです。setgid(2000)は、グループについて同じことをします。ディレクトリでは、setgidは別のもっと便利な働きをします。中に作られる新しいファイルが、作成者のグループではなくディレクトリのグループを引き継ぐので、共有プロジェクトのフォルダが共有のまま保たれます。Linuxでは、ディレクトリのsetuidビットの意味は定められていません。macOSやBSDでは、ファイルシステムがそのオプション付きでマウントされていれば、新しいファイルがディレクトリの所有者になります。
ディレクトリのstickyビット(1000)は、互いのファイルの削除を防ぎます。項目を削除または名前変更できるのは、ファイルの所有者、ディレクトリの所有者、rootだけです。/tmp がモード1777なのはこのためで、誰でも書き込めますが、他の人の作業を削除することはできません。通常のファイルでは、macOSとBSDはstickyビットを無視し、GNUのマニュアルでは、一部の古いシステムでのみ意味があるとされています。落とし穴が1つあります。chmod 755 somedir(chmod 0755 somedir も同じ)は、ディレクトリにすでにあるsetgidビットを解除しません。GNUのchmodは、5桁未満の数値モードでは意図的にそれらを残すためです。POSIXが求めているのは、8進数の形が通常のファイルでそれらを解除することだけです。g-s を使うか、5桁の chmod 00755 を使ってください。計算機は、それが必要なときは5桁の形で出力します。
setuid4755
プログラムが、あなたではなくファイルの所有者として実行されます。
root root /usr/bin/passwdpasswd はこの方法でインストールされているので、パスワードを変更するときにrootの権限で動きます。
ディレクトリでは、Linuxに定められた意味はありません。macOSとBSDでは、ファイルシステムがそのオプション付きでマウントされていれば、新しいファイルがディレクトリの所有者になります。
setgid2775
ディレクトリでは、新しいファイルが、あなたのグループではなくディレクトリのグループになります。
you devs project/共有プロジェクトのディレクトリは共有のまま保たれ、新しいファイルはすべてチームのものになります。
macOSとBSDでは、このビットの有無にかかわらず、新しいファイルは常にディレクトリのグループになります。
sticky1777
ディレクトリでは、ファイルを削除または名前変更できるのは、ファイルの所有者、ディレクトリの所有者、rootだけです。
root wheel /private/tmp/tmp には誰でも書き込めますが、他の人のファイルは誰も削除できません。
ファイルのstickyビットは、macOSとBSDでは無視されます。
GNUの落とし穴:ディレクトリへの chmod 755 は、setgidビットを残します。
$chmod 755 project → 5桁か文字表記で解除します:$chmod 00755 project → $chmod g-s project → umask:新しいファイルのモード
新しいファイルは666、新しいディレクトリは777から始まり、umaskに設定されたビットがすべて解除されます。通常のumask 022では、644と755になります。
umaskは引き算ではなくマスクです。umaskに設定されたビットが、プログラムが要求したモードからすべて解除されます。umask 077 なら、新しいファイルは600、新しいディレクトリは700で、最初から非公開になります。umask 002 なら664と775で、グループも書き込めます。
ファイルの基本モードには実行ビットがもともとないので、umaskでファイルが実行可能になることはありません。777から始まるのはディレクトリだけです。作成したばかりのスクリプトが、chmod +x を実行するまで実行できないのはこのためです。上のumaskタブに切り替えると、任意のumaskの結果がわかり、どちらの結果もそのまま計算機で開けます。
umask 022| 初期値 | rw-rw-rw- | 666 |
|---|---|---|
| umask | ····w··w· | 022 |
| 結果 | rw-r--r-- | 644 |
| 初期値 | rwxrwxrwx | 777 |
|---|---|---|
| umask | ····w··w· | 022 |
| 結果 | rwxr-xr-x | 755 |
| umask | 新しいファイル | 新しいディレクトリ |
|---|---|---|
022 | 644 | 755 |
002 | 664 | 775 |
027 | 640 | 750 |
077 | 600 | 700 |
umaskでファイルが実行可能になることはありません。新しいファイルには、残すべき実行ビットがもともとありません。
フォルダとその中身をまとめて変更する方法
chmod -R 755 folder は、ディレクトリとファイルに同じモードを設定するため、すべてのファイルが実行可能になります。2つの find コマンドを使えば、それぞれに合ったモードを設定できます。
find folder -type d -exec chmod 755 {} + と find folder -type f -exec chmod 644 {} + は、それぞれツリーを1回たどって、ディレクトリとファイルに別々に設定します。計算機は、固定の組み合わせではなく、あなたが選んだモードで両方を出力します。末尾の + は、ファイルをできるだけ少ない回数の chmod にまとめるので、大きなツリーで効果があります。
もう1つの安全な方法は、大文字の X です。chmod -R u=rwX,go=rX folder は、ディレクトリと、すでに実行できるファイルにだけ実行ビットを追加します。再帰的な変更のあとは、stat -c '%a %n' folder/* で、1つ下の階層をすべて確認できます。
| フォルダ | 現在 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|---|
site/ | 755 | 755 | 644 | 755 | 755 |
index.html | 644 | 755 | 644 | 644 | 644 |
app.php | 644 | 755 | 644 | 644 | 644 |
deploy.sh | 755 | 755 | 644 | 644 | 755 |
img/ | 755 | 755 | 644 | 755 | 755 |
logo.png | 644 | 755 | 644 | 644 | 644 |
- 1
$chmod -R 755 siteすべてのファイルを実行できる - 2
$chmod -R 644 siteどのフォルダにも入れない - 3
$find site -type d -exec chmod 755 {} +$find site -type f -exec chmod 644 {} +それぞれに合ったモードになるスクリプトもxを失います - 4
$chmod -R u=rwX,go=rX siteそれぞれに合ったモードになるすでに実行できたファイルはxを保ちます
Windowsにchmodはある?
まったく同じものはありません。Windowsはアクセス制御リストを使い、最も近いコマンドは icacls です。たとえば icacls file /grant Users:(RX) のように使います。
NTFSのパーミッションは、ユーザーまたはグループと、その権限を示す項目のリストなので、計算できる3桁の数値は1つにはなりません。最も近い対応はクラスごとです。読み取りは R、読み取りと実行は RX、書き込みは W、実行だけの場合は固有の権限 X になり、1つの桁に2つ必要なときは並べて書きます。7は (RX,W) です。どの数字も、削除も許可する変更(Modify、M)や、権限の変更と所有権の取得も許可するフルコントロール(Full control、F)にはなりません。計算機は、モードの横にこの対応を表示しますが、これは最も近いものであって、同等ではありません。
Windows Subsystem for Linux(WSL)の中では、Linuxのファイルシステム上で chmod が正しく動きます。/mnt/c にマウントしたWindowsのドライブでは、そのドライブが metadata オプション付きでマウントされている場合にだけ動きます。ない場合、モードはWindowsの権限から決まり、所有者、グループ、その他のユーザーで同じになり、chmod にできるのは読み取り専用属性の設定くらいです。そのため、Windows側に置いた鍵は「too open」と判定されることがあり、そこで chmod 600 を実行しても直りません。
icacls| 数字 | 文字 | 最も近い権限 |
|---|---|---|
| 7 | rwx | (RX,W)読み取り、書き込み、実行 |
| 6 | rw- | (R,W)読み取りと書き込み |
| 5 | r-x | (RX)読み取りと実行 |
| 4 | r-- | (R)読み取り |
| 3 | -wx | (W,X)書き込みと実行 |
| 2 | -w- | (W)書き込み |
| 1 | --x | (X)実行 |
| 0 | --- | —アクセスなし |
最も近いものであって、同等ではありません。Windowsは、誰にどの権限を与えるかを示す項目のリストを持ちます。どの数字も、削除も許可する変更(Modify、M)や、権限の変更(WDAC)と所有権の取得(WO)も許可するフルコントロール(Full control、F)にはなりません。どちらのシステムでも、所有者はファイルのパーミッションを常に変更できます。
/homeLinuxのファイルシステム上:chmodは通常のLinuxと同じように動きます。/mnt/cmetadataオプションなしの/mnt/c上:モードはWindowsの権限から決まり、chmodはほとんど何も変更しません。/mnt/c · metadatametadataあり:chmodは動きますが、Windowsが許可する範囲を超えることはありません。
ファイルのパーミッションを確認する方法
ls -l は文字で、stat は数字で表示します。どちらを計算機に貼り付けても、モードを読み取って表示します。
ls -l file は -rw-r--r-- 1 you staff 4096 25 Oct 09:26 file のように出力し、計算機はその行全体を受け付けるので、モードを自分で取り出す必要はありません。stat -c '%a %n' file はLinuxでは 644 file と出力し、macOSでは同じことを stat -f '%Lp %N' file で行います。ディレクトリ全体を一度に調べるには、GNUの find . -maxdepth 1 -printf '%m %p\n' ですべてのモードを数字で一覧できます(macOSの find には -printf がありません)。
パーミッションの文字列の末尾の+は、9ビット以外にも情報があることを示します。LinuxではPOSIX ACLで、getfacl で確認でき、その追加の項目はモードには含まれません。macOSでは、@ は拡張属性、+ は拡張セキュリティ情報を意味します。GNUの ls では、ドット(.)は、SELinuxなどのセキュリティコンテキストを意味します。計算機は3つの記号をすべて受け付け、モードは全体の一部にすぎないことを知らせます。
ls -l の行を項目ごとにls -l notes.txt-種類パーミッション+記号1リンク数you所有者staffグループ4096サイズ25 Oct 09:26更新日時notes.txt名前- Linux
$stat -c '%a %n' notes.txt644 notes.txt - macOS
$stat -f '%Lp %N' notes.txt644 notes.txt
-rw-r--r--+Linux:POSIX ACL(getfaclで一覧できます)。macOS:ACLなどの拡張セキュリティ情報。-rw-r--r--@macOS:拡張属性。-rw-r--r--.GNUのls:SELinuxなどのセキュリティコンテキストがあり、それ以外はありません。-rw-r--r--それ以上なし:9ビットがすべてです。
chmod計算機:よくある質問
chmod 755とはどういう意味ですか?
rwxr-xr-x です。各桁は合計で、7は4 + 2 + 1、5は4 + 1です。ディレクトリ(誰かが入るには実行ビットが必要です)や、スクリプト、プログラムに使います。非公開にしたいファイルには使わないでください。chmod 644と755の違いは何ですか?
rw-r--r-- で、ドキュメント、画像、設定ファイル、ソースファイルに適しています。755は rwxr-xr-x で、ディレクトリと、実行が必要なものに適しています。ファイルに755を設定すると、すべてが実行可能になるため、Webサイト全体への再帰的な chmod -R 755 は間違いです。ディレクトリとファイルは別々に設定してください。chmod 777は何をしますか?安全ですか?
chmod +xは何をしますか?
+x は、a+x とまったく同じではないことに注意してください。クラスのない指定では、umaskに含まれるビットは変更されないため、通常のumask 022なら所有者、グループ、その他のユーザーの3つすべてに付きますが、077のようなより厳しいumaskでは所有者だけになります。確実にしたいときは、chmod a+x または chmod u+x と書いてください。chmod 600とはどういう意味ですか?SSHがそれを求めるのはなぜですか?
rw------- で、所有者だけがファイルを読み取りまたは変更できます。OpenSSHは、他のアカウントが読み取れる秘密鍵を、Permissions 0644 for '<path>' are too open. というメッセージで拒否します。判定は厳格で、自分が所有するファイルに、グループまたはその他のビットが少しでも設定されていれば鍵は拒否されるため、640でも失敗します。鍵には chmod 600、~/.ssh には chmod 700 を使ってください。chmodの4桁目は何を意味しますか?
chmod 2775 folder はsetgidを設定し、中の新しいファイルがフォルダのグループになるようにします。chmod 1777 folder はstickyビットを設定し、互いのファイルを削除できないようにします。/tmp がこれを使っています。どれも設定されていなければ、この桁は省略されます。chmod 755でフォルダのsetgidビットが消えなかったのはなぜですか?
0755 を含む)のとき、ディレクトリのsetuidとsetgidを残すためです。これは意図的で、規格にも沿っています。POSIXが求めているのは、8進数の形が通常のファイルでそれらを解除することだけです。シンボリックな形の chmod g-s folder を使うか、先頭のゼロを書いて chmod 00755 folder としてください。この計算機は、変更に必要なときは、5桁の形で自動的に出力します。chmodとchownの違いは何ですか?
chmod は、所有者、グループ、その他のユーザーが何をできるかを設定します。chown は、所有者とグループが誰なのかを設定します。同じ問題の別の半分に答えるもので、Webサーバーでの「Permission denied」は、モードではなく所有者の問題であることがよくあります。ファイルが違うユーザーのものになっていると、777以外のどのモードでも解決しません。ls -lの行をこの計算機に貼り付けられますか?
-rw-r--r-- 1 you staff 4096 25 Oct 09:26 notes.txt はファイルの644として、drwxrwsr-x はディレクトリの2775として読み取られます。ACLの記号 +、セキュリティコンテキストのドット、macOSの @ もすべて認識されます。u+x や go-w のような変更の式を貼り付けて、どのビットが変わるかを確認することもできます。パーミッションの後ろの+や@は何ですか?
+ は、所有者、グループ、その他のユーザー以外の項目を持つPOSIX ACLがあることを意味します。getfacl で確認でき、モードには含まれません。GNUの ls のドットは、SELinuxなどのセキュリティコンテキストを意味します。macOSの @ は拡張属性、+ は拡張セキュリティ情報を意味します。モードが妥当なのにパーミッションの動作がおかしいときは、そこを調べてください。Windowsにchmodに相当するものはありますか?
icacls file /grant Users:(RX) が最も近いコマンドで、計算機はモードに最も近い権限を表示します。WSLの中では、Linuxのファイルシステム上で chmod が通常どおり動きますが、/mnt/c のWindowsのドライブでは、metadata オプション付きでマウントされていない限り、ほとんど効果がありません。umask 022だとどうなりますか?
chmod +x の役目です。上のumaskタブで任意の値を試し、どちらの結果も計算機で開けます。足りないものはありますか?機能や新しいツールを提案する
関連ツール
パスワード生成
ブラウザ内で強力なランダムパスワード、パスフレーズ、PINを生成。正確なビット数と解読時間も表示します
UUID生成
UUID v4、v7、v1、v5、v3やGUIDを任意の形式で一括生成し、UUIDのバージョンとタイムスタンプをデコード
二進数変換(バイナリ翻訳)
文字を二進数に、二進数を文字に翻訳:自動判定、16進数・10進数・8進数にも対応
Base64 デコード・エンコード
Base64のデコードとエンコード:テキスト(UTF-8・URLセーフ)、画像、PDF、任意のファイルをBase64やdata URIに変換
UNIX時間(unixtime)変換
Unixタイムスタンプを日時に、日時をepoch時間に、任意のタイムゾーンで変換。一括変換にも対応
CSR・SSL証明書デコード
CSRやSSL証明書をデコード:サブジェクト、SAN、鍵長、有効期間、発行者、フィンガープリント、署名検証、CSRと証明書の一致確認