raino_tech_blog

プログラマによる技術系ブログ

chmodってわかりにくいですよね

今回はLinuxで使われるchmodというコマンドについて基本的な使い方を簡単にまとめてみます。

chmodとは?

chmodコマンドとは、ファイルやディレクトリのアクセス権限を変更するコマンドです。

そしてchmodコマンドを使う前に、まず対象のファイル・ディレクトリの権限を確認しなくてはいけません。

この時に使うのがlsコマンドです。

全体の流れ

流れとしては、

1. 対象の権限確認。

$ ls -l  
drwxr-xr-x 2 nsi nsi 4096  4月  1 18:50 デスクトップ

2. 対象の権限変更

$ chmod g+x デスクトップ

といった感じです。

lsコマンドの出力結果の意味

lsコマンドを実行した出力結果は以下のような構造をしています。


drwxr-xr-x 2 nsi nsi 4096 4月 1 18:50 デスクトップ

パーミッション


drwxr-xr-x 2 nsi nsi 4096 4月 1 18:50 デスクトップ

ファイルの所有者


drwxr-xr-x 2 nsi nsi 4096 4月 1 18:50 デスクトップ

ファイルの所有グループ


drwxr-xr-x 2 nsi nsi 4096 4月 1 18:50 デスクトップ

ファイルサイズ


drwxr-xr-x 2 nsi nsi 4096 4月 1 18:50 デスクトップ

最終更新日時


drwxr-xr-x 2 nsi nsi 4096 4月 1 18:50 デスクトップ

ファイル名


lsコマンドの出力結果のパーミッションって何?

drwxr-xr-x

上記のパーミッションの出力結果の文字の位置にはそれぞれ以下のような意味が割り振られています。


drwxr-xr-x

ディレクトリならd


drwxr-xr-x

所有者


drwxr-xr-x

所有グループ


drwxr-xr-x

その他のユーザ


最後の三つについてはそれぞれ3文字の領域があり、これはrwxが入る余地があるようです。

そして、それぞれは以下の表の意味を持っています。

それぞれの権限があればその文字が表示されますが、ない場合はハイフン(-)が表示されます。

表記 意味
r 読み取り
w 書き込み
x 実行

chmodコマンドのオプションの意味

chmodコマンドオプションは以下のような構造をしています。


$ chmod g+x デスクトップ 

コマンド名


$ chmod g+x デスクトップ 

モード


$ chmod g+x デスクトップ 

ファイル名


chmodコマンドのモードって何?

表記 意味
u 所有者
g グループ
o その他
a すべて
表記 意味
+ 権限付与
- 権限削除
= 権限指定
表記 意味
r 読み取り
w 書き込み
x 実行

参考にしたサイト

qiita.com

chmod - Wikipedia

Linuxコマンド集 - 【 chmod 】 ファイルやディレクトリのアクセス権を変更する:ITpro