初期設定:作業ユーザの作成

SSHログインができたら早速初期設定を行いましょう。ここからファイアーウォールの設定までは一気にやってしまってください。もし途中で辞める場合は、コントロールパネルからサーバを停止しておきましょう。何も立ち上がってないので強制終了ボタンで問題ありません。

作業用ユーザを作る

rootユーザで作業を行うと、なんでも出来て非常に便利なのですが、なんでも出来てしまうがために危険でもあります。

一番わかり易い危険性は、rootユーザによるファイル全消去です。

 rm /0 -Rf 

上記は万が一コピペして実行した時のために /0 としてありますが実際は / です。サーバ内部のファイル全部を強制消去するコマンドになっており、これを実行するとかたっぱしからファイルが消えます。絶対にやらないように。

もう一つの例としては、サーバがハッキングされる等して、管理者がログインした時にスクリプトが動き出すようなものだったとします。rootユーザで入ってしまうと、その権限を取られてしまい、結果的にサーバを明け渡すことになってしまう事があります。

他にも理由はあるとは思いますが、これだけで十分危険性が伝わると思いますので、次へ進みましょう。

作業ユーザとは何か

ここで言う作業ユーザとは、主にあなたが使うであろうアカウントです。rootユーザではありませんが、sudo というコマンドを用いることでrootユーザ並の実行権限を手にすることが出来ます。こうしておくことで、sudo + コマンドを打つ→パスワードを入力する必要があるというワンステップを挟むので、誤っておかしなコマンドを打ち込んでしまうという事が起こる危険性が少し減ります。

それでは実際にユーザを作ってみましょう。sudoを使うためにはユーザにパスワードが設定されている必要がありますので、パスワードの設定も同時に行います。

useradd yourname

passwd yourname

この2つだけです。yournameの部分は適宜自分のログイン名などに置き換えて設定をしてください。

useradd がユーザーの追加。passwdがパスワードを設定するコマンドです。パスワードは任意ですので、適宜入力しましょう。これで完了です。

作業ユーザでsudoを使えるようにする

それでは早速sudoが使えるようにしましょう。

まず、先ほど作ったアカウントをwheelというグループに追加します。

gpasswd -a yourname wheel

このコマンドが成功するとこんな結果が出ると思います

Adding user yourname to group wheel

これでグループへの追加が出来ました。

次に、wheelグループがsudoを使えるように設定を行います。

visudo

と打ち込んでください。こんな感じの画面になると思います。恐らくちょっとつまづきます。

visudo

余談:vi(vim)とは何か

これは、サーバ上で利用することの出来るテキストエディタです。MicrosoftのWordに慣れてしまっているとものすごく違和感があると思いますが、ここではそういうものだと思って聞いてください。本当は使いこなすとメチャクチャ便利なのですが、ここでviの習得をしているとあっという間にお試し期間を使いきってしまう可能性がありますので。。。

先ほどの画面がviというエディタの画面であるという事はわかったかと思います。つまり、これは設定ファイルを開いた状態であるということです。試しに j のキーをおしてみてください。一行カーソルが下に動いたのではないでしょうか。続けてjjjjjjj と押していくとどんどん下へ動いていくことが分かると思います。(逆に k を押すと上にあがります)

では、設定に必要な行を検索しましょう。

/%wheel

と打ち込んでください。最初の / は検索モードを使いますよというコマンドです。つまり %wheelを検索しますという事になります。これを実行すると、この辺にカーソルがくるのではないでしょうか。

wheel

この行の最初についている#はコメントアウトです。つまり、この行の設定内容を無視するという状態になっています。今回はwheelにsudoの実行権限を与えたいので、このコメントアウトを削除したいです。だがしかし、左にカーソルを移動するにはどうしたらいいでしょうか。

h

ボタンを押すのです。しかも二回押すのです。そうすると#の上にカーソルがやってくると思います。そこまで来たら

x

を押すのです。xは一文字削除するviのコマンドです。削除ができたら、エディタを保存して閉じましょう。

:wq

とコロン→w→qの順番でボタンを押してください。w はwrite。qはquitです。書き込んで終わるというコマンドになります。因みに、:wだけでEnterボタンを押すと、内容を保存するだけでエディタは終わりません。

さて、これでwheelグループにsudo権限が与えられました。sudoが出来るか実行してみましょう。まずは、今のrootアカウントからyournameアカウントに切り替えます。

su yourname

とすることで、yourname アカウントに切り替わります。

geeorgey

