サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
www.wakhok.ac.jp/~kanayama
syslog などでログを溜めると、いずれは溢れてしまいます。このために、 FreeBSD では、標準で newsyslog というプログラムを用いてログの管理 を行っています。newsyslog は cron より呼び出され(標準では毎時間)、 設定ファイル /etc/newsyslog.conf に定義された条件に合致したログを 処理します。 処理の仕方は、バックアップを取り、指定された個数を越えたバックアップ は消去します。バックアップを取る際には gzip による圧縮を指定すること が出来ます。処理のタイミングは、指定サイズを越えている、全回のバック アップから指定時間を経過した、あるいは指定時間になった(定時)の3つの 種類が選べます。 下は、/etc/newsyslog.conf の一部です。 # logfilename [owner:group] mode count siz
これまで関数の引数については学んだが、main()関数については 常に引数はなかった。しかし、通常 Unix などで用いるコマンドの多くは C言語で書かれており、それらにはオプションと呼ばれるものを指定する 事が可能である。例えば、ファイルをコピーするのに用いられる cp コマンド は通常二つのコマンドライン引数を与え、 のように使う。これによって、test1 のファイルの中身が test2 に コピーされる。つまり、C言語ではこうしたコマンドラインオプション を扱う事が出来る訳である。 コマンドラインに与えられた文字列は、空白を区切りとして複数の 文字列に分けられ、それぞれの文字列へのポインタが main()関数 に与えられるようになっている。当然、それらの文字列がいくつあるか が分からないと困るので、main()関数に与えられる引数は2つの 要素からなる。一つは、コマンドラインオプショ
サービス名とそこで使われるポート番号、プロトコル(tcp/udp)との 対応関係を記述したファイルが /etc/services です。このファイルは 単なるサービス名のデータベースで、それ自体では何の働きもありませ んが、netstat コマンドや次の inetd などで参照されます。 ポート番号は、0番から1023番までが Well Known Ports と呼ばれ、 Unixでは root権限以外ではプロセスをこのポートに割り当てる事は 出来ません。一方、絶対ではありませんが、IANAの割り当て規則では 1024番から49151番までは Registered Ports (既登録ポート)と呼ばれ、 様々なサービスが登録されています。最後に、49152番から65535番 までがプライベートなサービスや動的な通信ポートに利用されます。 (ちなみに、1024番はReserveになっています
psk.txt.dist は preshared(事前共有) key のサンプルファイルで、 racoon.conf.dist が racoonの設定ファイルracoon.conf のサンプルです。 例によって、/etc/rc.conf に以下のように、racoon が動作できるように設定します。
ネットワーク基礎
#ifdef 文に対してより一般的な #if 文も用意されてい ます。この場合、#if の後ろには定数式を指定します。定数式 には、プログラム中の変数などは使えない点に注意しましょう(プログラム がコンパイルされる以前に処理されるのですから当然ですね)。 最も良く使われるのが、defined() 文と共に使う場合です。 defined() はマクロ定義がされいているか否かを判別します。 マクロ定義がされていない場合の判別には、否定演算 ! と共に !defined() のように使います。例えば、次の例では マクロ定義 Square または square が定義されている場合に有効になるような 例です。 #if defined(Squre) || defined(squre) #define sq(x) ((x)*(x)) #define Squre #endif
最初に触れたように Postfix は複数のプロセスが協調して動作するように なっている。通常、こうしたプロセスや、プロセスから起動されるファイル についてはきちんと管理されていれば意識する必要はないが、管理者として は一応流れは理解しておいた方が良いだろう(図参照)。 なお、こうした情報は全て /usr/local/share/doc/postfix/ 以下にあります。 まず、Postfix では、図の中のコマンド類は master デーモンの管理下に あります。つまり、Postfix の中心は masterです。個々のプログラムは この master からデーモン、あるいはプログラムとして起動されます。 実際の処理の流れは、まず入って来たメイルについては pickup または smtpd が処理をします。pickup はローカルなメイルの処理を担当し、 smtpd は SMTP(Sim
メイル環境のテストは段階を踏んで行うべきであり、いきなり sendmail, sendmail.cf をインストールしてはいけません。以下、順にテスト手順について解説していきます。 アドレス書き換えのテスト まず最初に、sendmail.cf に設定されたアドレス書き換えが正当かどうかを確認 しましょう。 オプション -C は、コンフィギュレーションファイルの指定です。指定しないと、 デフォルトに設定されます( sendmail R8 では、普通にコンパイルすると cf は /etc/mail/sendmail.cf にあると設定されます)。 また、C の後ろに空白を入れてはいけません(必要ならば、パスも含めて下さい)。 このテストモードでは、ルールセットとアドレスを指定することによって、結果を 確認することが出来ます。 特に、 /tryflags に続けて、es,er,hs,hr を指定
vi 入門
DHCP では、クライアントに色々な情報を提供します。通常、この情報は設定 ファイルに書いておかなければなりません。ここでは簡単な dhcpd.conf の 例を示します。詳しくは、man で dhcpd.conf を参照して下さい。 # configuration file for ISC DHCPD option domain-name "summer01.wakhok.ac.jp"; option domain-name-servers pc2f001.summer01.wakhok.ac.jp; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.150; option routers 192.168.0.1; option subnet-mask 255.255.255.0; optio
IPv6コース
IMAP の動作確認についても、telnet で行います。まず、IMAP は標準では port 143 で動いていますので、以下のようにしてログインします。 % telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK localhost IMAP4rev1 v12.264 server ready
#define DEBUG ... #ifdef DEBUG cout << "Debug: hensuu = " << hensuu << endl; #endif つまり、DEBUG というマクロが定義されていたならば、 #ifdef と #endif の間の行が有効になりますが、 もし最初の行の#define DEBUG がなければ、この #ifdef と #endif で囲まれた行はないものとして プリプロセッサに処理され、結果として cout 文はコンパイラ から見ると元から無かったようになります。このように、プログラム の動作を検証している間は色々な変数の状態などを見るために、 それらの値を出力したいが、完成したらそれを削除するために しばしばこの使い方が好まれます。 もう一つのこの #ifdef 文の使い方は、インクルードファイル にあります。 例えば、外部変数をインクルード
目次
A. vi 入門
ルーティング とネットワーク管理論
第1フィールド ログイン・ユーザー名 第2フィールド パスワード。シャドウパスワードを使っている時は、 x 。 第3フィールド ユーザー番号。各人の区別はこの番号で行う。重複してはならない。 第4フィールド グループ番号。あるユーザーの集合、グループ番号とグループ名の対応は /etc/group に書く。 第5フィールド クラス(使われていない)。 第6フィールド パスワードを変えることを勧告する時期 第7フィールド パスワードの有効期限 第8フィールド GECOS フィールド。ユーザーの一般情報(名前など) 第9フィールド ホームディレクトリ 第10フィールド ログインシェル /etc/passwd ファイルは、各々のユーザーのプログラムから参照出来る 必要があるが、暗号化されたパスワードファイルを盗まれると解読される恐れが あるので、FreeBSD では、ルートにしか読めないファイル
ACL とは ここで言うACLとは、ファイルやディレクトリへのパーミッションの新しい拡張の事であり、 従来のパーミッションが、user,group,otherの種別しかなく、それぞれ1種類しか設定出来 なかったのに対して、新しい仕組みでは複数の user, group に対してそれぞれパーミッショ ンを設定できるようになった。 ACLの設定 ACL の設定はそれほど難しくない。基本は、getfacl コマンドで設定を取得、setfaclコマ ンドで設定を行う。ちなみに、setfacl を行うと、ls -l などでは拡張ビットが見える。 ACLを設定していないディレクトリの場合には、以下のようになっているが、 # ls -ld test drwxr-xr-x 2 root other 512 12月 3日 16:09 test ACLを設定すると、以下のようにパーミッショ
IPv6が話題になりかけた当初においては、IPv6はセキュリティ機能を有している から全く大丈夫である、というような非常に無責任な議論がなされたことも ありますが、IPv6が提供するセキュリティ機能は実際にはIPsecのみです(匿名 アドレス機能もセキュリティと言えますが、ここでは除外しています)。しかも、 IPsec自体は、IPv6,IPv4双方で使えるようになっています。従って、IPv6特有の 機能であるとは言えませんが、IPv6ではIPsecは必須事項となっているので、 必ず使えるようになっている点が大きく違います。とは言え、では実際に利用 出来るのかと言えば、中々現実的には難しい問題もあります。また、IPsecが 提供するのは通信の認証と暗号化なのですが、エンドツーエンドの通信が暗号化 されるファイアーウォールなどから見ても暗号化されて見えないために、逆に セキュリティ的な問題が生
Next: 目次 C 言語 稚内北星学園大学 情報メディア学部 金山 典世 E-mail: kanayama@wakhok.ac.jp 2002年 目次 1. 初めての C 1. C とは何か? 2. プログラムの作り方 3. 初めての C プログラム 4. 表示を改行したいときは 5. 名前も表示してみよう 6. 課題 1 2. 四則計算 1. 整数変数の宣言 1. 四則演算 2. 代入文 3. 変数の使用 2. 結果の表示 3. 課題 2 3. 制御構造1 判断 1. 簡単な判断 2. 比較演算 3. 真でない場合の判断 4. 更に複雑な判断 5. 日本語とプログラム 6. 課題 3 4. 制御構造1 繰り返し(for文) 1. for 文の書式 2. 括弧の対応関係 -- vi の便利なコマンド 3. ソースプログラムの書き方 4. 課題 4 5. 入力の読み込みと制御構造 1. 入
Next: 目次 C 言語 稚内北星学園短期大学 経営情報学科 金山 典世 E-mail: kanayama@wakhok.ac.jp 1999年 目次 1. 初めての C -- 第1回 '99.05.19 1.1 C とは何か? 1.2 プログラムの作り方 1.3 初めての C プログラム 1.4 表示を改行したいときは 1.5 名前も表示してみよう 1.6 課題 1 2. 四則計算 -- 第2回 '99.05.26 2.1 整数変数の宣言 2.1.1 四則演算 2.1.2 代入文 2.1.3 変数の使用 2.2 結果の表示 2.3 課題 2 3. 制御構造1 判断 -- 第3回 '99.06.09 3.1 簡単な判断 3.2 比較演算 3.3 真でない場合の判断 3.4 更に複雑な判断 3.5 日本語とプログラム 3.6 課題 3 4. 制御構造1 繰り返し(for文) -- 第5回
C 言語
トンネルの設定 トンネル SSHはここまでの設定では単なる telnet などの代わりでしかありませんが、SSHの真価はトンネルにあります。 トンネルは様々なネットワークアプリケーションの通信を、SSHが用意した暗号回線の中に入れて送受信する 機能です。つまり、これまでに利用してきたアプリケーションをそのまま使って暗号化の利点のみを受ける事 が出来る訳です。しかし、全てのアプリケーションでそれが可能になる訳でもありません。利用できるアプリ ケーションは通信のためのポートと呼ぶ回線指定が固定されているタイプのものだけです。 しかし、WWWやMail、MailのアクセスのためのPOPやIMAPなどはそうしたタイプであり、多くのアプリケーション はこのタイプに属しており、大体は使えると考えてよいでしょう。 (完全なトンネルの理解のためには、TCP/IPによるコネクションの概念について勉強しなけれ
Next: 目次 C 言語 稚内北星学園大学 情報メディア学部 金山 典世 E-mail: kanayama@wakhok.ac.jp 2001年 目次 1. 初めての C 1. C とは何か? 2. プログラムの作り方 3. 初めての C プログラム 4. 表示を改行したいときは 5. 名前も表示してみよう 6. 課題 1 2. 四則計算 1. 整数変数の宣言 1. 四則演算 2. 代入文 3. 変数の使用 2. 結果の表示 3. 課題 2 3. 制御構造1 判断 1. 簡単な判断 2. 比較演算 3. 真でない場合の判断 4. 更に複雑な判断 5. 日本語とプログラム 6. 課題 3 4. 制御構造1 繰り返し(for文) 1. for 文の書式 2. 括弧の対応関係 -- vi の便利なコマンド 3. ソースプログラムの書き方 4. 課題 4 5. 入力の読み込みと制御構造 1. 入
C 言語のページ 筆者が行なっている C言語の講義を LaTeX2html を用いて変換したものを 掲載しています。但し、教育上課題のソースを載せていない場合 があります。 (LaTeX2HTMLの調整が終わり、数式・図がまともになりました) 本ページ内のコンテンツの著作権について 著作権者の存在 著作権は、金山典世(kanayama@wakhok.ac.jp)にあります。 本ページに収められたコンテンツは、著作権を放棄したものではありません。 リンク自由 ただし、個々のコンテンツについて、以下のリンク形式を守っていただければ、 特別の許可は必要なく、リンクを自由にしていただいてかまいません。 また、このページ自体へのリンクも、自由です。 リンク形式 例えば、「C の解説を見つけました。」という形のリンクではなくて、 「C の解説を見つけました。金山典世著 『C言語'98』 (稚内北星)で
ファイアーウォール(防火壁)は、不正な侵入を水際で防御するという役割を持ってい ます。一般にファイアーウォールはルータの役割も持っていますが(単なるマルチ ホームなマシン)、ルーティングをしない場合もあり、後者の特別な場合として ファイアーウォールがブリッジであるようなときもあります。基本的に、 ファイアーウォールの種類には、パケットフィルタリングのタイプと アプリケーションゲートウェイ(プロクシ−)のタイプの2種類があります。 パケットフィルタリングはネットワーク層でのファイアーウォールの実現方法で あり、パケットの送受信IP,ポート番号,プロトコル(TCP,UDP,ICMP)などを元に して通すか否かを決定します。これに対して、アプリケーションゲートウェイは アプリケーション層でのファイアーウォールの実現方法です。アプリケーション 層ですので、個々のアプリケーションのプロトコルに依存し
但し、ここに掲げたものでも、3 の out を許すか否かや、4 の source quench を 許すかどうかは問題があるかも知れません(多くの場合には source quench が無くて も問題は起きないでしょうから、廃棄しても構いません)。また、こうした 制限をかけても安全性を絶対に確保出来る訳ではありません。例えば、 ある程度内部のサーバやマシンに種を蒔かれた後で、ファイアーウォールを突破して それらのマシンにメッセージや指示を届けるために、Echo Reply でデータをラップ するなどの手口も有名です(実は後で紹介をしますが、IPFilter はこうした手口に 対する対策があります)。 以上をルールに書くと以下のようになります。 pass in quick proto icmp all icmp-type 0 group 100 pass in quick proto icm
次のページ
このページを最初にブックマークしてみませんか?
『www.wakhok.ac.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く