nicetool.dev logo

chmod計算機

チェックを入れるか、8進数または記号表記を入力すると、他の値がすぐ更新されます。

対象読み取り書き込み実行値
所有者 (u)7
グループ (g)5
その他 (o)5
$ chmod 755 file.txt
$ chmod u=rwx,g=rx,o=rx file.txt

ls -l: -rwxr-xr-x

よく使うパーミッション

Unixのファイルパーミッションの仕組み

Linux、macOSなどのUnix系システムでは、すべてのファイルとディレクトリに3組の権限があります。所有者(user)用、グループ用、それ以外(others)用です。各組は読み取り(r)、書き込み(w)、実行(x)を許可でき、それぞれ4、2、1の値を持ちます。合計すると各組が8進数1桁になり、rwxr-xr-xは7、5、5、つまりchmod 755になります。ディレクトリでは、読み取りで名前の一覧表示、書き込みで項目の作成・削除、実行でディレクトリへの移動が可能になります。先頭の4桁目には特殊ビット、setuid(4)、setgid(2)、スティッキー(1)が入ります。

機能

  • • 所有者、グループ、その他のチェックボックスと8進数のリアルタイム表示
  • • 双方向編集: 755やrwxr-xr-xを入力するとチェックが連動
  • • setuid、setgid、スティッキービットに対応し、ls -l形式(s、S、t、T)で表示
  • • 数値形式と記号形式(u=rwx,g=rx,o=rx)のコピーできるコマンド
  • • よく使うモードのプリセットと説明

オフラインで動作

計算はすべてブラウザ内で行われます。ファイルには一切触れず、実行するコマンドを作るだけです。

計算のみ、100%クライアント側。

chmod計算機の使い方

  1. 1

    所有者、グループ、その他について読み取り、書き込み、実行にチェックを入れます。クリックするたびに8進数とrwx文字列が更新されます。

  2. 2

    または、640やrwxr-x---など既知のモードを8進数欄か記号表記欄に入力すると、チェックボックスが連動します。

  3. 3

    必要なら特殊ビットを追加します。所有者として実行する必要があるプログラムにはsetuid、共有ディレクトリにはsetgidやスティッキーを使います。

  4. 4

    ファイル名を入力し、chmod 755 fileまたは記号形式のchmod u=rwx,g=rx,o=rx fileをコピーします。

活用例

Webサイトのデプロイ

一般的なWebルートではディレクトリを755、ファイルを644にし、Webサーバーはすべて読めるがデプロイユーザーだけが変更できるようにします: find . -type d -exec chmod 755 {} + と find . -type f -exec chmod 644 {} +。

SSH鍵のエラーを直す

SSHは権限が緩い鍵を拒否します("UNPROTECTED PRIVATE KEY FILE")。~/.ssh/id_ed25519とauthorized_keysは600、~/.sshディレクトリは700にします。

スクリプトを実行可能にする

deploy.shを書いたら、chmod 755 deploy.sh(自分だけならchmod u+x deploy.sh)で./deploy.shとして実行できます。

チームの共有フォルダ

チームをグループ所有者にしてchmod 2775 /srv/project。グループの全員が書き込め、setgidにより新しいファイルもプロジェクトのグループを保ちます。

よくある質問

chmod 755の意味は?+

所有者: 読み取り・書き込み・実行(7)。グループ: 読み取り・実行(5)。その他: 読み取り・実行(5)。誰でも使えるが所有者だけが変更できるスクリプト、実行ファイル、ディレクトリの標準設定です。

chmod 777が良い場合はありますか?+

ほとんどありません。すべてのユーザーや乗っ取られたプロセスがファイルを変更できてしまいます。chownで所有者を直すか、グループ権限を使ってください。共有ディレクトリは/tmpのように1777(スティッキー)を使います。

ディレクトリに実行権限が必要なのはなぜ?+

ディレクトリのxは「中に入り、ファイルにアクセスできる」という意味です。これがないと、名前の一覧が読めてもcdできず、中のファイルも開けません。

644と664の違いは?+

664はグループにも書き込みを許可します。自分だけが変更するファイルは644、同じグループのチームで同じファイルを編集する場合は664を使います。