とあるエンジニアの技術記録

主にWindowsやLinuxの設定方法、トラブル解決方法について投稿してます~♪

NISサーバ構築(2/4:NISサーバについて)

2011年10月11日 18時55分44秒 | Linux
今日もNISサーバ、NISクライアントについて纏めておきます。

第2回目はNISサーバについて纏めておきます。
今回使用しているサーバOSはRHEL5.6 64bitになります。

(1)まずOSのBASE設定として以下のファイルを環境に合せて更新します。
 /etc/passwd
 /etc/group
 /etc/shadow
 /etc/hosts
  127.0.0.1 localhost.localdomain localhost
  192.168.1.100 server01.xxx.co.jp server01
 /etc/nsswitch.conf
   passwd: files nis nisplus
   shadow: files nis nisplus
   group: files nis nisplus
   hosts: files nisplus dns nis /etc/ntp.conf
 /etc/resole.conf
 /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=server01.xxx.co.jp
GATEWAY=192.168.1.1
GATEWAYDEV=eth0
TIMESERVERATBOOT=no


(2)次にNISサーバの設定を行います。
2-1.以下のモジュールがサーバにインストールされているかrpm -aq |grep ypコマンドで確認。
   yp-tools-2.9-1.e15.i386
   yp--2.9-1.e15.i386
   yp-tools-2.9-1.e15.i386

2-2.NISドメインの指定を指定するため、以下のコマンドを実行。
  #ypdomainname xxx.co.jp

2-3./etc/sysconfig/networkファイルに下記を追加。
   NISDOMAIN=xxx.co.jp

2-4.NISの使用範囲(ネットワーク)の設定を行います。
  サンプル書式の/usr/share/doc/ypderv-2.19/securentファイルを /var/yp/securenetsにコピーします。
コピー後下記を追加します。
   255.255.0.0 192.168.0.0

2-5.NISサーバのキャッシュ設定を行います。/etc/ypserv.confのfilesの項目を以下のように変更します。
   files:0
    *上記設定後、ユーザアカウントの追加、削除の動作不具合、パスワード変更反映時の即時実行が期待できる。

2-6.NISサーバの指定を行うため/etc/yp.confファイルに以下の記述を追加します。
   ypserver 192.168.1.100

2-7.NISサービスの起動とOS起動時のレベルを変更
   以下のコマンドを実行してサービス起動、OS起動時にサービスが自動起動するように設定します。
   #/etc/init.d/ypserv start
   #/etc/init.d/yppasswdd start
   #/etc/init.d/portmap start

   #chkconfig ypserv on
   #chkconfig yppasswdd on
   #chkconfig portmap on

2-8.以下のコマンドを使用してNISデータベースを作成(初期設定)します。
   #/usr/lib64/yp/ypinit -m
実行後、/var/ypディレクトリにxxx.co.jpディレクトリが作成される。
また以下のようなツリー構造になります。
   /var/yp/Makefile
   /nicknames
   /securents
   /ypservers
   /binding/
   /xxx.co.jp/
/group.byname
/group.bygid
/hosts.byname
/hosts.byaddr
/passwd.byname
/passwd.byuid
/protocol.byname
/protocol.bynumber
/rpc.byname
/rpc.bynumber
/service.byname
/service.bysernumber
/mail.aliases
/ypservers

2-9.以下のコマンドを実行してログファイルを作成。
   #touch /ver/yp/ypserv.log
 →エラーや警告メッセージを記録する


以上でNISサーバの設定は完了です。

NISサーバ構築 (1/4:NISサービスについて)

2011年10月11日 18時49分23秒 | Linux
今日はNISサーバ、NISクライアントの構築について纏めておきます。
ただ内容が多いので4回に分けてアップしていきます。

1.NISサービスについて
2.NISサーバについて
3.NISクライアントについて
4.動作確認方法について

第1回目はNISを使用する際のサービスについて纏めておきます。

NISサーバを構築しようとしたところ以下のサービスを使用することがわかりました。
スレーブサーバは今回構築しないのでypxfrdサービスは使用しませんが、
せっかくなので記載しておきます。

▼ypservサービス
 →ypbindで問い合わせされたユーザ情報に回答するNISサーバのサービス

▼ypbindサービス
 →ネットワーク経由でユーザアカウントとパスワードを問い合わせるサービス
*ypbindがサーバを探すに方法は2通りある。
(1)ブロードキャスト(サーバの名前を明示的にしない)
(2)ypbindオプションを用いて明示的に指定する