[rootとなっている部分が[geeorgeyに変わりました。ユーザが切り替わった証拠ですね。

因みに、 ~ が root に切り替わっています。これの意味ですが、どちらもサーバのディレクトリ構造でいうと

/root

の中にいる状態です。root アカウントから見ると /root はルートディレクトリです。ルートディレクトリのことを ~ で表す決まりになっているので、そのように表示されます。

逆に、geeorgeyアカウントからみると、このアカウントのルートディレクトリは /home/geeorgey ですので /root は ~ ではありませんね。それなので、今の位置である rootが表示されているという訳です。

/rootディレクトリ内部はrootユーザしか見れないはずです。 yourname アカウントでは閲覧権限がありませんので、ユーザを切り替えた状態でディレクトリ内部のファイルを見るコマンドを使ってみましょう。

ls -al

cantread

はい。許可がありません。つまり権限が無いので見ることが出来ませんね。それでは次にsudoで実行してみましょう。

sudo ls -al

どうですか。実行出来たのではないかと思います。/root以下にファイルがあると、ファイル名がずらずらと並びます。今は何も入っていないと思うので何も現れないはずです。

これで、作業ユーザにsudoでコマンドを実行させることが出来るようになりました。

作業ユーザがrootになれるように権限を与える

安全にはなったのですが、以降の作業でrootユーザで作業を行いたい部分があったりと、ローカルユーザ(作業ユーザ)では不都合のある作業があったりしますので、その時にrootになれるように環境を整えておきます。

先ほど作業ユーザに切り替わっていると思いますので、rootユーザに戻りましょう。

exit

su でユーザを変更したので、これをexitすると元のユーザに戻ってこれると思います。そうしたら、su というコマンドの設定ファイルを開きましょう。

vim /etc/pam.d/su

すると、コメントアウトしてある最後の行(6行目あたり)に以下の行があると思います。

#auth           required        pam_wheel.so use_uid

これの先頭の#を削除しましょう。

6G(Shiftキー+g) と押すとカーソルが6行目に行きます。恐らくカーソルは行頭#の所にあると思いますので、xをおして#を削除し、 :wq で保存してください。

こうすることで、wheelグループのユーザはrootユーザになれる設定が完了します。しかし、このままではrootユーザにはなれません。rootユーザにパスワードを設定する必要があるのです。

passwd root

と打って、rootユーザのパスワードを設定してください。作業ユーザとは別のパスワードにした方が良いでしょう。ここまで来たら、作業ユーザでrootになれるかテストをしてみましょう。

su yourname

作業ユーザにスイッチします。

su root

と打つとパスワードの入力を求められますが、ここで入力するのはrootユーザのパスワードです。

無事にrootユーザになれたでしょうか?

パッケージを最新の物にする

yumパッケージを最新版にしましょう。
その後、cronをインストールします。

yum -y update
yum -y install yum-cron
/etc/rc.d/init.d/yum-cron start
chkconfig yum-cron on
yum -y install cronie-noanacron
yum -y remove cronie-anacron

root宛のメールを転送する設定

sed -i '/^root:/d' /etc/aliases
echo "root: メールアドレス" >> /etc/aliases
newaliases

メールアドレスの部分は、自分で受け取れるメールアドレスを設定してください。

echo test|mail root

を実行するとテストメールが先ほど設定したメールアドレスに届くと思います。

kernel panic時の自動再起動

kernel panicになったら10秒後に自動で再起動するように設定

vi /etc/sysctl.conf

Shift + g キーをおしてファイルの最終行まで移動して oボタンを押します。

# When kernel panic's, reboot after 10 second delay
kernel.panic = 10

と追記したら :wq で保存してください。

sysctl -p

で設定が完了です。

IPv6を無効にする

/etc/rc.d/init.d/ip6tables stop
chkconfig ip6tables off
echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6.conf

logwatchをインストールする

yum -y install logwatch

リポジトリの追加

yum -y install yum-plugin-priorities
vi /etc/yum.repos.d/CentOS-Base.repo

を実行してリポジトリを開き、

[base]
[updates]
[extras]
[centosplus]
[contrib]
のそれぞれすぐ次の行に
priority=1
を追加して保存してください。

remiレポジトリを追加します。

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
vi /etc/yum.repos.d/remi.repo

[remi]の次の行に
priority=1
を追加して保存してください。

それでは、次は鍵交換の設定をしましょう。

次のステップへ→鍵交換を行う

オススメNginx本

nginx実践入門 (WEB+DB PRESS plus) 単行本(ソフトカバー) – 2016/1/16

nginxを現場で活用するための知識を、実践的なノウハウを交えて解説した書籍です。nginxのインストール方法や基本的な設定方法からはじめ、nginxを利用した「静的コンテンツ配信サーバ」「HTTPSサーバ」「Webアプリケーションサーバ」「大規模コンテンツ配信システム」の構築方法をそれぞれ詳しく紹介しています。後半ではnginxサーバのモニタリングやログの収集、そして軽量スクリプト言語Luaでnginxを拡張する方法について解説しているので、nginxをこれから使う方はもちろん、さらに活用したい方にもお勧めです。

公開日:
最終更新日:2016/02/17