Comments
Description
Transcript
Linuxを活用したネットワークの運用・管理
Linuxを活用したネットワークの運用・管理 −CUIによる編集 vol.2− ver.1.0 広島県立教育センター 実践編 1 グループ・ユーザ管理 (1) グループ設定 RedHat系のディストリビューションではX Windowの ユーティリティを利用するのが便利である。 ○ コマンド入力を利用する場合 書式 groupadd グループID 作成したいグループ名 # groupadd 1100 project ↵ グループID グループ名 例 :プロジェクトグループ ○ 直接エディタで,/etc/group ファイルを編集する場合 # vi /etc/group エディター編集画面例 ↵ 書式 ユーザ名::グループID : グループID 通常は500 番以降を利用する。 例 jyoho::505: (2) ユーザアカウントの作成 useradd(adduser )を利用した登録( 少人数の場合に利用する。) ① スーパーユーザになる。 $ su - ↵ password: ******** ↵ (*******は画面表示されない。) ② useraddコマンドを実行する。 # useradd -g グループ名またはグループID ※ ユーザ名 ↵ グループのオプションを利用する場合は,事前にグループを作成しておく必要がある。 書式 t-hiro:**********************:1001:1001:Hiro Taro:/home/hiro:/usr/local/bin/tcsh ユーザ名 パスワード ユーザID グループID ホームディレクトリ (3) newusers コマンドを利用する。 ① スーパーユーザになる。 $ su - ↵ password: ******** ↵ (*******は画面表示されない。) - 1 - 利用するシェル ② /etc/passwd と同じ形式のファイルを作成する。 ○ 登録したいユーザの情報を /etc/passwd と同じフォーマット形式で作成する。 ※ Windows のクライアントで事前に作成しておくと作業時間が短縮できる。 作成例 ユーザID No ユーザ名 ホームディレクトリィ lab01::1100:502:Lab01 User:/home/lab01:/bin/tcsh グループID No 仮パスワード(パスワードなしの場合) アカウント名 ※ 使用するログインシェル名 データとデータの区切り記号は[ :を使用すること! ] ユーザ登録リスト例 ○ 適当な名前で保存する。(拡張子は特に必要はない。) userlist.txt 例 ※ Windowsで作成する場合は拡張子を付けなければ,ファイラ等で確認する際, 不便なので便宜的に拡張子として[txt] を利用した。 ③ 作成したデータをFTPでサーバに転送する。 ※ サーバ内部で直接作成する場合は,この作業は省略できる。 ④ newusersコマンドの実行 # newusers (設定ファイル名) 例 # newusers ↵ /home/admi/userlist.txt ↵ - 2 - 2パスワードの変更 ユーザ登録後,各ユーザがパスワードを次の要領で変更すること! telnet でログオンし,次のコマンドでパスワードを変更をすること $ passwd ↵ Changing password for ユーザ名 Enter old password: ******** (旧パスワード) Enter new password: yyyyyy (新パスワード) Re-type new password: yyyyyy (新パスワード) Password changed. ※ UNIXでは大文字・小文字の区別がある。パスワードは英数,大文字・小文字を組み合わ せて指定する。 例 ☆ Molts6Gi100(モルツ麦100) パスワードを忘れた場合は(緊急の場合のみ実施すること!) # vipw ↵ エディターが起動するので,パスワードの*部分を削除する。 t-hiro:**********************:1001:1001:Hiro Taro:/home/hiro:/usr/local/bin/tcsh t-hiro::1001:1001:Hiro Taro:/home/hiro:/usr/local/bin/tcsh エディタを終了し,ユーザがログオンしパスワードを変更する。 3 ユーザの削除 書式 # userdel -r ログインユーザ名 ↵ オプションスイッチ: -r ホームディレクトリも一緒に削除する。 4ネットワークカードの確認 (1) ネットワークカード情報の確認 書式 ifconfig オプション インターフェイス コマンド実行例 # ifconfig -a ↵ 組み込まれているNIC情報がすべて表示され る。 # ifconfig eth0 ↵ Linux場合,1枚目のNIC情報が 表示される。 - 3 - (2) ルーティング情報の確認 書式 netstat オプション # netstat -rn ↵ Flagsに関する説明 Flags 意 味 U(Up ) 経路がアクティブな状態を示す。 H(Host ) 経路の destinationが単一のホストを示す。 G(Gateway) この destinationへ送られると, どこへ送れ ばよいかを明らかにして, そのリモート システムへ送信する。 S(Static ) 経路がシステムによって自動的に生成されたのではなく手動で作成されたことを示 , す。 C(Clone) マシンに接続したときに,この経路に基づく新しい経路が作られる。. このタイプの 経路は通常は ローカルネットワークで使われる。 W(WasCloned ) ローカルエリアネットワーク(Clone) の経路に基づいて 自動的に生成された経路 であることを示す。 L(Link ) イーサネットハードウェアへの参照を含む経路であることを示す。 (3) ネットワークインターフェイスのトラフィックを確認 書式 netstat オプション # netstat -i ↵ (4) 相手にパケットが届くかどうかの確認 書式 ping オプション ipアドレスまたはドメイン名 # ping -c3 172.16.6.254 ↵ - 4 - 5ネットワークカードの設定変更 ○ Linuxの場合(RedHat系) ・設定ツール netconfigを利用する。 # netconfig ↵ 変更したいIPアドレスに直接書き換える。 6 プロセスの管理 (1) プロセスの確認 [ps]-ax コマンドでプロセスの詳細確認をする。 プロセス一覧の見方 PID TTY STAT TIME COMMAND TTY :プロセスを実行したコンソールの番号 696 1 S 0:00 -bash STAT :プロセスの現在のステータス ステータス詳細 ステータス 意 味 D ディスクなどの入力待ち I 休止中 P ページ切り替え待ち状態 R 実行中 S キー入力待ち T 停止中 Z ゾンビ状態,自分自身は終了したが,親がそのステータスを取得の状態で,終了できない状態 - 5 - USER:プロセスを実行しているユーザ名 PID :プロセスID %CPU :CPU 占有率 %MEM :メモリ占有率 VSZ :仮想メモリの利用量(バイト K ) RSS :実メモリの使用サイズ(バイト) K TT :使用端末 STAT :プロセスの状態 R :実行可能状態 S :スリープ状態 I :アイドル状態 D :ディスク内 T :停止状態 Z :ゾンビ状態 STARTED:プロセスの開始された時刻 TIME :プロセスの稼働時間(実際にCPUを利用した時間でプロセスが開始されてからの時間ではない。) COMMAND:コマンド名 プロセス情報の表示 例 $ps aux │ less ↵ (2) プロセスの強制終了 実行中のプログラムの終了には,二つの方法がある。 ◇ その一つは一時的なプログラムの終了である。実行方法は次の通りである。 ・ ・ ・ ・ ・ ・ ・ ジョブの確認をする コマンドの一時停止 コマンドの再開 バックグランドジョブとして再起動する場合 バックグランドジョブの停止 コマンドの終了 コマンドの実行結果をゆっくり見る : : : : : : : % jobs -l (ps コマンドを利用しでもよい) [Ctrl] +[z] f g %[ジョブ番号] bg %[ジョブ番号] stop %[ジョブ番号] [Ctrl] +[c] [Ctrl] + [s]のあと[Ctrl] + [q] これでも終了しない場合はプロセスの強制終了をする。 - 6 - ◇ 二つ目の方法が,kill コマンドを利用する方法である。 ki l l −[オプション] [プロセスI D(ジョブ番号)] ki l l%[ジョブ番号] ※ ジョブ番号は[jobs]コマンドで確認する。 ”キル(kill)コンマンドの利用したプログラムの終了例 ” # kill 165 ← プロセス番号165 のプロセスを終了する。 # kill %1 ← ジョブ番号1のプロセスを終了する。 # kill -KILL 128 ← 応答しなくなったプロセスを終了する。(プロセス番号 128) # kill -KILL %3 ← 応答しなくなったプロセスを終了する。(ジョブ番号3) # kill -HUP 120 ← 実行中のデーモンの設定を変更したのでそのプロセスを再起動する。 (プロセス番号120) # kill -KILL %2 ← 実行中のデーモンの設定を変更したのでそのプロセスを再起動する。 (ジョブ番号2) シグナル・シグナル番号一覧(抜粋) 文字表記 数値 シグナル名 意 味 SIGHUP 1 HUP SIGINT 2 INT キーボードの割り込み SIGQUIT 3 QUIT キーボードからの中止命令 SIGILL 4 ILL 不当な命令 SIGKILL 9 KILL プロセスの強制終了 SIGUSR1 10 USR1 アプリケーションに依存するシグナル SIGUSR2 12 USR2 アプリケーションに依存するシグナル SIGPIPE 13 PIPE パイプの端が閉じられた SIGALRM 14 ALRM アラーム・タイムの設定時間が切れた SIGTERM 15 TERM プロセスの終了(オプションを省略したときのデフォルト値) 端末が切断されたときに送信される。デーモンの場合には,「設定ファイルの読み込 み」に使われることも多い。 7周辺機器の利用 (1) マウント MSDOS やWindows では,フロッピディスク,CD-ROM,MOなどは,ドライブとして扱われるが,UNIXではスペシャ ルファイルとして扱うことになる。従って,フロッピディスクやCD-ROM を利用するためには「mount」コマンドを利 用する。CD-ROMやフロッピディスクが「 mount 」されていれば,ディレクトリを扱うように利用できる。デバイスの呼 称がFreeBSDやLinuxでは異なるので,次に示すコマンドの説明例の部分の内,/dev/○○の○○の部分を 利用しているOSによって読み替えて入力する。 書式: mount オプション - オプション デバイスのマウントポイント -t:ファイルタイプを指定する。(省略するとUFSとして扱われる。) -r:読み込み専用でマウントする。 - 7 - ① CD-ROMをマウントする場合 # mount -t cd9660 /dev/acd0c # mount /mnt/cdrom ↵ # mount /cdrom ↵ /cdrom ↵ (FreeBSD) (Linux) (Plamo Linux) ② ハードディスクのMSDOS領域をマウントする場合 # mount -t msdos /dev/wd01 /dos ↵ (linuxの場合はwd01をdha1に変更する。また,FAT32の領域をマウントしたい場合はmsdosをvfatに変更する。) ③ ※ MSDOS のフロッピディスクをマウントする場合 # mount -t msdos /dev/fd0c /mnt ↵ (FreeBSD) # mount -t msdos /dev/fd0.1440 /mnt ↵ (FreeBSD98 ) # mount -t vfat /dev/fd0c /mnt/floppy ↵ (Linux ) ・ 事前にマウントの設定ファイル(fstab)を/etc/に作成するとOSの起動時にマウントさせることができ る。 ・ -t オプションを省略するとunixの標準ファイルの指定をしたことになる。 ・ ファイルのタイプをmsdosとしてもvfatでもWindowsのファイルを読むことができる。vfatとmsdosのファ イルタイプの違いは,vfat がロングファイルネイムのサポートと大容量ハードディスクの利用が可能とな っている。 ④ /etc/fstab に設定されている全てのファイルをマウントをする場合 # mount -a ↵ /etc/fstabの内容(例) デバイス名 #Device /dev/wd0slb /dev/wd0sla /dev/wds1f /dev/wds1e /dev/wcd0c proc マウント先 Mountpoint none / /usr /var /cdrom /proc ファイルのタイプ UFS(Unix File System) MFS(Memory File System) MSDOSFS FAT16 VFAT FAT32 NTFS ISO9660 Linux ⑤ ファイルのタイプ オプション FStype swap ufs ufs ufs cd9660 procfs :ufs :mfs :msdos :vfat ダンプの有無 Options Dump sw 0 rw 1 rw 2 rw 2 ro,noauto 0 rw 0 fsckによるチェックの有無 Pass# 0 1 2 2 0 0 マウントオプション(Options) ro:読みとり専用(Read Only) rw:読み書き可能(Read& Write ) sw:スワップエリア userquota:ユーザ毎のクオータを有効にする noauto:起動時に自動マウントしないようにする。 :ntfs :cd9660 :ext,ext2 ,ext3 ハードディスク(HDD)の追加 ディスク容量の不足等によって新規にHDDを追加したい場合の対応として ◇ Linuxの場合 mkfsコマンドを利用して,HDD を追加する。 # mkfs -Vtcl ext3 /dev/hda1 ↵ (デバイス名をhda1 とした場合) # fdisk /dev/hda1 ↵ (fdisk コマンドを使いパーティション等と追加する) - 8 - (2) アンマウント UNIXではマウントした周辺機器は,必要なくなった時点で,アンマウントする必要がある。 書式: umount マウントポイント (マウントポイント:/cdrom,/mntなど) 例 # umount /cdrom ↵ (CD-ROM をアンマウントする場合) 8 サービス(デーモン)の設定 サーバで利用できるサービスには様々なものがある。一般的なものとして,telnet,ftp,DNS, www,mail,smbなどがある。これらのサービスを利用するためには,利用したいサービスを起 動する必要がある。起動方法として,次に示すような方法がある。 ○RUNレベルによるサービスの起動 ・inetd.confによるサービスの起動 ・shスクリプトによるサービスの起動 ○crontabによるサービスの起動(定期的に実行したいコマンドの設定) いつも利用するサービスでないものは,時間を限定して利用することができる。これを,可能にするの が,cronである。この設定情報が記述してあるのが,/etc/crontabである。 crontab の書式 : 分 時 日 月 曜日 動作権限 起動コマンド 分 :0∼59 時 :0∼23 日 :0∼31 月 :0∼12 曜日:0∼7(0:日,1:月,2:火,3:水,4:木,5:金,6:土,7:日) 日曜日は0でも7でもよい。 ※ ・特別に指定する必要のない場合には,* [ ](ワイルドカード)を利用できる。 ・複数の時間等を指定する場合はデータを[,](コンマ)区切って指定できる。 ・項目と項目の間は空白(スペース)で区切る必要がある。 設定例 # # 分 時 日 月 曜日 動作権限 起動コマンド -----------------------------------------------------------------------------------毎日,2時間おきにコマンドを実行する。 0 2 * * * root periodic daily 2>&1 │ sendmail root 毎週土曜日,3時30 分に コマンドを実行する。 30 3 * * 6 root periodic weekly 2>&1 │ sendmail root 0分,20分,40分ごとにコマンドを実行する。 0,20,40 * * * * root /usr/lib/newslog - 9 - 9 Linux ランレベルの設定 /etc/inittabで実行すべきプロセスを設定する。 initab の書式 エントリの識別子 1: ※ ランレベル アクション 123456: respawn : プロセス /sbin/mingetty tty1 テキストログインとグラフィカルログインの変更は,このinittabの上述のid番号を変更する。 id:: 3 initdefault : id:: 5 initdefault : ← ← テキストログインの場合(ランレベル3) グラフィカルログインの場合(ランレベル5) ランレベル一覧(Linux) ランレベル 動 作 内 容 0 シャットダウンするときに利用するモード,システムにより予約済み。 1 シングルモード,root のみがログインでき,通常は各種サービスを起動させない。システムにより予約済み。 2 マルチユーザモード(NFSなし) 3 マルチユーザモード(NFSあり)通常,このモードを利用してシステムが起動する。 4 マルチユーザモード通常,利用しない。 5 マルチユーザモード,RedHat系をはじめxdm 用のモードとして利用することが多い。 6 再起動する際に利用するモード,システムにより予約済み。 アクション一覧(Linux) アクション 動 作 内 容 respawn プロセスが終了した場合には再起動する。 wait 指定したランレベルで一度だけ起動され,init はこのプロセスが終了するまで待機する。 once 指定したランレベルで一度だけ起動される。 boot システムの起動中に実行される。(ランレベルは無視する。) bootwait システムの起動中に実行され,initはこのプロセスが終了するまで待機する。(ランレベルは無視する。) off 何も処理しない。 ondemand 指定したondemand ランレベルのとき,常に実行される。 initdefault デフォルトのランレベルを定義する。 sysinit システムの起動中に実行され boot,bootwaitより先に処理される。 ctlaltdel SIGINIT シグナル([ Ctrl]+[ Alt ] +[Del])の実行を受けたときに実行される。 kbrequest 特定のキー入力がされたときに実行される。 powerfail SIGPWRシグナル(電源異常)を受けたときに実行されるが,initはこのプロセスが終了するのを待たない。 powerwait SIGPWRシグナル(電源異常)を受けたときも実行される。 - 10 - 10 RedHat系 Linuxでのサービス指定方法 RedHat系ではサーバのインストールから管理まで,GUIで行うことが一般的である。しかし,リモートで サーバのメンテナンスする場合は,GUI画面で操作する必要があるために,VNC(Virtual Network Co mputing )等のグラフィカルリモートソフトをインストールすることが必要となる。従って,ssh,telnetコマン ドを利用したネットワーク管理では,次に示すコマンドを利用するのが便利である。 設定コマンド一覧(テキストモードによる設定) ☆ コマンド名 格納場所 機 能 setup /usr/sbin テキストモード設定ユーティリティ Xconfigurator /usr/sbin X Window 利用環境の設定 mouseconfig /usr/sbin マウスの設定 kbdconfig /usr/sbin キーボードの設定 sndconfig /usr/sbin サウンドカードの設定 timeconfig /usr/sbin タイムゾーンの設定 authconfig /usr/sbin ユーザ認証の設定 netconfig /usr/sbin ネットワークカードの設定をする setwm /usr/bin 使用するX Window の指定をする ntsysv /usr/sbin サービスの起動と停止を指定する chkconfig /sbin 起動中のサービスの確認をする CUI画面によるサービスの指定 # /usr/sbin/ntsysv ↵ 必要なサービス項目に[*]マークを入れる。 起動サービスを確認したい場合 # /sbin/chkconfig --list ↵ chkconfig --list実行画面 ※ メニューにないサービスについては, 利用したいrpmパツケージをインストールする ことで,追加される。 サービスを自動起動にしたい場合 # /sbin/chkconfig サービス名 on ↵ サービスを自動起動を解除したい場合 # /sbin/chkconfig - 11 - サービス名 off ↵ ◇ RedHat系 Linux の場合の特徴 起動スクリプトが他のLinux に比べ異なっているので,直接編集する場合のポイントを次に示す。 ・起動スクリプトファイルディレクトリ:/etc/rc.d/init.d ・起動ファイル指示用ファイルディレクトリ:/etc/rc.d/rc0.d∼rc6.d ・起動に利用可能となるファイルには,先頭に大文字のSが付いている。 例 S00killall ・・・・・ S99webmin ・起動時に利用しないものについては,先頭に大文字のKが付いている。 例 K00wbmin ・・・・・ K45named ※ 数字は優先順,ランレベルの指定は0と6を除いて自由に設定可能 ☆ インストール時点でのサービス一覧 サービス RedHat (*:起動時にデフォルトになっているサービス ) Vine 機 能 必要性 FreeWnn * * FreeWnn日本語辞書 ○ anacron * * cronの実行を補完する ◎ apmd * バッテリの状態を監視(ノートPCには必要)する arpwatch ネットワークに接続されたPC を監視する atd * * 指定時刻にシェルスクリプトを実行する autofs * * NFSの補助ディスク等を自動マウントする bcw5820 canna broodcomのアクセラレータボード( BCM5820SSL )用ドライバ * * Canna日本語辞書 ○ chargen chargenクライアントに対して文字列を送信し続ける chargen-udp chargenのUDP版 crond * * 指定時刻にシェルスクリプトを実行する daytime マシンの設定時刻を利用可能にする daytime-upd daytimeのUDP版 dhcpd DHCPサーバを利用可能にする echo 入力した文字列情報を利用可能にする echo-udp echoのUDP版 finger ログインしたユーザ情報を利用可能にする gpm ○ * コンソール画面上でマウスを利用可能にする httpd * Webサーバの起動(Apache) identd * クライアントの情報をサーバーに転送する inet * プロセスの実行 ○ ipchains * パケットフィルタ( NAT機能を利用する際に必要) ○ iptables * パケットフィルタ( NAT機能を利用する際に必要) ○ isdn kdcrotate * ◎ * ISDN用カードドライバ Kerberosを利用する際に必要 - 12 - ○ サービス RedHa t Vine 機 能 必要 性 keytable * * キーボード配列を設定する ◎ kudzu * * ハードウェアのplug&playを実行する ◎ ipd * * LinePrinterを利用する際に必要 ◎ DNSサーバの起動(BIND) ○ mcserv murasaki * named netfs * * NFSやsambaマウントを利用する際に実行する network * * ネットワークの利用を可能にする。 nfs nfslock NFSサーバの起動 * * NFSサーバにファイルロック機能を持たせる nscd NIS,LDAPの認証を高速化する ntpd NTPサーバの起動(時刻合わせ機能) portmap ◎ * * リモート接続を管理する ◎ * Postfix (メールサーバ)を利用可能にする △ postgresql PostgreSQL(データベース)の利用を可能にする △ proftpd ProFTPサーバの起動 ○ radvd ルータ通知サーバ postfix random * * 乱数の生成をする rawdevices * * rawI/Oディスクシステムの利用を可能にする rexec rhnsd RedHat Network の利用を可能にする rlogin リモートログインを可能にする routed routedコマンドを利用可能にする rsh リモートシェルを利用可能にする rstartd パフォーマンス情報を利用可能にする ○ rsync rusersd ネットワークを利用してログインしたユーザ情報を利用可能にする rwalld ネットワークを利用してログインしたユーザにメッセージを送信させるようにする rwhod rwhoとruptimeコマンドに情報を提供する sendmail * Sendmail(電子メール)を利用可能にする △ sgi_fan * smb Samba(ファイルサーバ)を利用可能にする ◎ snmpd SNMPを利用した管理が可能になる ○ squid Squid(Proxyサーバ)を利用可能にする ○ OpenSSH を利用可能にする ◎ sshd * * - 13 - サービス syslog RedHat * Vine * 機 能 システムの動作状況を記録できるようにする。 talk talkプロトコルを利用したチャットを利用可能にする telnet telnetを利用可能にする time 時刻情報を利用可能にする time-udp timeのUDP版 tux カーネルWebサーバのを利用可能にする usbmgr * vncserver webmin * wu-ftpd xfs * xinited * * ◎ ○ USBを利用可能にする VNCサーバを利用可能にする ○ Webminを利用可能にする ○ wu-FTPサーバを利用可能にする ○ X Window 用フォントサーバを利用可能にする ◎ スーパーデーモンを利用可能にする ○ ypbind NISクライアントバインドデーモンを利用可能にする yppasswdd NISクライアントバインドデーモンを利用可能にする ypserv NISサーバを利用可能にする ypxfrd NISマップ転送サーバを利用可能にする 11 必要性 サービスの起動と停止(Linux (RedHat)の場合) ◇ serviceコマンドの利用(通常はこのコマンドを利用する。) 書式 起 動: service スクリプト名 start ↵ 停 止:service スクリプト名 stop ↵ 再起動: service スクリプト名 restart ↵ RedHat 系 Linuxサービス名一覧 - 14 - --------------------------注意 ® ※ Microsoft,Windows 98 ®,Windows 2000 ®,Windows NT® ,Office,Internet Explorerは米国Micros oft Corporation の米国およびその他の国における登録商標または商標です。 ※ その他,本書に掲載したプログラム名,システム名,CPUなどは一般に各社の登録商標です。 ※ 本文中では, ® マークは省略しました。また,一般に使われている名称を用いている場合があ ります。 --------------------------平成15年3月31日 初版発行 発行 広島県立教育センター 〒739-0144 - 15 - 東広島市八本松南1丁目2-1 ℡(0824)28-2631