■1.パーミッションとchmod、umask
(1)パーミッション
例で考えましょう
 drwxr-xr-x

最初がディレクトリを表すd
次の3つは所有者のパーミッション
次の3つはグループのパーミッション
最後の3つはOther(その他)のパーミッション

(2)ファイルとディレクトリで、それぞれ何ができる?
①ファイルの場合
 r →Webサイトのテキストや画像などは読むことができる
 rw →掲示板等で書込み可能
 r-x →シェルなどを実行可能
②ディレクトリの場合
 ディレクトリの場合、基本はx(実行権限)が必要と考えた方がいいだろう。実行といっても、ファイルを開いたりすることと考える。
 r →フォルダの中のリスト表示が可能
 w →ファイルを作成したりであるが、x権限も必要だろう。
 x →フォルダを開いたり、ファイルを作成したり

(3)chmod
・-R オプション recursive(再帰的)の意味で、ディレクトリ配下のファイルやディレクトリもすべてパーミッションを変更する。

(4)umask 
・パーミッションの設定はchmodで行う。umaskは、新規にファイルやフォルダを作成した場合のパーミッションを設定するもの
たとえば、002(Linuxのデフォルト)の場合
 ①ファイルの場合 666-002=644 → rw-rw-r--
 ②ディレクトリの場合 777-002=775 → drwxrwxr-xになる。
※umaskという引き算方式にせず、普通に644とかにすればいいと思うが、一つで両方を設定できるのが利点なのかも。
・umask と入力すると、デフォルトのumask値が表示される。

(5)chownとアクセス権
フォルダの所有権と所有者(ユーザ)をどちらもapache(グループ)、apache(ユーザ)に変える場合は以下
#chown apache.apache /var/www/html
※「.」ではなく「:」が最近は多いかも
※-Rをつけると、そのフォルダ配下のファイルのアクセス権も変える。

■2.SELinuxを無効にする
/etc/sysconfig/selinuxファイルの「SELINUX=…」となっている行を,
「SELinux=disabled」とする。

SELinux 状態を確認するには
$ getenforce
Enforcing ←有効になっている

変更するには、/etc/selinux/config

disabled (無効)
permissive(有効ではないが、警告が出る)

再起動して有効になる。一時的なものであれば、setenforce Permissiveとコマンドを打てばいい

※/etc/sysconfig/selinux のファイルは/etc/selinux/config のリンク。なので、まあ、気持ちの問題だけかもしれないが、/etc/selinux/configを編集した方がいいだろう。オリジナルファイルを保存する場合もこちらを。

◆TCP Wrapper
/etc/hosts.allowと/etc/hosts.denyファイルでアクセス制御をする。
/etc/hosts.allowが優先なので、/etc/hosts.allowに許可するユーザを書き、/etc/hosts.denyには全拒否の設定を入れる(ALL:ALL)。

■suidとsgid
suidがセットされると、一般ユーザが実行してもrootが実行したことになる。

/etc/passwdファイルはrootにしか実行件が無い。しかし、一般ユーザでもパスワードを変更できる。これは、/usr/bin/passwdにsuidが設定されているから。※/etc/passwdは設定ファイルで、/usr/bin/passwdは実行ファイル。
chmod u+s ファイル名 ※u+sのところを4755のように頭を4にしても同じ。
このように、+sをつけることで、suidを設定できる。

◆iptablesやfirewalldは別途記載