シェルスクリプトscript.shがある。このスクリプトを、カレントシェルの子プロセスとして実行するのではなく、カレントシェル内で実行したい。どのコマンドを実行すればよいか? 1 source script.sh 2 script.sh & 3 ./script.sh 4 bash script.sh
|
1 sourceコマンドの引数としてスクリプトを指定した場合、新しいプロセスを生成せず、カレントシェル内で実行されます(そのためスクリプト内での変数の変更が元のシェルに影響します)。 |
カレントディレクトリに置かれている、拡張子がhtmlであるすべてのファイルについて、その中の「<br>」を「<br/>」に変更して表示するため、シェルスクリプトを作成した。下線部に入る適切なものはどれか? #!/bin/sh _________ do cat $i | sed 's/<br>/<br\/>/g' done 1 while (*.html) 2 for $i in *.html 3 test -f *.html 4 for i in *.html |
4 シェルスクリプトのifは、in以下のリストに該当する文字列を1つずつ変数に割り当てて、do~done内もしくは{~}内のスクリプトを実行します。変数名には「$」記号は付けませんので、正解は2.ではなく4.になります。 |
以下のシェルスクリプトで、下線部に共通して入る語句または記号を記入せよ。シェルは bash とする。 case $a in a) echo "A" ______ b) echo "B" ______ esac |
;; シェルスクリプトの case 構造では、各節の終りに常にセミコロンを2つ続けて書きます。上の問題では改行していますが、echo 文の後に続けて書いてもかまいません。 |
192.168.3.0 というネットワークで、サブネットマスクが255.255.255.128 であるとき、このネットワークの最大ホスト数はいくつか?
|
126
[解説] 255.255.255.128 を2進数に直すと「11111111.11111111.11111111.10000000」となりますから、ホスト部は7ビットになり、IPアドレス数は128個になります。ここからネットワークアドレスとブロードキャストアドレスを引いた、126がホストに割り当て可能な数ということになります。
|
ネットワークアドレスが 192.168.4.32, サブネットマスクが255.255.255.240 のとき、コンピュータ等の機器に割り当ててはいけない IP アドレスはどれか?該当するものをすべて選択せよ。 1 192.168.4.32 2 192.168.4.33 3 192.168.4.39 4 192.168.4.40 5 192.168.4.47 |
1 , 5
[解説] サブネットマスクが 255.255.255.240 なので、このネットワークのホスト部は 4ビットです。実際には、ネットワークアドレスとブロードキャストアドレスはホストには割り振れないので、ホストに割り当てることのできる数は、この場合 14 になります。
ネットワークアドレス 192.168.4.32 ホストに割り振れるアドレス 192.168.4.33 ~ 46 ブロードキャストアドレス 192.168.4.47
|
IPアドレスが 172.16.124.160、サブネットマスクが 255.255.255.0 のホストがある。このホストが属するネットワークのネットワークアドレスを表しているのはどれか? 1 172 2 172.16.124.0 3 255.255.255.0 4 172.16.124.255 5 127.0.0.1 |
2
[解説] サブネットマスクを見ると24ビットのマスクであることが分かります。したがってホスト部を0にすると「172.16.124.0」となります。ホスト部が255の場合はブロードキャストアドレスです。
|
TCP/IP パケットの転送中において発生した各種のエラーの通知や、動作の確認などを行うために利用されているプロトコルは何か? 1 TCP 2 IP 3 UDP 4 ICMP 5 IGMP 6 ARP |
4
[解説] ICMP (Internet Control Message Protocol) は、以下のような機能があります。
・目的のホストやポートが見付からない、というエラーの通知 ・TTL が尽きた、というエラーの通知 ・相手先ノードがアクティブかどうかの検査
最後のものは、ping コマンドで使用されていますね。
|
LAN内に設置しているクライアントPCのネットワーク設定を行っている。参照すべきネームサーバのIPアドレスが10.2.3.4であるとき、/etc/resolv.confにはどのように記述すればよいか? 1 nameserver 10.2.3.4 2 dns 10.2.3.4 3 domainnameserver 10.2.3.4 4 domainnameservers 10.2.3.4 5 10.2.3.4 nameserver
|
1
[解説] /etc/resolv.confには、参照すべきDNSサーバ(ネームサーバ)を指定します。nameserver行は複数行記述できます。
|
以下の表示は_____________コマンドの実行結果である。下線部に当てはまるコマンドはどれか? Server: 192.168.32.45 Address: 192.168.32.45#53
Non-authoritative answer: Name: www.lpic.jp Address: 172.16.11.22 1 host 2 nslookup 3 ifconfig 4 nmap 5 route |
2
[解説] nslookupコマンドの実行結果です。将来的にnslookupコマンドは使われなくなる予定なので、digコマンドやhostコマンドを使うようにします。
|
以下のファイルは、Red Hat Linuxの___________________の内容である。下線部に当てはまるファイル名は何か?(フルパスで記述) NETWORKING=yes HOSTNAME=myhost GATEWAY=192.168.0.1 |
/etc/sysconfig/network
[解説] /etc/sysconfig/networkでは、ネットワークを使用するかどうかや、ホスト名、デフォルトゲートウェイアドレスなどを永続的に設定できます。ディストリビューションによっては、/etc/rc.configを使うものもあります。
|
| 自ホストのホスト名を表示したり、ホスト名を変更したりすることができるコマンドは何か? |
hostname
[解説] 引数なしでhostnameコマンドを使うと、ホスト名が表示されます。ホスト名を指定すると、そのホスト名に変更します(rootのみ)。再起動すると変更は失われます。
|
アクティブなネットワークソケットなどの、ネットワークに関する情報を表示するために利用するコマンドはどれか? 1 nbtstat 2 umask 3 netstat 4 ldconfig 5 tracert |
3
[解説] netstatコマンドを使うと、インターフェースごとのネットワークの状態、ルーティングテーブルなど、さまざまなネットワークの情報を表示することができます。オプションなしで実行すると現在のアクティブなソケットが表示されます。nbtstatやtracertはWindowsのコマンドです。
|
/etc/hostsファイルとDNS(BIND)を使ってローカルネットワークの名前解決をしている。DNSより/etc/hostsファイルを優先させたい場合、どのファイルの設定を変更すればよいか? 1 /etc/resolv.conf 2 /etc/named.conf 3 /etc/named.ca 4 /etc/nsswitch.conf |
4
[解説] /etc/nsswitch.confの設定を次のように、 hosts: files nisplus nis dns dnsよりもfiles(/etc/hosts)が先にくるように記述します。glibc2以前では、/etc/host.confファイルの設定を変更します。
|
ホスト名を「lpic」に変更したい場合、どうすればよいか? 1 /etc/hosts に「lpic」のFQDNを書き込み再起動する 2 /etc/hostname に「lpic」のFQDNを書き込み再起動する 3 「hostname lpic」を実行する 4 「hostname lpic」を実行し、再起動する 5 「host lpic」を実行する |
2 , 3
[解説] /etc/hostname(/etc/HOSTNAME)はホスト名を記述します。hostnameコマンドを実行した場合は、変更は再起動後に無効になります。hostはIPアドレスもしくはホスト名からDNSサーバで検索するコマンドです。
|
ある企業のLAN内にあるワークステーションを調べている。この企業ではDHCP サーバによりネットワーク設定を自動的に行うようになっている。現在使用中のワークステーションに割り当てられている IPアドレスを調べるための最も適切な方法はどれか? 1 /etc/hosts ファイルを調べる 2 /proc/eth0 ファイルを調べる 3 netstat -m コマンドを実行する 4 /sbin/ifconfig コマンドを実行する 5 DHCP では動的にIPアドレスが割り当てられるため調べられない |
4
[解説] /sbin/ifconfig コマンドで、当該ワークステーションに割り当てられているIPアドレスやサブネットマスクを調べることができます。
|
| eth0インターフェースをシャットダウンしたい。ifconfigコマンドに適切なオプション・引数を指定して記述せよ。 |
ifconfig eth0 down
[解説] ifconfigコマンドに、インターフェース名と「down」を指定して実行することにより、そのインターフェースを一時的に使用不可にできます。down の代わりにup とすれば、再びアクティブにできます。
|
pingコマンドを使用したところ、パケットの送出が止まらず繰り返されている。どのような処置を取ればよいか? 1 Ctrl + Z キーを押す 2 Ctrl + C キーを押す 3 Ctrl + S キーを押す 4 Ctrl + alt + Delete キーを押す |
2
[解説] Windowsのpingと違って、デフォルトでは「Ctrl+C」で停止するまでICMPパケットの送出は続きます。-cオプションで送信パケットの個数を指定できます。
|
DNSサーバから得られる情報を表示することのできるコマンドはどれか? 1 ifconfig 2 dig 3 hostname 4 netstat 5 ping
|
2
[解説] $ dig lpic.jp といった形で、DNSサーバからの各種情報を表示できます。
|
以下は、何というファイルの一例か?ファイル名をフルパスで答えよ。 order hosts, bind multi on |
[解答例] /etc/host.conf
[解説] /etc/host.conf は、名前解決する際、どういう順番で処理するかを記述します。上記の例の場合、まずは /etc/hosts に記述された内容が参照され、次にネームサーバに問い合わせされます。2行目は、ひとつのホストに対して複数のIPアドレスが割り当てられることを許可します。 glibc2以降は、host.confに代わってnsswitch.confが利用されます。
|
以下は、何というファイルの一例か。ファイル名をフルパスで答えよ。 nameserver 127.0.0.1 nameserver 192.168.1.2 nameserver 192.168.2.2 |
/etc/resolv.conf
[解説] resolv.conf には、ネームサーバのIPアドレスが記述され、どのネームサーバで名前解決されるかを設定します。
|
ネットワークサービスの分かりやすい名前と、それらのサービスに割り当てられたポート番号とプロトコルの種類の対応関係が記述された設定ファイルはどれか? 1 /etc/services 2 /etc/mtab 3 /etc/inittab 4 /etc/protocols 5 /etc/profile
|
1
[解説] 主要なネットワークサービスとポート番号の対応は、/etc/services ファイルに書かれています。1023以下のサービスは「Well Known Port」と呼ばれています。telnetは23、wwwは80、pop3は110などです。
|
| パケットが宛先のホストに届くまでに通過する経路を表示するためのコマンドを記入せよ。 |
traceroute
[解説] traceroute コマンドは、宛先ホストに到着するまでに経由したルータを表示します。リモートホストまで通信が届かない時、ネットワークのどの場所に障害が発生しているのかを確認する場合などに用います。ICMPパケットを使用します。
|
CHAP認証を行うための認証情報が記述されたファイルはどれか? 1 /etc/chap 2 /etc/ppp/login 3 /etc/ppp/passwd 4 /etc/pppd 5 /etc/ppp/chap-secrets
|
5
[解説] /etc/ppp/chap-secretsにCHAP認証を行うためのアカウントやパスワードが記述されています。PAPの場合は、/etc/ppp/pap-secretsになります。
|
PPP接続の手順を自動的に行うために使われるスクリプトを何というか? 1 chatスクリプト 2 ppp_upスクリプト 3 pppスクリプト 4 pppdスクリプト 5 ppp-connectスクリプト |
1
[解説] chatスクリプトは、モデムなどから返ってくると期待されるメッセージと、コマンドの組が記述されています。通信エラーによる文字欠落に対応するため、冗長性を持たせた記述をするのが一般的です。
|
PPP 等におけるユーザー認証方法で、チャレンジ/レスポンス方式を用いて認証するため、PAPよりもセキュアな方式は何か? 1 SLIP 2 CHAP 3 S/MIME 4 PGP 5 SSL |
2
[解説] CHAP は、Challenge Handshake Authentication Protocol の略で、PAPよりも安全性がより高められています。この方式では、まず PPPサーバからクライアントに対して、チャレンジコードという乱数を返します。クライアント側では、この値とユーザー名、及びパスワードを元に、ある関数値を計算し、それをサーバに送ります。サーバ側は自分の方でも計算し、受け取った値と比較して、同じなら接続が許可されます。チャレンジコードは毎回異なるので、万一途中で回線が盗聴されていても、悪用される可能性は低くなります。
|
PPP におけるもっとも簡単なユーザー認証方法で、ユーザー名とパスワードをクリアテキスト(平文)で送信する方式は何か? 1 SSL 2 SLIP 3 PAP 4 CHAP 5 PGP 6 MIME |
3
[解説] PAP は、Password Authentication Protocol の略で、文字どおりパスワード認証を行いますが、ユーザー名とパスワードの組は平文で送られるため、通信回線をモニタされたりすると、パスワードを盗まれる危険性があります。
|
TCP Wrapperのアクセス制限をチェックをするコマンドを実行している。下線部に当てはまるコマンドを記述せよ。
# __________ in.telnetd 172.18.0.46
|
tcpdmatch
[解説] tcpdmatchコマンドで、/etc/hosts.allowと/etc/hosts.denyで設定したアクセス制御をチェックできます。問題では、172.18.0.46からのtelnet接続が可能かどうか調べています。
|
現在、xinetd経由でFTPサーバなどを起動させているが、FTPサービスのみを停止したい。そのための作業としてもっとも適切なものはどれか?
1 /etc/xinetd.d以下の設定ファイルを編集する 2 /etc/servicesの該当行をコメントアウトする 3 /etc/inetd.confの設定を編集する 4 xinetdデーモンを終了する |
1
[解説] 一般的に、/etc/xinetd.dディレクトリ以下にサービスごとの設定ファイルがありますので、「disable=yes」に変更します。
|
現在、inetd経由でFTPサーバを起動させているが、FTPサービスを停止したい。そのための作業として適切なものはどれか?
1 /etc/inetd.confの該当行をコメントアウトする 2 /etc/servicesの該当行をコメントアウトする 3 /etc/inetd.d/以下の該当ファイルで「disable=yes」とする 4 /etc/tcpd.confでFTPのマッピングを無効にする 5 /etc/ftpusersに「ALL:ALL」と記述する |
1
[解説] /etc/inetd.confは、inetdの設定ファイルです。1サービス1行で記述されており、不要なサービスは行頭に「#」を挿入してコメントアウトすることで、inetd経由で起動しなくなります。
|
inetdの設定ファイル名は何か?下線部を記述せよ。
/etc/________________ |
inetd.conf
[解説] 不要なサービスがある場合は、inetd.confの該当行をコメントアウトすることで、そのサービスをinetd経由で起動しないように設定します。inetd.confの変更後は、inetdの再起動が必要です。 # /etc/init.d/inetd restart
|
inetd.confを編集した。編集した内容をinetdに反映させるにはどうすればよいか?
1 kill -HUP <inetdのPID> を実行する 2 init q を実行する 3 ifconfig -a を実行する 4 /etc/rc.d/init.d/inetd 5 restart を実行する 6 何もする必要はない |
1 , 4
[解説] いずれかの方法でinetdを再起動させる必要があります。/etc/rc.d/init.d は、最近では/etc/init.d となっている場合が多いです(FHS2.2準拠)。xinetdの場合も同様に、xinetdを再起動させます。
|
TCP Wrappersを使ってアクセス制御を行っている。 /etc/hosts.allow ファイルに in.telnetd: 192.168.0. /etc/hosts.deny ファイルに ALL: ALL と書かれてあるとき、同じネットワーク内(192.168.0.0/24)のホストから telnet で接続しようとすると、どうなるか? 1 telnetで接続できる 2 telnetでは接続できない 3 書式が間違っているので接続できない |
1
[解説] TCP Wrappersは「hosts.allow」→「hosts.deny」の順に参照され、hosts.allowファイルの記述にマッチすれば接続が確立されます。「192.168.0.」という書き方は正しいです。
|
ローカルネットワーク「172.16.3.0/24」のすべてのホストからのftp接続を許可するよう /etc/hosts.allow を設定したい。以下のどの記述が適切か? なお、/etc/inetd.confでは、ftp プログラムは「in.proftpd」となっている。 1 172.16.3.:in.proftpd 2 172.16.3.*/in.proftpd 3 in.proftpd:172.16.3. 4 in.proftpd/172.16.3.* |
3
[解説] 「サービス名 : ホスト名」の順に記述します。「172.16.3.0/24」は「172.16.3.」と記述します。最後のドットを忘れないようにしましょう。
|
メールキューに格納されているメールをただちに送信するには、sendmailに____というオプションをつけて実行すればよい。下線部に当てはまる適切なオプションはどれか? 1 -b 2 -s 3 -q 4 -i 5 -r
|
3
[解説] sendmailは一定時間ごとにメールキューにたまっているメールを処理しますが、 # sendmail -q で、メールキューに格納されたメールの送信を行います。
|
sendmailが利用するメールキューディレクトリとして適切なものはどれか? 1 /var/spool/mail 2 /var/spool/mqueue 3 /var/mail/queue 4 /etc/mail/mqueue 5 /var/spool/sendmail |
2
[解説] メールキューにはsendmailが受け付けたメールが一時的に格納されます。キューに格納されたメールは送信待ちの状態であり、順次送信されます。
|
sendmailを使ってメールサーバを運用している。ユーザーに届いたメールが格納されるディレクトリはどれか? 1 /var/mail 2 /var/spool/mail 3 /var/mail/user 4 /tmp/mail 5 /var/spool/mqueue |
2
[解説] sendmailでは、/var/spool/mailディレクトリ以下にメールデータが格納されます。データはテキストファイルなので、lessなどで内容を見ることができます。
|
sendmailがSPAMメールの中継に利用されることのないよう、リレーが行われないように設定したい。そのための設定に使われるファイルは、以下の中ではどれか? 1 /etc/.forward 2 /etc/mail/access 3 /etc/aliases 4 /etc/relay.cf 5 /etc/mail/alias |
2
[解説] /etc/mail/accessファイルでRELAYやREJECTなどを設定します。 例)/etc/mail/access 192.168.0.1 RELAY @spammail.com REJECT
|
| ユーザーmarimoは、旅行期間中に届くメールを自分のプライベートメールアドレスに転送したいと考えている。そのためにユーザーmarimoが編集しなければならないファイルは何か?なお、marimoはスーパーユーザー権限を持っていない。 |
.forward
[解説] ユーザーに届いたメールを転送するには、ホームディレクトリ.forwardファイルを作成し、その中に転送先のメールアドレスを記述します。
|
sendmailを使っている。root宛に届いたすべてのメールをユーザーadminに転送するため、/etc/aliasesを編集した。しかしメールは転送されてこない。何というコマンドを実行し忘れているのが原因か?
|
newaliases
[解説] メールエイリアスは/etc/aliases(/etc/mail/aliases)に記述しますが、その後newaliasesコマンドを実行してデータベースに反映させる必要があります。
|
ダイヤルアップ接続しているPCでsendmailを利用している。送信待ちの状態になっている(メールキューに入っている)メールを確認するには、どのコマンドを使うのが適切か?
1 mailq 2 mail --spool 3 sendmail -l 4 less /var/spool/mail |
1
[解説] メールキューの確認は mailq コマンドもしくは sendmail -bq で行います。
|