2003.10.31

Linux設定メモ

ネットワーク設定

1.ネットワーク設定関連ファイル

2.ルーティング・テーブル表示

# cat /proc/net/route
ルーティングの確認
# netstat -r

3.ネットワークインターフェースの設定

# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

4.ルーティングの追加

ネットワークルートの追加
# route add -net 192.168.0.0 netmask 255.255.255.0 eth0
ホストスルートの追加
# route add -host 192.168.1.1 netmask 255.255.255.0 gw 172.16.0.1 eth0
デフォルトゲートウェイの設定
# route add default gw 192.168.1.1 eth0
ルーティング削除
# route del default gw 192.168.1.2 eth0

5.ルーティングの追加(起動時に反映)

# vi /etc/sysconfig/static-routes
eth0 net 192.168.1.0 netmask 255.255.255.0 gw 172.16.0.1
[NIC] net [ネットワークアドレス] netmask [サブネットマスク] gw [GWアドレス]
ネットワーク再始動することで設定は反映される
# /etc/rc.d/init.d/network restart

6.リゾルバの設定

# vi /etc/resolv.conf
domain hosts.domain.jp
search hosts.domain.jp
nameserver 192.168.10.1
nameserver 192.168.20.1
デフォルトのドメイン名:hosts.domain.jp
FQDN が見つからなかった場合、ドメイン名を「hosts.domain.jp」にして再度調べる
ネームサーバ その1
ネームサーバ その2
FQDN(Fully Qualified Domain Name)
完全修飾ドメイン名
あるホストやドメインを指定する場合に、ドメイン名部分の文字列を省略せずにすべて記述する表記方法

7.リゾルバの動作設定

# vi /etc/hosts.conf
order hosts,bind
multi on
nospoof on
リゾルバはネームサーバに問い合わせるまえに、まず /etc/hosts ファイルを チェックする(order hosts,bind)
/etc/hosts ファイルに複数の IP アドレスが登録されていた場合、最初のアド レスだけでなく、全てのアドレスを報告する(multi on)
IPアドレスのスプーフィングをチェックする(nospoof on)
# vi /etc/hosts
127.0.0.1 localhost loopback
192.168.0.1 host.domain.jp

8.TCP_WRAPPERSの設定

接続許可のマシーンの一覧
# vi /etc/hosts.allow
# /etc/hosts.allow
#
# メールは全ての人に許可
in.smtpd: ALL # telnet と ftp は同じドメインのホストか自宅のホストにのみ許可
telnetd, ftpd: LOCAL, myhost.athome.org.au
# finger は全ての人に許可するが、誰が試みたかはメール通知
fingerd: ALL:spawn (finger @%h | mail -s "finger from %h" root)
接続拒否のマシーンの一覧
# vi /etc/hosts.deny
# /etc/hosts.deny
#
# ホスト名を詐称しているホストは不許可
ALL: PARANOID
#
# 全てのホストを不許可
ALL: ALL
記述例
[デーモン]: [対象]: オプション ※hosts.allowにもhosts.denyにも該当する記述がなかった場合は許可されます。
使用するときにはhosts.denyの最後に"ALL: ALL"を必ず記述します。
対象一覧
対象意味
192.168.0.1192.168.0.1からのアクセス
192.168.0.192.168.0.(192.168.0.0〜255)からのアクセス
www.example.comwww.example.comからのアクセス
.example.com.example.comドメインに含まれるホストからのアクセス
ALLすべてのホスト
LOCALホスト名にドット「.」が含まれないホスト(ex.ローカルホスト)
UNKNOWNIPアドレスが正引き/逆引きできないホスト
KNOWNIPアドレスが正引き/逆引き可能なホスト
PARANOIDホスト名からIPアドレス、IPアドレスからホスト名の結果が異なるホスト
EXCEPT「EXCEPT ホスト名」ホスト名以外
オプション一覧
オプション意味
allowサービスの利用を許可する
denyサービスの利用を禁止する
spawnコマンド ユーザーがサービスを利用しようとした際、指定されたコマンドをデーモンの子プロセスとして実行する
twistコマンド ユーザーがサービスを利用しようとした際、指定されたコマンドをデーモンの代わりに実行する
オプションで設定可能な変数
変数名内容
%a(%A)接続元(接続先)ホストのIP アドレス
%c接続元の情報(user@host、user@address、ホスト名、IPアドレス)
%dデーモンプロセス名
%h(%H)クライアント(%Hはサーバ)のホスト名またはIPアドレス
%n(%N)クライアント(%Nはサーバ)のホスト名またはunknown or(paranoid)
%pデーモンプロセスID
%sサーバ情報(daemon@host、daemon@address、デーモン名)
%u接続元ユーザー名(またはunknown)
%% %文字そのもの
inetd経由で起動するデーモンにtcpdを適用する設定
# vi /etc/inetd.conf
ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l -i -a
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

9.その他設定

# vi /etc/ftpusers
ftp不許可ユーザー一覧
# vi /etc/securetty
rootのアクセスできるtty一覧
※wu-ftpdでルートアクセスを許可したい(非推奨)
・/etc/ftpusersの編集
・/etc/ftpaccessの編集
ユーザーID0を拒否リストから外す

変更前
deny-uid %0-99 %65534-
deny-gid %0-99 %65534-
変更後
deny-uid %1-99 %65534-
deny-gid %1-99 %65534-
ユーザーID(UID)
ユーザーを識別するための番号
0 root
1-99 システム管理
その他 一般ユーザー

環境設定

1.シェル環境設定

bシェル
設定ファイル:.profile
PATH=/usr/sbin:/usr/bin:/usr/local/bin:usr/ucb:/usr/ccs/bin:/etc:.
MANPATH=/usr/share/man:/usr/local/man
export PATH MANPATH
cシェル
設定ファイル:.cshrc
setenv EDITOR /usr/bin/vi
set path=(/usr/sbin /usr/bin /usr/ucb /usr/ccs/bin /etc .)
set history=32
set filec
set prompt=\[`id -nu`@`hostname -s`\]\#\
#set prompt=\[`whoami`@`hostname -s`\]\#\
bash
設定ファイル:~/.bashrc(bash起動時に実行、.bash_profileから呼び出される)
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
設定ファイル:~/.bash_profile(ログイン時に実行)
source /.bashrc 設定ファイル:~/.bash_logout(ログアウト時に実行される)
ログイン時の流れ
1. ~/.bash_profile
2. ~/.bash_login
3. /etc/profile
※/etc/profile ログイン時に実行され全ユーザーに適用される
※bashrcを書き換えた後すぐに反映させたい時には
# source ~/.bashrc
を実行

その他

1.Linux起動の流れと設定ファイル

/etc/inittab(起動時のランレベルやinitの設定)
/etc/rc.d/rc.sysinit(システム全般の設定をおこなう)
/etc/rc.d/rc(停止スクリプトを数字順に実行し,起動スクリプトを数字順に実行する)
ランレベル
0 システムを停止
1 シングルユーザーモード
2 NFSをしないマルチユーザーモード
3 マルチユーザーモード
4 未使用
5 X11モード(GUIログイン)
6 再起動
※ランレベルはtelinitコマンドにより変更できる
# telinit 5

コマンドメモ&用語

loopback devices とは?
任意のファイルをファイルシステム(例:ext2)のようにマウントができる機能

# mount -a
/etc/fstab 中にリストされているすべてのファイルシステムをマウントする

# updatedb
update the slocate database
locateコマンドが参照するデータベースを更新する