AWS EC2 Amazon Linux の時刻を変更する

Tokyoリージョンでインスタンスを起動しても日本時間では無い場合
以下で変更出来ました。

現在の日付確認

# date
Fri Feb 28 06:48:31 UTC 2014

/etc/localtimeをコピーして更新

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

日付確認

# date
Fri Feb 28 15:49:03 JST 2014

AWS EC2で鍵認証からパスワード認証に変更するには

AWS便利ですね。
気軽にサーバを増設したり減らしたり。インスタンスを作成してから起動まで、ものの数分で行なえてしまいます。


しかし、EC2で作成されたサーバは、デフォルトで鍵認証しか許されていませんでした。
セキュリティ的には良いと思いますが、パスワード認証で使いたい要件もあると思います。


実際私がそうでしたので^^;
パスワード認証に変更する方法をメモしておきたいと思います。

条件

  1. EC2でサーバを作成済み
  2. 鍵認証でログインまで行なえている事

ルートパスワードの変更

$ sudo su -
[root@ip-xxx-xxx-xxx ~]# passwd 
Changing password for user root.
New password: 
BAD PASSWORD: it is based on a dictionary word
Retype new password: 
passwd: all authentication tokens updated successfully.

以上です。



以下、一般ユーザの追加。

一般ユーザ作成

EC2のデフォルトユーザーはec2-userというユーザになっています。
なので新しいユーザを追加、パスワード設定してみます。

useradd hoge
passwd hoge

hogeは適宜変更してください。

sudoを利用可能にする
sudo visudo

以下を追加しておきます。

hoge    ALL=(ALL)    ALL

sshの設定変更

デフォルトで鍵認証になっていますのでこれをパスワード認証に変えます。

バックアップを取る
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org 
sshd_configを開く
sudo vi /etc/ssh/sshd_config
変更内容
PermitRootLogin no      #rootでのログインを拒否
PermitEmptyPasswords no   # 空パスワードでのログインを拒否
PasswordAuthentication yes  #パスワード認証にする
RSAAuthentication no     # RSAでの認証を拒否。← 鍵認証を残しておきたい場合はyesにします
PubkeyAuthentication no    # 公開鍵での認証を拒否。← 鍵認証を残しておきたい場合はyesにします
sshdの再起動
sudo /etc/rc.d/init.d/sshd restart

※上記設定を誤っていた場合、ec2サーバに鍵認証ですらログイン出来なくなる可能性がありますので
以下のパスワードログインテストが成功するまで、このssh接続は切らないでいましょう!


パスワード認証のテストする

ssh hoge@ec2〜〜.amazonaws.com

無事にログイン出来たら成功です。
お疲れさまでした!

CentOSのバージョン確認とアーキテクチャの確認

バージョンの確認コマンド

cat /etc/redhat-release

結果

CentOS release 6.2 (Final)

アーキテクチャの確認コマンド

 uname -a

結果

Linux localhost.localdomain 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux

php ファイルの内容を全て文字列に呼び込む file_get_contents

説明

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )

パラメータ

filename
データを読み込みたいファイルの名前。

use_include_path
注意:
PHP 5 以降では、定数 FILE_USE_INCLUDE_PATH を使用して インクルードパス から探すことができます。

context
stream_context_create() で作成したコンテキストリソース。 独自のコンテキストを使用する必要がない場合は、このパラメータに NULL を指定します。

offset
元のストリーム上で、読み込みを開始するオフセット位置。
リモートファイルに対するシーク (offset 指定) はサポートしていません。 オフセットが小さい場合はリモートファイルでのシークがうまくいくこともありますが、 これはバッファリングされたストリーム上で動作しているだけのことです。

maxlen
読み込むデータの最大バイト数。 デフォルトは、ファイル終端に達するまで読み込みます。 このパラメータは、フィルタが処理した後のストリームに適用されることに注意しましょう。

php ファイルの削除 unlink

bool unlink ( string $filename [, resource $context ] )

filename を削除します。 Unix C 言語の関数 unlink() と動作は同じです。 失敗した場合は E_WARNING レベルのエラーが発生します

 unlink('test.txt');