忘備録

日々の調べ物をまとめる。アウトプットする。基本自分用。

AmazonLinux で EC2を立てたらとりあえずやること

前提

カーネルアップデート

$ yum update

自動更新

yum-cron を起動しておくと、夜間に自動的に yum update がかかるようになるので、入れておく。

インストール。

$ yum install -y yum-cron

起動。

$ service yum-cron start

起動設定。

$ chkconfig yum-cron on

日本語対応

日本語パッケージの追加

日本語パッケージがAmazon Linuxyumリポジトリにはないので、CentOS6のyumリポジトリを追加する。

$  cat << 'EOS' > /etc/yum.repos.d/centos6-base.repo
[base]
name=CentOS-6 - Base
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
enabled=0
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
EOS

日本語パッケージのインストール。

$ yum -y groupinstall "Japanese Support" --enablerepo=base

日本語設定

/etc/sysconfig/i18n

LANG=en_US.UTF-8

から

LANG=ja_JP.UTF-8

に変更、再読み込み。

$ source /etc/sysconfig/i18n 

以降、シェルが返すコメントが日本語になっているはず。

サーバ時刻をJSTに変更

$ cp -p /usr/share/zoneinfo/Japan /etc/localtime

確認。

$ date
2016年  9月 28日 水曜日 12:44:34 JST

/etc/sysconfig/clockも編集する。

$ cat << EOS > /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=False
EOS

作業ユーザ作成

今回は作業ユーザとして、 hoge ユーザを作成する。

ユーザ作成と同時にグループを wheel を指定。

$ useradd hoge -G wheel

作成したユーザにsudo権限を付与

visudo でsudo設定ファイルを編集する

100行目付近のコメントアウトを外す

## Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL

これで wheel グループのユーザは、パスワードなしで sudo を実行できるようになる

ちなみに、以下のように環境変数を設定しておくと、 visudo で起動するエディタが vi ではなく vim になり幸せになれるかも(ただし、Vimmerに限る)

$ export EDITOR=/usr/bin/vim

SSHの公開鍵認証設定

この設定は作成したユーザにログインして行う。

認証設定ファイルの作成。

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

~/.ssh/authorized_keysを編集して公開鍵を登録する。

$ vi ~/.ssh/authorized_keys

ちなみに、SSHの設定ファイルは /etc/ssh/sshd_config

この設定ファイルはデフォでいい感じになっているので、特に変更することはないが、一応 PermitRootLoginPasswordAuthenticationno になっていることくらいは確認しておくと精神衛生上良い。

ec2-user削除

いらんので、 ec2-user を消す。

# userdel -r ec2-user

ツッコミおねしゃす

とりあえず、以上です。

他にこの設定したほうがいいんじゃないってことがあれば、是非突っ込んでください。。。

参考

visudoコマンド(sudoコマンドの為の設定ファイルの編集)

一般ユーザーを sudo できるようにする - maruko2 Note.

sudoersを変更する、よく使う設定例 - それマグで!

cloud-initでAmazon Linuxの初期設定を制御する | OpenGroove

Amazon EC2(Linux)システム管理で知らないとハマる5つの環境設定 | Developers.IO