▼yppasswdサービス
 →NISにおけるパスワードを変更するためのサービス
*従来のpasswdコマンドでは変更できない)

▼ypxfrdサービス
 →NISサーバのマスターからNISスレーブに転送する際に使用するサービス

▼portmapサービス
 →NISサーバに必要なサービス。
RPCプログラム番号をDARPAプロトコルのポート番号に変更するサービス。

以上

USBメモリのマウント/アンマウント方法

2011年10月03日 22時36分30秒 | Solaris
今日はSlaris9のUSBメモリのマウント/アンマウント方法について纏めておきます。

▼マウント方法
#dmesgでデバイス情報を確認
 →sd31 is /pci@1e.600000/usb@a/strage@2/disk0.0
→/pci@1e.600000/usb@a/strage@2/disk@0.0(sd31) online

#ls -l /dev/dsk | grep "/pci@1e.600000/usb@a/strage@2/disk@0.0"
→C3t0d0s0
→C3t0d0s1
→C3t0d0s2
→C3t0d0s3
→C3t0d0s4
→C3t0d0s5
→C3t0d0s6
→C3t0d0s7

#mount -F pcfs /dev/dsk/C3t0d0s0:C /mnt

*「:C」は忘れずに!
これでマウントは完了。

▼アンマウント方法
#umount /mnt

以上

logrotateについて

2011年10月03日 22時23分46秒 | Linux
今日はlogrotateについて纏めておきます。
ログローテーションを行う理由としては、HDDの圧迫を阻止することと
ログを確認する時に時間がかかることとCPUへの負担を減らすことが目的です。

設定ファイルは2つある。
「/etc/logrotate.conf」 →ログローテーションのグローバル設定
「/etc/logrotate.d/各ファイル」 →各ログファイルの設定

▼/etc/logrotate.confについて
weely        #毎週ファイルの置き換えを行う daily→毎日、monthly→毎月#
rotate 4      #4世代分のファイルを作成#
create       #ファイル置き換え後、新しいログファイルを作成#
#compress      #ファイルを圧縮する(デフォルトは無効)#
include /etc/logrotate.d    #各ログの詳細ファイルの保存場所#
/var/log/wtmp{   
monthly
minsize 1M
create 0644 root utmp
rotate 1
}
#wtmpログファイルを毎月1世代のみログを作成。所有者はroot、グループはutmp、パーミッションは644のログファイルを作成する#


▼/etc/logrotate.d/のファイルについて
各サービスのログファイルの設定は/etc/logrotate.d/以下に保存されている。RHEL5.6(64bit)では以下のファイルがある。
 httpd、mailman、named、rpm、samba、snmpd、squid、syslog、up2data、yum(かなり省略・・)


▼/etc/logrotate.d/syslogについて
/var/log/messages /var/log/secure /var/log/maillog {    #どのログファイルに関する設定かの記述#
sharedscripts    #上記のログファイルのローテーション後に、下の行の処理を1度だけ実行#
postrotate     #endscriptまでの処理をローテーション終了後に実行#
 :
endscript      #コマンドの終了#
}

また外部機器のSyslogのローテーションを行うには以下の設定を追加します。

/var/log/local0/sw.log /var/log/local1/fw.log /var/log/local2/router.log {
daily
rotate 14
compress
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}


