# 権限付与のコマンド等のまとめ ## 概要 サーバーやWorkStationの管理を任されているのですが,そこで困ったことがあったので簡単にまとめました. サーバーにユーザーを追加した際や鍵認証のSSHを行う際に使用するコマンドです. 管理者にはおそらく必要となるコマンドだし,管理者じゃなくても使う場面はあると思うので,まあ必要になったらみてください. ## 目次 1. 権限の確認と説明 3. 変更コマンド(chmod,chown,chgrp) 4. 参考記事 ## 権限の確認と説明 権限の確認は簡単です. `ls -l`で確認できます. 隠しファイルも必要な場合は`ls -la`と打ちます. ``` $ ls -la 合計44 drwxr-xr-x 3 test01 test01 4096 4月 5 16:20 . drwxr-xr-x 12 root root 4096 4月 5 16:20 .. -rw-r--r-- 1 test01 test01 1600 1月 9 2016 .Xdefaults -rw-r--r-- 1 test01 test01 220 9月 1 2015 .bash_logout -rw-r--r-- 1 test01 test01 3771 9月 1 2015 .bashrc drwxr-xr-x 3 test01 test01 4096 2月 14 12:21 .config -rw-r--r-- 1 test01 test01 807 4月 5 2018 .profile -rw-r--r-- 1 test01 test01 14 1月 9 2016 .xscreensaver -rw-r--r-- 1 test01 test01 8980 4月 20 2016 examples.desktop ``` 以上のうち今回見るのは`drwxr-xr-x 3 test01 test01`の部分です.(3のみ関係ないです) 詳細はコマンドとともに説明しますが,簡単な説明は以下の通り. `drwxr-xr-x` : ファイルorディレクトリへのアクセス権,読み書き実行の権限があるかないかを示す,`chmod` で変更 (後述のパーミッションの見方で詳しく説明) `test01 test01` : 先がファイルorディレクトリの所有者(Owner),後がグループ名(group),それぞれ`chown`,`chgrp`で変更可能 ### パーミッションの見方 上述の`drwxr-xr-x`がパーミッションと呼ばれるもので,これの見方を簡単に説明します. - 区切り方は以下のように区切ります ` d | rwx | r-x | r-x ` - 1文字目 : ファイルの種別を表しています. |表示|意味| |----|----| |-|ファイル| |d|ディレクトリ| |l|シンボリックリンク| - 2~4文字目, 5~7文字目, 8~10文字目 : それぞれファイルの所有者(Owner), 所有グループ(group), その他(others)に対する権限を表しています.これは`chmod`で変更可能 |表示 |意味| |----|----| |r |読み取り可能| |w |書き込み可能| |x | 実行可能| | - | それぞれの権限なし| ## 変更コマンド(chmod, chown, chgrp) ### chmod `chmod` は *change mode* の略で,ファイルのパーッミションを変更するコマンドになります. コマンドの使用例は以下の通り. ``` $ chmod 750 hoge.txt ``` 基本的には ` chmod アクセス権 ファイル` で行います. ここで重要なのは2番目の数値です,これは各位の数字が0~7の3桁で指定します. 権限は上述した読み取り,書き込み,実行の3種類で,これらにそれぞれの数値が割り当てられています. |権限|数値| |---|---| |読み取り可能|4| |書き込み可能|2| |実行可能|1| これらの数字の足し算でアクセス権を表します. 例えば,上で示した`750`の場合,権限は次のようになります. |所有者|所有グループ|その他| |-----|----------|-----| |7<br>= 4 + 2 + 1|5 <br>= 4 + 0 + 1| 0 <br>= 0 + 0 + 0 |全て可能|読み取り・実行可能<br>(書き込み不可)|全ての権限なし| |rwx|r-x|---| それぞれの権限に当てられた数字の組み合わせで,区別できるようになってます. なんて便利なのでしょう! なので,セキュリティをあげたい場合は`700`にして所有者以外は何もできなくする,誰にでも使用できるようにするには`777`にする,など場合に応じて変更しましょう. ### chown `chown` は *change owner* の略で,所有者を変更するコマンドです.`chmod`に比べたらかなり簡単です. コマンドの使用例は以下の通り. ``` $ chown User hoge.txt ``` 上記のように,PCに登録されている`User`を`hoge.txt`の所有者にする,だけです.簡単ですね. `chown`では,グループも一気に指定することができ,以下のように行います. ``` $ chown User:Group hoge.txt ``` `:`で挟んで,グループを指定すると`chgrp`を行わなくてもできます. `chown`には便利なコマンドオプションがありますが,それは使用するときに調べてみてください. ### chgrp `chgrp`は*change group*,所有グループを変えるコマンドです. コマンドの使用例は以下の通り. ``` $ chgrp Group hoge.txt ``` `chown`と同じですね,ただ上述した通り`chown`で変更可能なので,あまり使わないと思います. 私は使ったことありません(笑) ## 参考記事 以下をクリックすると参考にした記事に飛びます,詳しく知りたい方はそちらをご覧ください. - [パーミッション](https://kazmax.zpp.jp/linux_beginner/permission_numerical.html) - [chmod](https://eng-entrance.com/linux-command-chmod) - [chown](https://webkaru.net/linux/chown-command/) - [chgrp](https://eng-entrance.com/linux-command-chgrp) ## 追記 サーバー管理を行う人なら問題ないと思いますが,`root`としてログインしないと上記のコマンドは使用できません. またセキュリティ上`root`にログインできないようにしている場合は,`sudo`コマンドとして使用してください. まぁ必要ないアドバイスだと思いますが.... ###### tags: `Linux` `サーバー管理`