2003.10.31
Linux設定メモ
ネットワーク設定
1.ネットワーク設定関連ファイル
- /etc/hosts
- /etc/resolv.conf
- /etc/sysconfig/network
- /etc/sysconfig/network-script/ifcfg-eth0
- /etc/sysconfig/static-routes
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.1 | 192.168.0.1からのアクセス |
192.168.0. | 192.168.0.(192.168.0.0〜255)からのアクセス |
www.example.com | www.example.comからのアクセス |
.example.com | .example.comドメインに含まれるホストからのアクセス |
ALL | すべてのホスト |
LOCAL | ホスト名にドット「.」が含まれないホスト(ex.ローカルホスト) |
UNKNOWN | IPアドレスが正引き/逆引きできないホスト |
KNOWN | IPアドレスが正引き/逆引き可能なホスト |
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コマンドが参照するデータベースを更新する