index
Linuxが分かった気になる薄い記事#1
Linuxが分かった気になる薄い記事#2
Linuxが分かった気になる薄い記事#3
ユーザーとグループ
Macならrootユーザー、Windowsならadministratorユーザーと聞いたことがあるだろう。これらは管理者権限を持った最上位ユーザーであり、「田中」ユーザーや「佐藤」ユーザーなど人名ではない。Linuxでは人名ユーザー以外のユーザーをよく作成・使用する。apacheをインストールする際にはapacheユーザーを作成するし、mysqlをインストールする場合はmysqlユーザーを作成することが多い。そして同時にapacheグループ、mysqlグループを作成する。
パーミッション
なぜ、ユーザーとグループを作成するのかと言うとパーミッションと深く関わりがある。パーミッションとはread、write、executeの3種類がある。
- read:見るだけ
- write:書き込み、削除
- execute:実行
hogeユーザーtouch
コマンドを使用し適当な空ファイルを作成。ls -l
コマンドで詳細を見てみる
1 2 3 |
[hoge@60bc53d9aac6 ~]$ touch test.txt [hoge@60bc53d9aac6 ~]$ ls -l test.txt -rw-rw-r-- 1 hoge hoge 0 May 8 04:02 test.txt |
-rw-rw-r–の所がパーミッションの詳細となる。最初の1文字はディレクトリの場合d、そうでない場合は-が表示される。続いて、所有者のパーミッション、グループのパーミッション、その他のパーミッションの意味を示している。またhoge hoge
と書いているところが所有者とグループに該当する所だ。
文字数 | 意味 |
---|---|
1文字目 | dならばディレクトリ、-ならばディレクトリ以外 |
234文字目 | 所有者(hogeユーザー)のパーミッション |
567文字目 | グループ(hogeグループ)のパーミッション |
890文字目 | その他のパーミッション |
つまり、このファイルはhogeユーザーが読み書きでき、hogeグループは読み書きができ、その他のユーザーは読み込みのみ行う事ができる。
パーミッションはchmod
コマンドで変更することができます。ここでは深く解説しませんがchmod --help
コマンドにより使い方を見ることができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@aa1f35d7196b /]# chmod --help Usage: chmod [OPTION]... MODE[,MODE]... FILE... or: chmod [OPTION]... OCTAL-MODE FILE... or: chmod [OPTION]... --reference=RFILE FILE... Change the mode of each FILE to MODE. With --reference, change the mode of each FILE to that of RFILE. -c, --changes like verbose but report only when a change is made -f, --silent, --quiet suppress most error messages -v, --verbose output a diagnostic for every file processed --no-preserve-root do not treat '/' specially (the default) --preserve-root fail to operate recursively on '/' --reference=RFILE use RFILE's mode instead of MODE values -R, --recursive change files and directories recursively --help display this help and exit --version output version information and exit |
MODEがパーミッションとなり16進数で指定します。rwxの場合は2進数で”111″なので16進数で”7″となります。rw-の場合は”110″なので”6″よく使用する例をいくつか紹介します。r-wの場合は”101″なので”5″です。よく使用するものは
権限 | 値 | 目的 |
---|---|---|
rwx | 7 | フル権限を付けたい時 |
rw- | 6 | 実行ファイル以外で読み書きできるように |
r-x | 5 | 実行はできるが、変更させたくないとき |
— | 0 | 何もさせたくないとき |
パーミッション値を所有者、グループ、その他の順に指定します。700とした場合は所有者はフル権限、グループ・その他は何もさせないようになります。よく使用するものは”775″、”755″、”600″などです。
1 2 3 |
chmod 775 test.sh # 所有者、グループは読み書き・実行できる。他は実行のみできる。 chmod 755 test.sh # 所有者は読み書き・実行できる。グループ、その他は実行ができる chmod 600 test.sh # 所有者は読み書きができる。他はなにもできない |
おまじないと思ってもよいですが、書き込み権限、実行権限を付属するには読み込み権限が必要となります。
ユーザーにグループを追加する意味
ユーザーにグループを追加することができる。例えばsatoユーザーを作成した場合は初期状態ではhogeグループに所属していないため、上記で作成したtest.txtファイルを編集することができない。しかし、satoユーザーにhogeグループを追加することによりtest.txtを編集することができるようになる。
ユーザーやグループにより実行権限を買えることによりセキュリティの向上を図っている。セキュリティを完全無視し勉強用のサーバーと割り切るならrootユーザーのみでもよいが踏み台にされないように注意すること