Linux:CentOSのバージョンを確認する

CentOSバージョン確認する時の方法をメモします。

catコマンドで「/etc/redhat-release」ファイルを出力すれば、
CentOSのバージョンを確認することができます。


CentOSのバージョンを確認

SSHでログインして、下記のコマンドを実行します。

cat /etc/redhat-release

実行すると下記のように出力され、バージョンを確認することができます。

# cat /etc/redhat-release
CentOS release 5.7 (Final)

また、CPUの情報を出力する場合は下記のコマンドを実行します。

cat /proc/cpuinfo

あまり調べることがなくて、忘れてしまうのでメモします。

Linux:LinuxサーバでIPアドレスを確認する方法

LinuxサーバIPアドレスを確認する時の方法をメモします。

IPアドレスを確認する場合は、「ifconfigコマンドを使用すれば
実行したサーバのIPアドレスを調べることができます。


ifconfigコマンド

ifconfigはネットワークの状態を確認することができるコマンドです。
また、ネットワークの設定等も行うことが可能です。

ifconfig

IPアドレスを確認する方法

SSHでログインし、スーパーユーザー(root)なります。

ifconfigを実行します。

ifconfig

実行すると下記のようにネットワークの状態が確認できます。

eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.xxx  Mask:255.255.255.0
          (省略)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          (省略)

eth0の「inet addr:」の後に表示されている「xxx.xxx.xxx.xxx」の
箇所がIPアドレスになります。

また、一般ユーザで実行する場合は、フルパスで実行します。

/sbin/ifconfig

上記と同じようにIPアドレスを確認することができます。


Linux:ログファイルの中身を空(サイズを0)にする

Linuxサーバログファイルの中身をサイズを0)にする方法をメモします。

サーバのログファイルは、ログを定期的に削除していないと
どんどんサーバの容量が大きくなってしまいます。
特にApacheのアクセスログなどはWEBサイトにアクセスがあるたびに溜まってしまうので注意です。

定期的にログを削除したり、ローテーションするなどの対応が必要になります。

以前の記事でファイルの中身を空にする方法を記載してました。

Linux:出力結果やテキストをファイルに書き出す方法

下記の方法を使用していましたが、中身は空になるのですがサイズが0になりません。

echo '' > hoge.txt

他に方法があるか調査し、色々と試してみました。
下記にLinuxファイル中身を空サイズを0)にした時の方法を記載します。


Linuxでファイルの中身を空(サイズを0)にする

空にしたいファイルの場所に移動します。

※access_logファイルを空にする場合

下記のコマンドを実行するとファイルを空にすることができます。

: > access_log

「:」は0を返すようなのでファイルサイズが0になります。

また、下記の方法でも対応できます。
空ファイル(nullデバイス)で上書きします。

cp /dev/null access_log

この場合、メッセージが表示されるかもしれません。

cp: `access_log` を上書きしてもよろしいですか(yes/no)? 

yseで上書きすればファイルサイズが0になります。


サーバの容量やログファイルなどは定期的にチェックし、
サイズが大きい場合は削除するなどの対応をするといいと思います。

Linux:chmodでファイル、ディレクトリのパーミッションを変更

Linuxchmodコマンドを使用して、ファイル、ディレクトリパーミッションアクセス権限)を
変更した時の使用方法をメモします。

システムを作成していると画像などの保存やファイルの書き込み、削除など
パーミッションの設定で処理できないことがあります。

その場合は、ファイル、ディレクトリのパーミッションを変更する必要があります。

以前にchownコマンドの使用方法を記載しました。
基本的にはchownコマンドと同じように使用します。

Linux:chownでファイルやディレクトリの所有者を変更する

下記にchmodコマンドの説明と使用方法をメモします。


chmodコマンド

ファイルやディレクトリのパーミッション(アクセス権限)を変更します。
パーミッションの指定は記号または数値で指定します。
パーミッションを変更できるユーザは、スーパーユーザか
そのファイル、ディレクトリの所有者に限られます。

chmod [オプション] [モード] [ファイルやディレクトリ]

ディレクトリ以下全てのファイル、ディレクトリのパーミッションを変更する際は
オプションで「-R」を指定します。

chmod -R [モード] [ファイルやディレクトリ]

-c:パーミッションが変更されたファイルのみ詳細を表示します。
-f:パーミッションを変更できない場合、エラーメッセージを表示しません。
-v:パーミッションの変更を詳細に表示します。
-R:ディレクトリとディレクトリ以下のファイルを再帰的に変更します。


chmodコマンドの使用方法

hoge.txtのパーミッションを「777」に変更する場合

chmod 777 hoge.txt

hogeディレクトリのパーミッションを「777」に変更する場合

chmod 777 hoge/

また、hogeディレクトリ以下全てのファイル、ディレクトリの
パーミッションを変更する場合

chmod -R 777 hoge/

Linux:SSH接続時のポート番号を変更する方法

LinuxサーバでSSHで接続する時のポート番号を変更する方法をメモします。

SSHのポート番号は初期状態は22番ポートで設定されています。

そのままにしていると悪意のある人から攻撃を受ける可能性があるので、
セキュリティ対策としてポート番号は必ず変更しておいた方がいいです。

SSHのポート番号を変更する際は、iptablessshd_configの設定を変更します。

下記にLinuxサーバでSSHのポート番号変更した時の手順を記述します。


SSH接続のポート番号を変更

※ポート番号を「50022」に変更する場合

SSHでログインし、スーパーユーザー(root)なります。

su -

スーパーユーザーになったら、iptables(ファイアウォール)の設定を変更します。
下記コマンドでiptablesを編集します。

vi /etc/sysconfig/iptables

新しく接続を許可するポート番号を追加します。

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50022 -j ACCEPT

保存が完了したら、iptablesを再起動します。

/etc/init.d/iptables restart

次にSSHの設定ファイルを変更します。
下記コマンドでsshd_configを編集します。

vi /etc/ssh/sshd_config

「Port 22」の箇所を「#」でコメントアウトし、
「Port 50022」を追加します。

#Port 22
Port 50022

保存が完了したら、sshdを再起動します。

/etc/init.d/sshd restart

設定が間違っていた場合など、接続できなくなるので、
現在の接続は絶対に切らずに、別の画面で新規に接続をします。

変更したポート番号でSSH接続ができるか確認します。

変更したポート番号で接続ができ、22番ポートで接続できなければ完了です。

新しく設定したポート番号で接続ができない時は、
設定を最初の状態に戻して、再起動します。
最初の情報で接続できるかを確認します。


設定が完了したら、iptablesの設定で22番ポートを拒否するように設定します。

#-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50022 -j ACCEPT

22番ポートをコメントアウトし、iptablesを再起動します。