▼【参考ファイル】/etc/logrotate.d/namedについて
/var/log/named.log {
missingok
create 0644 named named
postrotate
/sbin/service named reload 2> /dev/null > /dev/null || true
endscript

▼ログローテートの実行
ログローテートはサービスとして実行されておらず、logratateコマンド(/usr/sbin/logrotate)で/etc/logratate.confをcronで実行しているだけである。

/etc/cron.daily/logrotateファイルに以下の記述があり、
 /usr/sbin/logrotate /etc/logrotate.conf
logrotateコマンドによって実行された/etc/logrotate.confが内容に沿って各サービスのlogファイルのローテーションを行う。

▼/var/lib/logrotate.statusについて
ログファイルがローテーションされたか確認するには/var/lib/logrotate.statusの内容を確認すればよい。

(例)"/var/log/httpd/error_log" 2011-10-05
  →2011年10月5日にログファイルがローテーションされたことを示す。

ただしこの日付が本日付けであれば手動でlogrotateを実行してもログファイルは更新(作成)されないので注意!!!


▼参考URL
http://www.atmarkit.co.jp/flinux/rensai/root03/root03c.html
http://linux.kororo.jp/cont/server/logrotate.php
http://kamoland.com/wiki/wiki.cgi?logrotate%A4%CE%C0%DF%C4%EA

以上

Syslogサービスについて

2011年10月03日 22時18分46秒 | Linux
今日はSyslogについて纏めておきます。
Syslogによって取得できるログで不正アクセスやサーバの状態、サービスの動作を監視することができます。

ログが出力されるファイルは以下の通りです。
/var/log/messages
 →一般的なシステムに関する情報
/var/log/cron
→定期的に実行される処理の結果に関する情報
/var/log/maillog
→メールに関する情報
/var/log/secure
→セキュリティに関する情報
/var/log/spooler
→印刷やニュースに関する情報
/var/log/boot.log
→OS起動時に関する情報

*出力されるログの書式:日時_サーバ名(IPアドレス)_情報
(例)Oct 2 04:03:21 mail named[3628]: zone xx.168.192.in-addr.arpa/IN: Transfer started.


ログには
「アプリが独自に出力するもの(apatch、squid、samba)」
「syslogdを利用するもの」
がある。

設定ファイルは/etc/syslog.confで2つのフィールドの書式がある。
 「selector」 (取得するログの設定)
 「action」 (selectorで指定したメッセージログを出力するファイルを設定)
書式: selictor action (←間にはタブ、だたしOSによって異なる)

▼selectorについて
これも2つの書式で設定する。
 「facility」 (取得するログの分類情報)
 「priority」 (プログラムが出力するメッセージログレベルを設定)
 書式: facility.priority (←間にはピリオド)

▼facilityの種類
auth,authpriv
→認証サービスのメッセージ
cron
→クーロンメッセージ
deamon
→デーモンメッセージ
kern
→カーネルメッセージ
lpr
→プリンタサービスのメッセージ
mail
 →メールメッセージ
news
→ニュースサービスのメッセージ
syslog
→syslogのメッセージ
user
→ユーザプロセスのメッセージ
uucp
→uucp転送メッセージを行うプログラムメッセージ
local0~7
 →アプリケーションに依存

*複数のfacilityを指定する場合は「,」カンマで設定すること。


▼Priorityの種類
none
→メッセージを受け取らない
debug
→デバック情報
info
→情報
notice
→通知
warm
 →警告
err
→一般的なエラー
crit
 →致命的なエラー
alert
→緊急に対処すべきエラー
emerg
→システムが落ちるような状態

*errを設定するとerrからemergまでが設定される
*またemergに近いほど重要度が高い。


▼actionの種類
ファイルに出力
 →/var/log/messages
 →-/var/log/maillog
*保存先のファイル名の前にハイフン(“-”)を付けるとファイルをディスクに書き出す際にバッファリングをするようになる。
バッファリングを行わないとHDDに細かいデータを頻繁に書き出すため、
  ディスク関連の負荷が上昇し,システムパフォーマンスの低下が生じることがあります。
  バッファリング(ある程度の量のデータをためてから書き出す)を行うことにより、
  ある程度,負荷の上昇を抑えることができます。
  ただバッファリングをしている最中にシステムがクラッシュしてしまうと
  たまっていたデータはディスクに書き出されずに消えてしまいます。
他のプログラムに渡す
 →| を使用する
他のホストに渡す
 →@ホスト名
ユーザコンソールに渡す


以下の記述はRHEL5.6の/etc/syslog.confにデフォルトで設定されている記述です。
*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messeges
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/slooper

▼不正アクセスについて
どの状態が「正常な状態」か「攻撃を受けている、準備されている」かを日ごろのチェックで知っておくことが必要。
例えば「xntpd」に関するログはDDS攻撃を受けていることを意味する。
チェックするログファイルは「/var/log/messages」と「/var/log/secure」です。

▼外部からのログを取得する起動オプションについて
/etc/sysconfig/syslogファイルに以下の記述を追加すると外部(自分以外の機器)からログを受け取るようになる。

SYSLOGD_OPTIONS="-m 0 -r"
 →正確にいうと-rを追加する。

設定後、サービスの再起動(/etc/init.d/syslog restart)を実行すると設定が有効になる。


▼参考URL
http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec08/unix_sec01.html

以上

共有フォルダをネットワークドライブとしてマウント/アンマウントする方法

2011年10月01日 00時09分48秒 | WIN
ユーザログオン時にスクリプトでサーバの共有フォルダをネットワークドライブとしてマウントするコマンドについてまとめておきます。

指定の共有フォルダをマウントするには以下のコマンドを使用し、ログオンスクリプトに記載すればログオン時にマウントされます。
(サーバ名:server01、共有フォルダ:share、マウントドライブ:Vドライブとする)
#net use v: \\sever01\share


共有フォルダ内に各ユーザのアクセス権が付いたフォルダをマウントする場合は以下のコマンドを使用し、ログオンスクリプトに記載すればログオン時にマウントされます。
ただしフォルダ名はユーザ名と同じにする必要があります。
(サーバ名:server01、共有フォルダ:share、マウントドライブ:Vドライブとする)
#net use v: \\sever01\share\%USERNAME%

アンマウントする方法は以下のコマンドになります。
#net use v: /delete

以上

netstatコマンドについて

2011年10月01日 00時01分52秒 | WIN
今日はnetstatコマンドについて纏めておきます。

TCP/IPにおける通信状態を調査するために使用するコマンドで、実行するとローカルPCのTCP/IPプロトコル上で現在アクティブになっているTCP通信の状態を表示することができる。

#netstat
→現在アクティブなTCPコネクションの状態が表示される。
  (LISTENINGでないコネクションが表示)

  proto    localaddress    Foreign Address    state
 -------------------------------------------------------------------
  TCP    clientpc01:1264    localhost:1265    ESTABLISHED
  TCP    clientpc01:3661    imap.xx.co.jp:imap   TIME_WAIT

▼表示説明
proto
 ネットワークプロトコル
localaddress
 ローカルPCのコンピュータ名と使用中のTCPポート
Foreign Address
 通信相手のコンピュータ名とポート番号、同じPC同士でもコネクションを確立することができるので、自分自身のIPアドレスの場合もある。
state
 TCPコネクションの状態を表示

▼stateの説明
CLOSED
未使用状態のTCPポート。通常表示されない。
LISTENING
待ち受け状態のポート。-aオプションを付けると表示される。
ESTABLISHED
 TCPコネクションが確立して通信している状態。どちらかが終了処理を始めるとCLOSED_WAITに変換する。
TIME_WAIT
 コネクションの終了待ち状態。しばらく待った後でCLOSEDへ変換して終了。
CLOSED_WAIT
 どちらかが終了処理を始めると表示される。


#netstat -n
→「localaddress」「Foreign Address」欄のホスト名、ポート番号がすべて数値化される。
   メカニズムとしては以下のファイルを参照している。
   「ホスト名⇔IPアドレス」はDNS、hostsファイル
   「ポート番号」は/etc/serviceファイル

#netstat -a
→待ち受け状態のTCPポートがあるか調べる時に使用する。
  サービス名でなく具体的なポート番号を知るには一緒にnオプションを付ける。

  proto   localaddress      Foreign Address  state
 -------------------------------------------------------------------
  TCP    0.0.0.0:135       0.0.0.0:0    LISTENING
  UDP    0.0.0.0:135       *:*
  UDP    192.168.0.100:2059    *:*

▼表示説明
0.0.0.0:0
任意のIPアドレスで待ち受けをしていることを表す。
LISTENING
 待ち受けを意味する。
*:*
 待ち受けを意味する。UDPの場合、Foreign Addressで「*:*」と表示されているのが待ち受け状態のポートを表示する。

以上

scpコマンド

2011年10月01日 00時00分00秒 | Linux
今日はscpコマンドを使用したリモートサーバにデータをコピーする方法について纏めておきます。

scpコマンドはファイルをSSHで暗号化した上で転送してくれるコマンドです。
ローカルからリモートもしくはリモートからローカルへの転送に使用できます。

ます書式は以下の通りになります。
 scp [option] File Remoteusername@Remotehost(IPアドレス):path

例として172.16.1.2の/tmpにあるtest.tarを172.16.1.2にコピーします。
 scp -r /tmp/test.tar root@172.16.1.1:/tmp

主なオプションは以下の通りです。
 -r:ディレクトリを再帰的にコピー
 -p:ファイルのパーミッションや、最終変更時刻を保ったまま転送
 -v:経過を詳細に出力

コマンドを実行するとパスワードを求められるので入力後、
エンターキーをクリックするとコピーが始まります。
 root@172.16.1.2's password: <--パスワードを入力

▼参考URL
http://www.ksknet.net/linuxrz/scp.html

以上