0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

権限変更コマンドについてまとめてみた

Posted at

概要

運用中などにしばしば、権限が不足しており「ダウンロードできない」「操作できない」などのエラーが発生することがあります。エラーが権限の問題の場合は適宜調整が必要になります。

前提知識

アクセス権(パーミッション)の表し方には、3桁の数字で表す方法と、9文字の英字で表す2種類があります。
具体的には「777」や「rwxrwxrwx」 という風に表されます

以下のA,B,Cのファイルがあった場合、各数字と英字の対応表は以下の様になります。

x@iMac-PC-0079 test % ls -l      
total 0
-drwxr--r--  1 test  staff  0  7 15 13:56 A
-rw-rw-r--  1 test  staff  0  7 15 13:47 B
-rw-r--r--  1 test  staff  0  7 15 13:47 C
ファイル(ディレクトリ)名 英字 数字
A drwxr--r-- 744
B -rw-rw---x 661
C -rw-r----- 640

※dはディレクトリを表す意味です。dが付いているとそれはディレクトリであると分かります。
ただのファイルであれば、「-」で置き換えられます
それぞれの文字が何を示すかというと、以下の様になっています

英字 数字 意味
r:(read) 4 読み込み権限
w:(write) 2 書き込み権限
x:(excute) 1 実行権限
r=4(読み込み権限)
w=2(書き込み権限)
x=1(実行権限)

この3点を覚えておくだけで権限周りはグッと理解度が深まるので、必ず覚えておきましょう。

パーミッションの書き方

rwxr--r--

上記の様なパーミッションがあったとします。
この9文字を3文字ずつ区切ると「rwx」「r--」「r--」となり、それぞれ「所有者の権限」「グループの権限」「その他の権限」になります。

rwx r-- r--
所有者の権限 グループの権限 その他の権限
7(全ての権限が付与) 4(読み取り権限のみ) 4(読み取り権限のみ)

そのため以下の様なディレクトリの場合はtestユーザー(所有者)には全ての権限が付与されており、staff(グループ)には読み取り権限のみ、その他のユーザーにも読み取り権限のみが付与されています。
つまりこのディレクトリを削除したり、実行できるのは testユーザーのみ になります。staffグループに所属しているhogeユーザーが削除しようとしても staffグループには読み込み権限しか付与されていない 為できません。

-drwxr--r--  1 test  staff  0  7 15 13:56 A

アクセス権の対象も英字で表せます
chmodなどで使うので覚えておきましょう

英字 意味
u 所有者(user)
g グループ(group)
o その他(other)
a 上の3つすべて(all)

chmod(change mode)

ファイルやディレクトリのアクセス権(パーミッション)を変更する

chmod {パーミッション} {ファイルorディレクトリ}

例)testというファイルの権限を777(全許可)に変える場合

x@iMac-PC-0079 test % ls -l test
-rwxrwxrwx  1 x  staff  0  7 15 14:50 test
x@iMac-PC-0079 test % chmod 777 test
x@iMac-PC-0079 test % ls -l test
-rwxrwxrwx  1 x  staff  0  7 15 14:50 test

例)先ほどのtestからグループの実行権限を削除してみる

x@iMac-PC-0079 test % chmod g-x test
x@iMac-PC-0079 test % ls -l test
-rwxrw-rwx  1 x  staff  0  7 15 15:24 test

例)testからグループの実行権限を追加してみる

x@iMac-PC-0079 test % chmod g+x test
x@iMac-PC-0079 test % ls -l test    
-rwxrwxrwx  1 x  staff  0  7 15 15:24 test

例)ディレクトリごと権限を変更したい場合

x@iMac-PC-0079 test % ls -l            
total 0
-rwxr--r--  1 x  staff  0  7 15 13:56 A
-rw-rw-r--  1 x  staff  0  7 15 13:47 B
-rw-r--r--  1 x  staff  0  7 15 13:47 C
x@iMac-PC-0079 test % chmod -R 755 ~/test
x@iMac-PC-0079 test % ls -l              
total 0
-rwxr-xr-x  1 x  staff  0  7 15 13:56 A
-rwxr-xr-x  1 x  staff  0  7 15 13:47 B
-rwxr-xr-x  1 x  staff  0  7 15 13:47 C

chown(change owner)

ファイルやディレクトリの所有者を変更する(同時にグループも変更可能)

chown {[所有者]or[所有者:グループ]} {ファイルorディレクトリ}

例) /chroot/user/prをcreator(所有者)apache(グループ)に変更する

[root@web01 ~]# chown creator:apache /chroot/user/pr
[root@web01 ~]# ll /chroot/user/
total 0
drwxrwxr-x 2 creator apache 6 Jul  7 16:29 pr

例)所有者をhomepageに変更する

[root@web01 ~]# chown homepage /chroot/user/pr
[root@web01 ~]# ll /chroot/user/
total 0
drwxrwxr-x 2 homepage apache 6 Jul  7 16:29 pr

ディレクトリごと権限を変更したい場合
chmodと同じように、「-R」オプションをつけます

chgrp(change group)

ファイルやディレクトリのグループを変更する(同時にグループも変更可能)
⚠️chgrpコマンドはグループしか変えられません

chgrp {グループ} {ファイルorディレクトリ}

例)グループをnginxに変更する

[root@web01 ~]# chgrp nginx /chroot/user/pr
[root@web01 ~]# ll /chroot/user/
total 0
drwxrwxr-x 2 homepage nginx 6 Jul  7 16:29 pr

ディレクトリごと権限を変更したい場合
chmodと同じように、「-R」オプションをつけます

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?