スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

パケットフィルタリング(IPフィルタリング)(2)

iptables

□書式

iptables [-t table] -[AD] チェイン ルールの詳細 [オプション]
iptables [-t table] -I チェイン [ルール番号] ルールの詳細 [オプション]
iptables [-t table] -R チェイン ルール番号 ルールの詳細 [オプション]
iptables [-t table] -D チェイン ルール番号 [オプション]
iptables [-t table] -[LFZ] [チェイン] [オプション]
iptables [-t table] -N チェイン
iptables [-t table] -X [チェイン]
iptables [-t table] -P チェイン ターゲット [オプション]
iptables [-t table] -E 旧チェイン名 新チェイン名

□iptablesには、3つの「テーブル」が用意されいる。

filterテーブル ― ネットワークパケットを処理する デフォルトのテーブル。
natテーブル ― 新しい接続を開くようなパケットに対して参照される。
          また、Network Address Translation (NAT)に使用。
mangleテーブル ― パケット変更の特定のタイプ(特別なパケット変換)に使用。

□テーブルによって使用できる「チェイン」が異なる。

filterテーブルで使用可能なチェイン

INPUT ― ホスト用のターゲットとされているネットワークパケット(受信パケット)に適用。
OUTPUT ― ローカル生成のネットワークパケット(送信パケット)に適用。
FORWARD ― ホストを通ってルーティングしたネットワークパケット(マシンを経由するパケット)に適用。

natテーブルで使用可能なチェイン

PREROUTING ― ネットワークパケットが到着すると、すぐに変換。
OUTPUT ― ローカル生成のネットワークパケット(送信パケット)を送信(ルーティング)される前に変換。
POSTROUTING ― ネットワークパケットが出て行くときに変換。

mangleテーブルで使用可能なチェイン

INPUT ― ホスト用のターゲットとされているネットワークパケット(受信パケット)に適用。
OUTPUT ― ローカル生成のネットワークパケット(送信パケット)を送信(ルーティング)される前に変換。
FORWARD ― ホストを通ってルーティングしたネットワークパケット(マシンを経由するパケット)に適用。
PREROUTING ― ネットワークパケットが到着すると、すぐに変換。
POSTROUTING ― ネットワークパケットが出て行くときに変換。

□ターゲット(ルールにマッチしたときのファイアウォールの動作)

ACCEPT    パケットを通過させる
DROP     パケットを破棄し、相手にはなにも返答しない
REJECT   パケットを破棄し、相手にはICMPを使って破棄したことを通知する
REDIRECT port   パケットを指定したポートにリダイレクトする
RETURN   チェイン内のルール評価を終了させる

その他に、SNAT、DNAT等がある

SNAT --to(--to-source) <IPアドレス> [-<IPアドレス>] [:port-port]

パケットの送信アドレスを変換。natテーブル、POSTROUTINGチェインでのみ有効。
ポートを指定すると、変換されたアドレスの指定されたポートで接続することになる。
IPアドレス、ポート共にレンジ指定が可能。

DNAT --to(--to-destination) <IPアドレス> [-<IPアドレス>] [:port-port]

パケットの送信アドレスを変換。natテーブルとPREROUTING、OUTPUTチェイン、これらのチェインから呼び出されるユーザー定義チェインのみで有効。
ポートを指定すると、変換されたアドレスの指定されたポートに接続する。
IPアドレス、ポート共にレンジ指定が可能。

□オプションは複数のグループに分けられる

・コマンド
実行する特定の動作を指定する。基本的に一つしか指定できない。

-A(--append) チェイン ルールの詳細
選択されたチェインの最後に 1 つ以上のルールを追加。

-D(--delete) チェイン ルールの詳細
-D(--delete) チェイン ルール番号
選択されたチェインから 1 つ以上のルールを削除。2 つの使い方がある。
  チェインの中の番号 (最初のルールは1) を指定する場合と、マッチするルールを指定する場合。

-I(--insert) チェイン [ルール番号] ルールの詳細
選択されたチェインにルール番号を指定して1つ以上のルールを挿入。
  ルール番号が 1 の場合、ルールはチェインの先頭に挿入される。
  ルール番号が指定されない場合も先頭に挿入される。

-R(--replace) チェイン ルール番号 ルールの詳細
選択されたチェインでルールを置換。ルール番号は 1 からはじまる。

-L(--list) [チェイン]
選択されたチェインにある全てのルールを一覧表示。
  チェインが指定されない場合、全てのチェインにあるリストを一覧表示。
  
-F(--flush) [チェイン]
選択されたチェイン(指定しなければテーブル内全てのチェイン) の内容を消去。

-Z(--zero) [チェイン]
すべてのチェインのパケットカウンタとバイトカウンタをゼロにする。
  クリアされる直前のカウンタを見るために、-L, --list (一覧表示) オプションと同時に指定可。

-N(--new-chain) チェイン
指定した名前でユーザー定義チェインを作成。同名のターゲットが既に存在してはならない。

-X(--delete-chain) [チェイン]
指定したユーザー定義チェインを削除。そのチェインが参照されていてはならない。
  削除する前に、そのチェインを参照しているルールを削除するか置き換えなければならない。
  引数が与えられない場合、テーブルにあるチェインのうち組み込み済みチェイン以外を全削除。

-P(--policy) チェイン ターゲット
チェインのポリシーを指定したターゲットに設定。
  (ユーザー定義ではない)組み込み済みチェインにしかポリシーは設定不可。
  また、組み込み済みチェインもユーザー定義チェインもポリシーのターゲットには設定不可。

-E(--rename-chain) 旧チェイン名 新チェイン名
ユーザー定義チェインを指定した名前に変更。
  見た目だけの変更なので、テーブルの構造には何も影響しない。

-h
ヘルプ。

・パラメータ

-p(--protocol) [ ! ] プロトコル
ルールで使われるプロトコル、またはチェックされるパケットのプロトコル。
指定できるプロトコルは、 tcp, udp, icmp, all のいずれか 1 つか、数値。
数値には、これらのプロトコルのどれかないし別のプロトコルを表す数値を指定することができる。
プロトコルの前に "!" を置くと、そのプロトコルを除外するという意味になる。
数値 0 は all と同じ。オプションが省略された際のデフォルトはall。

-s(--source) [ ! ] IPアドレス [/マスク]
送信元の指定。 アドレスはホスト名、ネットワーク IP アドレス (/マスクを指定する)、
  通常の IP アドレス、のいずれかである。
  マスクはネットワークマスクまたは数値(/24等)でも可。
  アドレス指定の前に "!" を置くと、そのアドレスを除外するという意味になる。
  フラグ --src は、このオプションの別名である。

-d(--destination) [ ! ] IPアドレス [/マスク]
送信先の指定。
  フラグ --dst は、このオプションの別名である。

-j(--jump) ターゲット
ルールのターゲット、つまり、パケットがマッチした場合にどうするかを指定する。
  ターゲットはユーザー定義チェイン (そのルール自身が入っているチェイン以外) でも、パケットの行方を即時に決定する特別な組み込み済みターゲットでも、拡張されたターゲットでもよい。
  このオプションがルールに指定されなかった場合、ルールにマッチしてもパケットの行方に何も影響しないが、ルールのカウンタは 1 つ加算される。

-i(--in-interface ) [ ! ] デバイス
パケットを受信することになるデバイス名。
  デバイス名の前に "!" を置くと、そのデバイスを除外するという意味になる。
  デバイス名が "+" で終っている場合、その名前で始まる任意のデバイス名にマッチする。
  このオプションが省略された場合、任意のデバイス名にマッチする。

-o(--out-interface) [ ! ] デバイス
パケットを送信することになるデバイス名 。
  デバイス名の前に "!" を置くと、そのデバイスを除外するという意味になる。
  デバイス名が "+" で終っている場合、その名前で始まる任意のデバイス名にマッチする。
  このオプションが省略された場合、任意のデバイス名にマッチする。

[ ! ] -f(--fragment)
このオプションは、分割されたパケットのうち2番目以降のパケットだけを参照するルールであることを意味する。
  このようなパケット(または ICMP タイプのパケット) は送信元・送信先ポートを知る方法がないので、送信元や送信先を指定するようなルールにはマッチしない。
   "-f" フラグの前に "!" を置くと、分割されたパケットのうち最初のものか、分割されていないパケットだけにマッチする。

□マッチングの拡張

一部のパラメータ(-pパラメータ等)では、パラメータ指定によってはさらに拡張指定が行える。
これを「マッチングの拡張」という。以下はその一部。

--sport(--source-port) [ ! ] [port[:port]]

送信元ポートを指定する。ポートはレンジで範囲指定することも可能。
パラメータ設定で「-p tcp」を指定したときに使用。

--dport(--destination-port) [ ! ] [port[:port]]

送信先ポートを指定する。ポートはレンジで範囲指定することも可能。
パラメータ設定で「-p tcp」を指定したときに使用。

--icmp-type [ ! ] typename

typenameにはICMPのタイプ(echo-requestやecho-replyなど)を指定する。
パラメータ設定で「-p icmp」を指定したときに使用。



その他多数のオプションやターゲットの拡張などがあるが、省略(書ききれない)。
もっとiptablesを使い込んでみて、必要性を感じれば書く。。
FC2 Management

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX CentOS 設定 iptables ファイアウォール firewall

パケットフィルタリング(IPフィルタリング)(1)

IPフィルタリングの用語と表現

*Accept (許可) - パケットを受け入れ (accept) て、ファイアウォール・ルールを通過させること。 drop, reject ターゲットの反対。

*Drop(破棄) - パケットが削除された後、何のアクションも行わない。パケットが破棄された旨をホストにも伝えない。ただパケットが消滅するだけ。

*Reject (拒絶) - 基本的には drop ターゲット (ポリシー) と同じだが、パケットが破棄されたという事実を送信者に返答する。

*State (ステート) - ひとつのストリーム(バイト列の流れ)の中における、パケットの状態 (state)。
具体的に言えば、ファイアウォールが初めて観測した (知った) パケットは NEW というステートに識別され (TCPコネクションのSYNパケット)、また、ファイアウォールが既に認知している確立済みのコネクションに属しているパケットならば ESTABLISHED と判定される。ステートは、セッションを常に監視しているコネクション追跡機構 によって判断される。

*Chain (チェイン) - ルールの集合体 (ルールセット) から成り、パケットがチェインの中を進んでいく時にそれらのルールが適用される。それぞれのチェインには特有の役割 (例えばそのチェインがどのテーブルに属しているかによって、チェインにできることできないことが決まる) や、適用範囲 (例えば foward されたパケットにのみ適用するとか、自ホスト宛てのパケットだけに適用するなど) がある。

*Table (テーブル) - 各テーブルには別個の使用目的があり、 iptables には 4つのテーブルがある。 raw, nat, mangle, filter テーブルだ。例えば filter テーブルはパケットをフィルタリングするためにできており、 nat テーブルはパケットに NAT (Network Address Translation = ネットワークアドレス変換) を施すために設計されている。

*Match (マッチ) - IPフィルタリングでは、2通りの意味がある。
ひとつは、或るルールの中の単一の一致条件を指す場合。そのマッチは、ヘッダがこれこれの情報を持っていなければならないということをルールに指示する。例えば --source マッチは送信元アドレスが或る特定のネットワーク範囲やホストアドレスでなければならないということを指示する。
もうひとつは、ひとつのルールを丸ごと 1 個のマッチと捉える場合。そのルールに指定してある全ての条件にマッチしたら、ジャンプ (ターゲット) に指定してある動作 (パケットの破棄など) が実行される。

*Target (ターゲット) - ルールセットの中の各ルールには大抵、ひとつのターゲット・セットがある。ルールの持つ条件が全て満たされたらパケットに何を行うかを指示するのがターゲット。
drop する、 accept する、 NAT を掛けるなどといった処置だ。

*Rule (ルール) - ほとんど全ての IPフィルタ一般、そして iptables でも、ルールとは、ひとつのターゲットを従えた 1 項目または数項目の一致条件 (match) の集まりを指す。ひとつのルールが複数のターゲット (アクション) を持てるように実装した IPフィルタもある。

*Ruleset (ルールセット) - ルールセットとは、幾つものルールから成るルールの総体のことで、 IPフィルタはこの "ルールセット" をロードして動く。
iptables の場合なら、ルールセットは、 filter, nat, raw, mangle の各テーブルとその下位にある全チェーンに組み込まれた、全てのルールを含有する。通常、ルールセットは設定ファイルの類に書き連ねる。

*Jump (ジャンプ) - ジャンプ命令はターゲットと密接な関係にある。
iptables においては、ジャンプ命令はターゲットと全く同じ書き方となるが、唯一異なるのが、ターゲット名ではなく別のチェーンの名前を指定するという点だ。つまり、ルールの条件に一致したら、パケットは指定した副チェーンへと送られ、通常と同じようにそこで処理される。

*Connection tracking (コネクション追跡) - 簡潔に言うと、コネクション追跡を備えたファイアウォールはコネクション/ストリームを追跡することができる。これを行うには大抵、プロセッサとメモリに大きな負荷がかかる。だが、ファイアウォールポリシーの構築者がそれを適切に使えば、この機能を持つファイアウォールは持たないものよりも遙かに高いセキュリティを獲得できる。

*Policy (ポリシー) -チェインのポリシー。これは、どのルールにもマッチしなかったパケットを処すデフォルトのアクションをファイアウォールに指示する。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX セキュリティ ファイアウォール iptables

VMware PlayerにCentOSをインストール

仮想でLinuxを動かしてみた。
VirtualBoxはディスクイメージも簡単に作れるし日本語だし、なかなかよかった。
飽きたのでVMwareも使ってみたくなった。
VMware Server2を使えば簡単に仮想環境を構築できるのだが、Webの管理画面がもっさりしすぎだったので速攻消した。ので、VMware Playerを落としてきて仮想のディスクイメージはqemuで作成することにした。(因みにUbuntuはVMware用仮想イメージが落ちてるから楽。)

まず、qemu-0.9.0-windows.zipをここからダウンロードして解凍する。


以下、Cドライブ直下にOSというフォルダを作り、その中に解凍したフォルダを置いたという前提で以下の作業を行う。

コマンドプロンプトを開き、qemu-img.exeを実行する(コマンドは以下)

>C:\OS\qemu-0.9.0-windows\qemu-img.exe create -f vmdk C:\OS\CentOS.vmdk 10G

↑は【C:\OS】に【CentOS】という名前の仮想ディスクイメージをサイズ【10G】で作成するという事。10Gというのは最大サイズなので、作成当初は1.4M程のサイズになった。

次にVMwareの設定ファイル(vmx)を作成するため、vmx-Makerというソフトをここからダウンロード、解凍し、中のexeファイルを実行。

以下、設定の例

【基本環境】
・仮想ディスクのファイル名:qemuで作成した仮想イメージを選択する。
・仮想環境の名称:VMware Playerを起動したときのヘッダーに表示される名前を決める
・ゲストOSの種別:今回はCentOSなのでredhatにしてみた
・メモリサイズ:デフォルトのサイズは、256MB。自分の環境に合わせて割り当てる。
・CD-ROMにISOイメージを割り当てる:チェックを入れるとISOイメージの場所を指定して、ISOイメージからインストールする事も可能みたいだが、外部CDからのインストールを行うため、チェックは入れない。
【ネットワーク】
・ネットワーク接続方式:nat, bridged, hostonly が選択可能。勿論bridgedを選択。
・拡張デバイス:デフォルトで。


後はisoイメージを焼いたCDをセットしてvmxファイルを実行(isoイメージはisoファイルを適当にダウンロードしてきてDeepBurnerで焼いた)。
もしくはVMware Playerを開いてvmxファイルを選択。
うまくインストール画面が出ない場合は起動直後のVMwareのロゴが出ている最中にESCを押してBootの順番を変える。
外付けのDVDドライブ(USB接続)で行ったが、そのままいけた。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : 仮想 VMware LINUX CentOS インストール

固定IPの設定(CentOS 5.2)

ネットワークデバイスの設定ファイルが置かれているディレクトリに移動

# cd /etc/sysconfig/network-scripts/

設定したい接続をviで編集(通常はeth0でよいと思う)。別に他のエディタでもよいが。

# vi ./ifcfg-eth0


DEVICE=eth0   ←デバイス名
ONBOOT=yes   ←システム起動時に有効にするか
BOOTPROTO=none   ←固定IP:none,static DHCPはdhcp
HWADDR=XX:XX:XX:XX:XX:XX   ←MACアドレス
TYPE=Ethernet    ←インタフェースのデバイスタイプ。他にxDSLなど
#DHCP_HOSTNAME=example.com   ←DHCPサーバに通知するホスト名
IPADDR=192.168.xx.xx    ←IPアドレスの指定(好きなように)
NETMASK=255.255.255.0   ←IPアドレスに対するネットマスクの指定
#NETADDR=192.168.1.0   ←ネットワークアドレス。記述は不要
#BROADCAST=192.168.1.255  ←ブロードキャストアドレス。記述は不要
USERCTL=no ←デバイスの制御をroot以外にも許すか。
PEERDNS=no ←DHCPで取得したDNSサーバのアドレスを/etc/resolv.confに
           反映するか。DHCPを使う場合は通常yes。
GATEWAY=192.168.1.1 ←DGのアドレス(通常はルータのIP)
IPV6INIT=no ←このデバイスでIPv6を有効にするか(通常はno)


DNSの指定ファイルをviで編集

# vi /etc/resolv.conf

nameserver XXX.XXX.XXX.XXX
nameserver XXX.XXX.XXX.XXX


ネットワーク再起動

# service network restart


設定確認

# ifconfig -a

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX CentOS IP 設定 手動

セキュリティ(2)

1.ユーザーが使用できるプロセス数などのリソースの制限を設定するコマンドは?

正解: ulimit

2./etc/fstabでのquota設定

ユーザーにクォータを設定するオプションは?

正解:usrquota

グループにクォータを設定するオプションは?

正解:grpquota


3.一般ユーザーがメモリなどのシステムリソースを消費しきってしまわないよう、ユーザーの利用に制限をかけるコマンドはどれか?

1. init
2. usermod
3. ulimit
4. umask
5. apropos

正解: 3

ulimitコマンドは、シェルや子プロセスが利用できるシステムリソースを制限します。-aオプションで、現在の設定を表示します。



4.Linuxシステム上に一般ユーザー「debby」が存在する。このとき、 /home/debbyディレクトリに20MBという容量制限を課したい。このための設定方法として適切なものを選択しなさい。

1. /homeパーティーションを20MBのサイズで新規作成する
2. ディスククォータで制限を設ける
3. 書き込みの上限を20MBに設定し、/home/debbyディレクトリを作成し直す
4. ディスク容量を走査するスクリプトを定期的に実行して、容量を超えた場合にユーザー「debby」に警告メールを発行する

正解:2

一般ユーザーが使用するディスク量やiノード数に上限値を課すためには、ディスク・クォータを利用します。ディスク・クォータとは、ユーザーごと、またはグループごとに消費するディスク量や iノード数を制限するための機能です。ディスク・クォータは、ファイルシステム(パーティション)ごとに設定するため、/homeパーティションの存在が前提になります。


5.quotaに関して以下の設問に答えよ

現在のディスククォータの状況を表示するコマンドは?
正解:quota

設定したディスククォータを有効にするコマンドは?
正解: quotaon

ディスククォータを無効にするコマンドは?
正解:quotaoff

ディスククォータは、ユーザーごとに設定できるか?
正解: できる

(穴埋め)使用しているディスク容量が[  ]に達すると、警告が表示される。
正解:ソフトリミット

(穴埋め)使用しているディスク容量が[  ]に達すると、それ以上は書き込めなくなる。
正解: ハードリミット

6./homeディレクトリにユーザー単位の容量制限を課したい。このとき、設定ファイル「/etc/fstab」の記述方法として適切なものを選択しなさい。

1. /dev/hda3 /home ext3 default,userquota 1 2
2. /dev/hda3 /home ext3 default,usrquota 1 2
3. /dev/hda3 /home ext3 default,quotauser 1 2
4. /dev/hda3 /home ext3 default,quotausr 1 2

正解:2

ディスク・クォータを制限するためには、まず設定ファイル「/etc/fstab」を編集します。ここで、ディスク・クォータを適用するファイルシステム(パーティション)に関する記述を変更します。例えば、/dev/hda3パーティションに対してユーザー単位でディスク・クォータを適用する場合は、設定ファイル「/etc/fstab」の第4フィールドに「usrquota」と記述します。また、グループ単位で適用する場合は、同じく第4フィールドに「grpquota」と記述します。1つのパーティションに対して、ユーザー単位とグループ単位の両方でディスク・クォータを適用する場合は「usrquota,grpquota」と記述します。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX 問題

セキュリティ(1)

1.Linuxシステムをファイヤウォールとして利用するためにパケットフィルタリングを行いたい。どのコマンドを利用して設定すればよいか?2つ選択せよ。

1. ipconfig
2. ipfilter
3. ipforward
4. ipchains
5. iptables

正解: 4 , 5

カーネル2.2系ではipchainsが利用されていましたが、カーネル2.4系ではiptablesも利用することができます。ipconfigはWindows/DOSのコマンドです。ipfilterやipforwardといったコマンドはありません。


2.最新のセキュリティ関連情報を得るための情報源として適切なものを選択せよ。

1. JPNIC
2. CERT/CC
3. LPI
4. BUGTRAQ
5. LDP

正解: 2 , 4

BAGTRAQはソフトウェアのバグ情報のメーリングリストです。


3.CERT/CCの説明として適切なものはどれか。

1. ドメイン名やIPアドレスを割り当てる機関
2. クラスの概念をなくしてIPアドレスを割り当てる方式
3. 公開鍵暗号方式の一種
4. セキュリティ情報の収集や発信を行っている団体
5. 米国家安全保障局

正解: 4

CERT/CC(Computer Emergency Responce Team/Coordination Center)。
1.はICANNなど、2.はCIDR、3.はRSAやDSAなど、5.はNSAです。


4.NATテーブルの内容を表示するための、iptablesコマンドの実行方法を選択しなさい

1. iptables -n -L
2. iptables -t filter -L
3. iptables -t nat -L
4. iptables -t mangle -L

正解:3

iptablesコマンドで施した設定内容を表示するためには、次のようにiptablesコマンドを実行します。

# iptables -t <テーブル名> -L


5.inetdとTCP Wrappersでアクセス制御を行っている。ある特定のネットワーク「192.168.20.0/24」からのFTPアクセスをすべて禁止したい場合、設定を変更するファイルはどれか?

1. /etc/inetd.conf
2. /etc/services
3. /etc/ftp
4. /etc/hosts.deny
5. /etc/tcp_wrappers

正解: 4

問題にあるアクセス制御を行うには、/etc/hosts.denyに次のような記述を行います(in.ftpdの場合)。
in.ftpd:192.168.20.
FTPサーバへのアクセスをすべて禁止する場合は、通常、/etc/inetd.confの該当行をコメントアウトします。


6.一般ユーザーがログインできないようにしたい。どうすればよいか?

1. ユーザーのホームディレクトリに「.hashlogin」ファイルを作成する
2. ユーザーのデフォルトシェルを「/bin/false」とする
3. inetd/xinetdサービスを停止する
4. /etc/profileファイルに「login=disable」と記述する
5. /etc/nologinファイルを作成する

正解: 2 , 5

/etc/passwdでユーザーのデフォルトシェルを「/bin/false」などにしておくことで、シェルログインを禁止できます。/etc/nologinファイルを作成しておくと、一般ユーザーはログインできなくなります。


7./etc/hosts.allowと/etc/hosts.denyを使ってアクセス制御の設定をしている。このファイルの設定をチェックしたい場合、どのコマンドを使えばよいか?

1. checkconfig
2. chkconfig
3. testparm
4. tcpdchk
5. configure --check

正解: 4

tcpdchkコマンドを使ってファイルの設定をチェックできます。また、tcpdmatchコマンドを使ってアクセス条件をチェックできます。


8.以下は、rpm -Va を実行したときの結果の一部である。その意味について適切なものはどれか?

   S.5....T c /etc/services

1. /etc/services ファイルのシンボリックリンクが変更されている
2. /etc/services ファイルのサイズが変更されている
3. /etc/services ファイルの更新日時が変更されている
4. /etc/services ファイルのパーミッションが変更されている
5. /etc/services ファイルの MD5 チェックサムの値が異なる

正解: 2 , 3 , 5

* 5 -- MD5チェックサムが異なる
* S -- サイズが変更されている
* L -- シンボリックリンクが変更されている
* T -- ファイル更新日時が変更されている
* D -- デバイスファイルが変更されている
* U -- オーナーが変更されている
* G -- グループが変更されている
* M -- パーミッションやファイルタイプが変更されている


9.root の SUID を濫用すべきでないと言われる。その理由は何か?

1. プロセスの独立性が保てないため
2. 一般ユーザーにも root パスワードを教える必要があるため
3. FHS の仕様から外れるため
4. セキュリティ上問題があるため

正解: 4

root 権限で実行されるプログラムにバグがあった場合、システムに重大な損傷を与える場合が考えられます。また、不正侵入者があって何らかのプログラムを仕掛けていっても見逃してしまう可能性が高いことも考えられます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX 問題

ネットワークサービス(3)

1.プロバイダから192.168.3.0/255.255.255.0のIPアドレスの配布を受けた時の逆引きゾーン名として正しいものは次のうちどれでしょう?

1. 3.168.192.in-addr.arpa
2. 192.168.3.in-addr.arpa
3. in-addr.arpa.192.168.0
4. in-addr.arpa.3.168.192

正解:1

IPアドレスを逆さまに記述します。最後に、in-addr.arpa をつけます。


2.BINDのゾーンファイルにおいて、メールサーバーに関するレコードを表すものを選択しなさい。

1. A
2. CNAME
3. SOA
4. MX
5. PTR

正解:4

DNSサーバで管理される情報には、ホスト名の別名情報や、ホスト名と IPアドレスの対応情報などがあります。これを「レコード」といいます。このうち、MXレコードにはドメインで利用されるメールサーバのホスト名が納められています。sendmailやPostfixなどのメールサーバ・プログラムは、他のドメインにメールを送信する際、MXレコードからメールを送信すべきホスト名を調べるのです。


3.ローカル・ホスト上でDNSサーバを稼働させている。このDNSサーバを参照できるようにするためにとる方法として適切なものを選択しなさい。

1. 設定ファイル「/etc/named.conf」に「0.0.0.0」と記述する
2. 設定ファイル「/etc/resolv.conf」に「0.0.0.0」と記述する
3. 設定ファイル「/etc/named.conf」に「127.0.0.1」と記述する
4. 設定ファイル「/etc/resolv.conf」に「127.0.0.1」と記述する

正解:2

ファイル「/etc/named.conf」はDNSサーバ・ソフト「BIND」の設定ファイルです。また、ファイル「/etc/resolv.conf」は利用するDNSサーバのIPアドレスを記述するための設定ファイルです。本文では、DNSサーバを参照するための方法が問われているので、
編集すべき設定ファイルは「/etc/resolv.conf」です。設定ファイル「/etc/resolv.conf」では、次のような記述で利用するDNSサーバのIPアドレスを次の構文で指定します。

nameserver

本文では、ローカル・ホストで動作しているDNSサーバを利用するので、DNSサーバのIPアドレスにローカル・ホストのIPアドレス「127.0.0.1」を指定すればよいように思われます。これは確かに間違いではありませんが、自ホストを表す127.0.0.1が必ず自ホストを指すというのは実装依存であるため、万全を期すにはIPアドレスは0.0.0.0を指定します。resolv.confに0アドレスが指定されると、リゾルバは自分自身のDNSサーバを参照するように働きます。


4.Linuxシステムを再起動したところ、リモート・ホストのSSHクライアント・ユーザーが、SSHログインできなくなったと報告してきた。この原因として適切なものを選択しなさい。

1. SSHクライアントがSSHサーバの名前解決に失敗している
2. sshdがTCPラッパーを使用するよう設定されている
3. SSHサーバ上の公開鍵が改変されている
4. 起動ランレベルでsshdが自動的に起動するよう設定されていない

正解:4

ユーザーがSSHログインできなくなったのは、マシンの再起動後です。この状況から、再起動前はrootユーザーが手動でsshdを起動していたためにSSHログインできていたものの、マシンの起動と同時にsshd が起動されるように設定されていないため、再起動後にSSHログインできなくなったものと思われます。


5.OpenSSHのコマンドで、公開鍵と秘密鍵を作成するためのコマンドを選択しなさい。

1. ssh-keygen
2. ssh-add
3. ssh-agent
4. ssh-keyscan

正解:1

SSH(Secure Shell)は、通信データを暗号化してリモート・ホストを操作できるシェルです。また、OpenSSHはOpenBSDプロジェクトによって開発されたSSHの実装です。事実上、OpenSSHはLinux用の標準SSHツールとしています。OpenSSH(SSH)は公開鍵暗号に対応しています。公開鍵暗号では、ユーザーによって作成された鍵のペア(公開鍵と秘密鍵)を利用します。鍵のペアを上手に利用することで、他の暗号よりも破られにくくいことが公開鍵暗号の特徴です。OpenSSHには、機能別のコマンドが収録されています。このうち、公開鍵と秘密鍵を作成するためのプログラムはssh-keygenコマンドです。


6.SSHでログインするユーザーにメッセージを表示したり、ユーザーがSSHログインした際に特定のコマンドを実行する場合、利用すべきSSHの設定ファイルを選択しなさい。

1. /etc/sshinit
2. /etc/sshrc
3. /etc/ssh_known_hosts
4. /etc/ssh_profile

正解:2

リモート・ログインするユーザーに対しては、設定ファイル「/etc/issue.net」の内容がターミナル画面に表示されます。このメッセージは、telnetでログインしてもSSHでログインしても同じように表示されます。このような場合はファイル「/etc/sshrc」(*1)を利用します。このファイルは、Bashの設定ファイル「/etc/profile」のように、ユーザーがログインするたびに実行されるシェル・スクリプトです。つまり、ファイル「/etc/sshrc」に記述された内容(コマンド)は、ユーザーがSSHでログインするたびに実行されるのです。したがって、ファイル「/etc/sshrc」を利用すれば、SSHでログインしたユーザーに対してのもメッセージを表示したり、環境を整えるためのコマンドを実行したり、という具合に運用できます。

※1:Red Hat Linux 7.3でのファイル名は「/etc/ssh/sshrc」です。


7.NTP sever を参照するため、/etc/ntpd.conf 内での指示子を選択しなさい。

1. ntpserv
2. server
3. ntpserver
4. serv

正解:2

設定ファイル「/etc/ntpd.conf」は、NTPデーモン・プログラム「ntpd」の設定ファイルです。この設定ファイルには、参照する NTPサーバやドリフト・ファイル(*1)などを記述します。この際、参照する NTPサーバは次のように「server」という指示子を使って指定します。

server server1.example.com

※1:サーバとの偏りを記録するもので、誤差調整用ファイル。


8.通常、root権限で実行しないデーモンを選択しなさい。

1. telnetd
2. rlogind
3. crond
4. named

正解:4

root権限で実行する必要のないデーモン・プログラムはnamedです。namedは一度起動してしまえば、それ以降の作業をroot権限で処理する必要はありません。また、namedをroot以外の権限で実行すると、namedのセキュリティ・ホールをついた被害を最小限に抑えられます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : 問題 LINUX LPIC

ネットワークサービス(2)

1.Apacheを次のように設定する。 8080番で接続を待ちうけ、スタンドアロン・モードで動作させる。これを設定するための設定ファイルを記入しなさい。

1. 標準ポート80番を変更することはできない
2. port.conf
3. httpd.port
4. httpd.conf

正解:4

Apacheがクライアントからの接続を受け付けるポート番号は自由に変更できます。接続を受け付けるポート番号は、設定ファイル「httpd.conf」で設定します。ポート番号を指定するための項目は、Apacheのバージョンによって異なります。現在、広く利用されている Apacheのバージョンは1.3系と2.0系に大別されます。Apache 1.3系では接続を受け付けるポート番号は「Port」項目で指定され、Apache 2.0系では「Listen」項目で指定されます。


2.中小規模サイトの典型的なネットワーク構成の負荷が低い条件でApacheを運用する。このとき、あらかじめ待機させておくApacheのプロセス数として適切なものを選択しなさい。

1. 5
2. 15
3. 30
4. 50

正解:1. 5

Apacheは、クライアントから接続を受けつける度にプロセスを起動します(*1)。この際、接続を受け付けてからプロセスを起動するまでの時間を短縮するために、あらかじめ「遊んでいる」プロセスが起動されています。これを待機プロセスと呼びます。本文では、ある条件下での適切な待機プロセス数が問われています。待機プロセスといえど、実行中はメモリを占有します。そのため、負荷が小さい環境(利用者が少ない環境)では、待機プロセス数を必要最低限にしておくと、Linuxシステム全体のパフォーマンス向上が望まれます。待機プロセスの数は、Apache設定ファイル「httpd.conf」で定義されています。たとえば「StartServers 5」は起動時に5個の予備プロセスを待機させます。

※1:これはApache 1.3系のモデルです。
Apache 2.0系では、プロセスのほかにスレッドを用いた処理も選択できます。



3.Apacheに付属しているベンチマークツールはどれか?

1. nbench
2. webalizer
3. ab
4. nmap
5. nkf

正解:3

4.NFSを使って、/home/expディレクトリをエクスポートしたい。その際、アクセスできるのは192.168.0.50のホストのみであり、ファイルの読み書きを可能とする、には/etc/exportsにどのように記述すればよいか?

1. allow 192.168.0.50(rw,/home/exp)
2. rw,/home/exp,192.168.0.50
3. /home/exp rw:192.168.0.50
4. 192.168.0.50:/home/exp(rw)
5. /home/exp 192.168.0.50(rw)

正解:5

NFSエクスポートの設定は、/etc/exportsファイルで行います。

■書式

公開ディレクトリ 公開先許可ホスト(オプション)


5.設定ファイル「/etc/exports」に「/pubic apollo(rw)」と書かれている。この設定内容を適切に説明しているものを選択しなさい。

1. ホストapolloは、読み取り可能かつ書き込み可能で、NFSサーバー上の/publicディレクトリをNFSマウントできる
2. NFSサーバーapolloの/publicディレクトリを、全てのホストは読み取り可能かつ書き込み可能で、NFSマウントできる
3. ホストpublicは、読み取り可能かつ書き込み可能で、ホストapollo上の全てのディレクトリをNFSマウントできる
4. ホストpublicは、読み取り可能かつ書き込み可能で、NFSサーバー上のapolloディレクトリをNFSマウントできる

正解:1

ファイル「/etc/exports」はNFSサーバの設定ファイルです。この設定ファイルには、NFSクライアントに提供するディレクトリ名やアクセス制限の内容を記述します。一般的な記述方法は次のとおりです。

ディレクトリ名> <アクセスを許可するホスト名> (<オプション>)

たとえば、設定ファイル「/etc/exports」に次の1行を記述したとします。

/pubic apollo(rw)

これは、NFSクライアントに対してNFSサーバ上の/publicディレクトリを提供すること、ディレクトリに対するアクセスはホスト「apollo」に対して許可すること、ホスト「apollo」に対するアクセス権は「読み書き可能」であることを表します。


6.ローカル・ホストでNFSサーバを設定した。リモート・ホストから、ローカル・ホスト上のディレクトリをマウントしたところ、リモート・ホストのユーザーrootでは、NFSで共有したディレクトリに書き込みのアクセスができなかった。原因として考えられるものを選択しなさい。

1. NFSはrootでアクセスできる仕様となっていない
2. NFSサーバとリモート・ホストでは、rootのIDが異なる
3. 設定ファイル「/etc/exports」に「no_root_squash」という記述がない
4. mountコマンド実行時に「trust」オプションを指定しなかった
5. mountコマンド実行時に「rw」オプションを指定しなかった

正解:3

NFSクライアント上のrootユーザーがNFSサーバ上のrootユーザーとしてファイルを操作できるようにするためには、「NFSクライアント上のrootユーザーをnobodyユーザーなどとして扱う」機能を無効にする必要があります。具体的には、NFSサーバの設定ファイル「/etc /exports」にオプション「no_root_squash」を記述します。


7.設定ファイル「smb.conf」が次のように記述されている。この内容について正しく説明したものを選択しなさい。

workgroup=linux
guest accout=nobody

1. ファイル「/etc/passwd」にnobodyというユーザーエントリーがなければいけない
2. サーバ上にgroupというユーザーが存在しなくてはならない
3. linuxというユーザーはworkgoupというグループに所属している
4. サーバ上にnobodyというグループが存在する

正解:1

本文ではファイルサーバ・ソフト・Samba の設定ファイル「smb.conf」の内容が問われています。
設定ファイル「smb.conf」の「workgroup」項目は、Windowsネットワークのワークグループ名を指定するための項目です。また、「guest account」項目は、Samba用のゲスト・ユーザーとして利用するユーザー名を指定するための項目です。たとえば「guest account」項目に「nobody」と指定した場合、Sambaにゲスト・ユーザーとしてアクセスすると、Linuxマシン上のユーザー「nobody」に対するアクセス権が適用されます。逆にいえば、「guest account」項目で指定するユーザーは、Linuxマシンにアカウントが存在する(ファイル「/etc/passwd」にエントリーがある)ものである必要があります。


8.サブドメインの管理を別のDNSサーバに任せることを何といいますか?

1. ゾーン転送
2. 権限委譲
3. SOA
4. レジストリ

正解: 2

DNSの仕組みは、ドメインを階層構造で管理し、各ドメインごとにDNSサーバがホスト名の管理を行う。
サブドメインを作る場合は、上位ドメインを管理するDNSサーバに、サブドメインを管理するDNSサーバの情報を登録する。これを、権限委譲といい、名前管理を分散化することができる。


9.ホスト名をIPに変換する為のレコードとして正しいものは次のうちどれか?

1. Aレコード
2. NSレコード
3. SOAレコード
4. CNAMEレコード

正解: 1

NSレコードはゾーンを管理するDNSサーバの一覧を記述します。
SOAレコードはどのゾーンのデータベースなのかを設定しています。
CNAMEレコードはホストに対しての別名を指定します。


10.ホスト名だけでなくドメイン部分も含めて記述する完全修飾ドメイン名を何といいますか?

1. hostname
2. nameserver
3. ZONE
4. FQDN
5. DNS

正解: 4

ホスト名・ドメイン名を省略せずにすべて指定した記述形式のことをFQDN(Fully Qualified Domain Name)といいます。例えば、「www.hoge.co.jp」はFQDNですが、「hoge.co.jp」はホスト名が省略されているのでFQDNとはいいません。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX 問題

ネットワークサービス(1)

1.inetdからxinetdに移行する。このとき、最初にすべき作業はなにか?適切なものを選択しなさい。

1. ファイル「/etc/services」にxinetdの項目を追加する
2. ない(inetdとxinetdの設定ファイルは共通)
3. xined用の設定ファイルを新規に作成する
4. TCPラッパーにxinetdの項目を追加する

正解:3

inetdとxinetdは、ともにサーバ・デーモンに対するアクセスを制御するための代理デーモンです。Linuxでは、代理デーモンとして inetdが利用されてきました。しかし近年、アクセス制御に対する設定の細やかさや、パフォーマンス面に不足が出てきたため、より高機能な代理デーモン xinetdが利用されるようになりました。これまでinetdを利用していたシステムで、代理サーバをxinetdに移行するためには、inetdの設定内容をxinetdに引き継ぐ必要があります。具体的には、inetdの設定ファイル「/etc/inetd.conf」の内容を、xinetdの設定ファイル「/etc/xinted.conf」の書式にあわせて移行します。もちろん、設定ファイル「/etc/xinted.conf」がなければ、新たにこれを作成します。


2.一般にTCPラッパーで接続要求を制限しないサービスを選択しなさい。

1. auth
2. ftp
3. finger
4. http

正解:4

すべてのサービスはinetdというデーモン・プログラム経由で起動することで、TCPラッパーをもちいてアクセスを制限できます。inetdを利用すれば、TCPラッパーを用いたアクセス制御が簡単になります。また、リモート・ホストからアクセスがあった場合のみ、個々のデーモン・プログラム(ftpdなど)が起動されるので、メモリを節約できます。しかし、リモート・ホストから頻繁にアクセスがあるサービスをinetdプログラム経由で起動すると、逆にマシンに対する負荷が高くなります。したがって、リモート・ホストによるアクセス頻度が高いサービスのデーモン・プログラムは、inetdプログラム経由ではなくスタンド・アロン(単体)で起動します。これにより、マシンの負荷が軽減されるからです。
 選択肢の中では、一般的な環境においてhttpd(Webサービス)がもっともアクセス頻度が高いサービスです。したがって、正解は「http」です。

# apachectl start

 これで、Apacheのデーモン・プログラム「httpd」が起動されます。
 なお、http、apachestart、apacheという名称のコマンドは存在しません。


3.リモート・ホストからのtelnet接続を受け付けるために編集する設定ファイルを選択しなさい。

1. telnet.conf
2. inetd.conf
3. syslog.conf
4. hosts

正解:2

リモート・ホストからtelnet接続できるようにするためには、代理デーモン「inetd」の設定ファイル「/etc/inetd.conf」を編集します。具体的には、設定ファイル「/etc/inetd.conf」に次の1行を追加すれば、リモート・ホストからローカル・ホストへtelnet 接続できるようになります。なお、この指定はTCPラッパー(tcpd)経由での接続となります。

telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd


4.セキュリティを向上させるため、リモートからのtelnet接続を無効にしたい。
この際、目的に該当しない方法を選択しなさい

1. /etc/inetd.conf のtelnetの行をコメントまたは削除する
2. /etc/hosts.denyを適切に設定する
3. iptablesでフィルタリングを適切に設定する
4. telnetを提供するポート番号を変更する

正解:4

telnetサービスを無効にするためには、次のいずれかの方法を選択できます。1つは設定ファイル「/etc/inetd.conf」で telnetサービスに関する設定行をコメントする、あるいは削除することです。もう 1つは、設定ファイル「/etc/hosts.deny」にtelnetサービスの利用を禁止する記述を追加することです。前者の場合はinetdプログラムが、後者の場合はtcpdが要因となりtelnetサービスが無効になります。このほか、telnetサービスに対する要求(IPパケット)をカーネル・レベルで拒否することでも、telnetサービスは無効になります。この場合は、iptablesコマンドを使います。ポート番号を変更しても接続の拒否にはなりません。


5.未配送のメールが保存されるディレクトリを選択しなさい。

1. /var/mail
2. /var/spool/mail
3. /var/spool/mqueue
4. /var/mail/deliver
5. 該当するディレクトリは存在しない

正解:3

ユーザーが送信したメールのうち、送信待ち状態のメールは/var/spool/mqueueディレクトリに保存されます。また、送信待ち状態のメールはmaiqコマンドまたはsendmailコマンドを実行することで確認できます。


6.sendmailでaliasを指定するための設定ファイルを記入しなさい。

1. /etc/aliases
2. /etc/mailaliases
3. /etc/sendmailaliases
4. /etc/sendmail/aliases
5. /var/spool/mail/aliases

正解:1

「alias」とはシステムに存在するユーザーの別名を意味します。Linuxシステムを管理する際は、あるユーザー宛のメールを別のユーザーで受信したいケースがあります。例えば、通常、システム管理者は一般ユーザーとしてシステムにログインしています。この際、rootユーザー宛のメールを一般ユーザー宛のメールとともに読みたいというケースです。このような場合は、設定ファイル「/etc/aliases」にrootユーザーの別名を指定します。たとえば、rootユーザーの別名として「davis」を指定するためには、次のような1行を設定ファイル「/etc/aliases」に記述します。

root: davis

 このあと、newaliasesコマンドを実行すれば、設定ファイル「/etc/aliases」を基にして別名(alias)のデータベース「/etc/aliases.db」が作成されます。これにより、rootユーザー宛のメールを一般ユーザー「davis」宛のメールと一緒に受信できるようになります。


7.一般ユーザーのメールが格納されるディレクトリを選択しなさい。

1. ~/mail
2. /var/mail
3. /var/spool/mail
4. /var/mail/spool
5. /usr/mail

正解:3

メールサーバ・ソフトとしてsendmailが利用されているシステムでは、一般ユーザー宛のメールは/var/spool/mailディレクトリに格納されます。このディレクトリには、1ユーザーにつき1つのファイルで一般ユーザーのメールが管理されています。


8.sendmailの主設定ファイルを選択しなさい。

1. /etc/sendmail.cf
2. /etc/sendmail.conf
3. /etc/sendmail.mc
4. /etc/sendmail.config
5. /etc/smrc

正解:1

sendmailの設定はファイル「/etc/sendmail.cf (*1) 」です。
「sendmail.mc (*2)」は「sendmail.cf」を生成するための元になるファイルです。sendmail.conf、sendmail.cofig、smrcというファイルは存在しません。

※1. 2003年12月現在のsendmailの仕様では、/etc/mailディレクトリがsendmailのシステムディレクトリとなっています。たとえばsendmail.cfのパスは「/etc/mail/sendmail.cf」となります。

※2. 実際にはsendmail.cfを直接編集することはまずありません。一般的にはm4マクロを利用したcfというツールを利用して間接的に sendmail.cfを生成します。sendmail.cfの記述は難解にできており、直接編集するには専門的(かなり高度)なスキルを要するからです。


9.Apacheの起動方法を選択しなさい。

1. apachectl start
2. http -start
3. apachestart -n
4. apache -start

正解:1

Webサーバ・ソフト「Apache」には、管理用コマンドapachectlが収録されています。apachectlコマンドは、Apacheのデーモン・プログラム「httpd」の起動や状況を確認を行うためのプログラムです。apachectlコマンドには、処理内容で分類されたサブ・コマンドが存在します。
apachectlコマンドは、サブ・コマンドとともに利用します。たとえば、Apacheのデーモン・プログラム「httpd」を起動するためには、次のようにapachectlコマンドを実行します。

# apachectl start

 これで、Apacheのデーモン・プログラム「httpd」が起動されます。
 なお、http、apachestart、apacheという名称のコマンドは存在しません。


10.Apacheの設定ファイルを選択しなさい。

1. httpd.config
2. conf.apache
3. apache.conf
4. httpd.conf
5. smb.conf

正解:4

Webサーバ・ソフト「Apache」の設定ファイルは3種類存在します。すなわち、設定ファイル「httpd.conf」「srm.conf」「access.conf」の3つです。これらの設定ファイルは、設定内容によって使い分けられてきました。しかし最近では、3つの設定ファイルは、1つの設定ファイル「httpd.conf」にまとめられるようになりました。Apacheは3つの設定ファイルの内容を1つの設定ファイル「httpd.conf」にまとめても、3つの設定ファイルのままでも動作します。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC 問題

ネットワーク基礎(3)

1./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ファイルの設定を変更します。


2.eth0インターフェースをシャットダウンしたい。ifconfigコマンドに適切なオプション・引数を指定して記述せよ。

正解: ifconfig eth0 down

ifconfigコマンドに、インターフェース名と「down」を指定して実行することにより、そのインターフェースを一時的に使用不可にできます。down の代わりにup とすれば、再びアクティブにできます。


3.ファイル「ip_forward」について正しく説明している項目を選択しなさい。

1. パケットフィルタリングのルールを記述するファイル
2. Linuxをゲートウェイとして機能させるためのファイル
3. デフォルトゲートウェイを指定するためのファイル
4. DNSサーバーのIPアドレスを記述するファイル

正解:2

問題文のファイル「ip_forward」とは、ファイル「/proc/sys/net/ipv4/ip_forward」のことです。ファイル「ip_forward」は、IPパケットを転送するか否かを決めるために利用されます。ファイル「ip_forward」の内容は数字の「0」か「1」の2通りです。ファイルの内容が「0」であれば、IPパケットは転送されません。また、内容が「1」であれば、IPパケットは転送されます。


4.引数・オプションなしで route コマンドを実行するのと同じ効果のコマンドは何か?引数・オプションを指定して記述せよ。

正解: netstat -r

5.設定ファイル「/etc/ppp/pap-secret」のパーミッションとして適切なものを選択しなさい。

1. システム内の全ユーザーが読み取りできる
2. PPPのユーザーが読み取りできる
3. rootとPPPグループに所属するユーザーが読み取り、実行できる
4. rootだけが読み取りできる

正解:4

PPP通信では、PAPとCHAPという2種類の認証方式が利用されます。
ファイル「/etc/ppp/pap-secret」は、PAP方式で利用されるユーザー名とパスワードが格納される設定ファイルです。設定ファイル「/etc/ppp/pap-secret」には、ユーザー名とパスワードがそのまま記述されます。したがって、管理者以外のユーザーがこのファイルを閲覧できる状態は好ましくありません。よって、設定ファイル「/etc/ppp/pap-secret」のパーミッションは、通常rootユーザーだけが読める状態に設定します。


6./etc/ppp/peersディレクトリにファイルが存在する。これの意味を選択しなさい。

1. /etc/ppp/optionディレクトリが空である
2. システム内の全ユーザーがpppdコマンドを実行可能
3. オンデマンドでのPPP接続が無効になる
4. CHAP認証を利用する必要がある

正解:2

/etc/ppp/peersディレクトリには、ダイヤルアップの起動ファイルが格納されます。起動ファイルは接続先ごとに作成されます。つまり、利用するプロバイダが2つあれば、/etc/ppp/peersディレクトリに2つの起動ファイルが配置されます。起動ファイルには、「call」オプションを記述できます。このオプションは、一般ユーザーでもPPP接続できるようになります。したがって、正解は選択肢2になります。


7.モデムの動作をテストするためのコマンドを選択しなさい。

1. chat
2. minicom
3. dhcpd
4. Hylafax
5. ping

正解:2

minicomは、モデムの動作を検証するためのプログラムです。chatコマンドを用いてダイヤルアップ接続できない場合などに、モデムの検証用として利用します。


8.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になります。


9.PPP 等におけるユーザー認証方法で、チャレンジ/レスポンス方式を用いて認証するため、PAPよりもセキュアな方式は何か?

1. SLIP
2. CHAP
3. S/MIME
4. PGP
5. SSL

正解: 2

CHAP は、Challenge Handshake Authentication Protocol の略で、PAPよりも安全性がより高められています。この方式では、まず PPPサーバからクライアントに対して、チャレンジコードという乱数を返します。クライアント側では、この値とユーザー名、及びパスワードを元に、ある関数値を計算し、それをサーバに送ります。サーバ側は自分の方でも計算し、受け取った値と比較して、同じなら接続が許可されます。チャレンジコードは毎回異なるので、万一途中で回線が盗聴されていても、悪用される可能性は低くなります。


10.PPP におけるもっとも簡単なユーザー認証方法で、ユーザー名とパスワードをクリアテキスト(平文)で送信する方式は何か?

1. SSL
2. SLIP
3. PAP
4. CHAP
5. PGP
6. MIME

正解: 3

PAP は、Password Authentication Protocol の略で、文字どおりパスワード認証を行いますが、ユーザー名とパスワードの組は平文で送られるため、通信回線をモニタされたりすると、パスワードを盗まれる危険性があります。


11.PPP接続の手順を自動的に行うために使われるスクリプトを何というか?

1. chatスクリプト
2. ppp_upスクリプト
3. pppスクリプト
4. pppdスクリプト
5. ppp-connectスクリプト

正解: 1

chatスクリプトは、モデムなどから返ってくると期待されるメッセージと、コマンドの組が記述されています。通信エラーによる文字欠落に対応するため、冗長性を持たせた記述をするのが一般的です。


12.PPP接続で使用される認証方式のうち、パスワードを平文で送信しないものを選択しなさい。

1. CHAP
2. PAP
3. PAM
4. PGP

正解:1

PPP接続では 2種類の認証方式が利用されます。1つはPAP(Password Authentication Protocol)、もう1つはCHAP(Challenge Handshake Authentication Protocol)です。PAP方式では、認証時にユーザー名とパスワードが平文で送信されます。このため、通信経路の途中でデータを盗聴されるとPPPサーバがクラックされる可能性があります。CHAPでは、PPPクライアントがPPPサーバにアクセスすると、まずPPPサーバは乱数をPPPクライアントに送信します。それを受け取ったPPP クライアントは、乱数、ユーザー名、パスワードの3情報をハッシュし、ハッシュ値をPPP サーバに送信します。それを受け取ったPPPサーバは、自らが作成したハッシュ値と、PPPクライアントから送信されたハッシュ値を比較し、それらが一致した場合に認証します。つまり、CHAP方式では、ユーザー名とパスワードの情報が通信データに含まれません。このため、CHAP方式は PAP方式よりも安全です。


13.他のホストとPPPで通信するために必要なデーモンプログラムを選択しなさい。

1. pppd
2. chapd
3. popd
4. kppp

正解:1

LinuxでPPP通信するためには、LinuxカーネルでPPPの機能が有効になっていることが必要です。また、実際にPPP通信するためのプログラムpppdが必要です。この2つの要件が満たされることで、はじめてPPP通信できるようになります。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC 問題

ネットワーク基礎(2)

1.自ホストのホスト名を表示したり、ホスト名を変更したりすることができるコマンドは何か?

正解: hostname

引数なしでhostnameコマンドを使うと、ホスト名が表示されます。ホスト名を指定すると、そのホスト名に変更します(rootのみ)。再起動すると変更は失われます。


2.ホスト名を「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サーバで検索するコマンドです。



3. 192.168.100.0/24のネットワーク(192.168.100.0 ~ 192.168.100.255)宛のパケットをeth1に送るように設定するにはどのようにコマンドを実行すればよいか?

正解: route add -net 192.168.100.0 netmask 255.255.255.0 dev eth1

4. 192.168.100.0/24のネットワーク(192.168.100.0 ~ 192.168.100.255)宛の経路情報を削除するにはどのようにコマンドを実行すればよいか?

正解: route del -net 192.168.100.0 netmask 255.255.255.0

5.以下の表示は何のコマンドの実行結果か?

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コマンドを使うようにします。


6.以下のファイルは、Red Hat Linuxでの、何というファイルの内容か?フルパスで記載せよ。

NETWORKING=yes
HOSTNAME=myhost
GATEWAY=192.168.0.1

正解: /etc/sysconfig/network

/etc/sysconfig/networkでは、ネットワークを使用するかどうかや、ホスト名、デフォルトゲートウェイアドレスなどを永続的に設定できます。ディストリビューションによっては、/etc/rc.configを使うものもあります。


7.以下は、何というファイルの一例か?ファイル名をフルパスで答えよ。

order hosts, bind
multi on

正解: /etc/host.conf

/etc/host.conf は、名前解決する際、どういう順番で処理するかを記述します。上記の例の場合、まずは /etc/hosts に記述された内容が参照され、次にネームサーバに問い合わせされます。2行目は、ひとつのホストに対して複数のIPアドレスが割り当てられることを許可します。
glibc2以降は、host.confに代わってnsswitch.confが利用されます。


8.以下は、何というファイルの一例か。ファイル名をフルパスで答えよ。

nameserver 127.0.0.1
nameserver 192.168.1.2
nameserver 192.168.2.2

正解: /etc/resolv.conf

resolv.conf には、ネームサーバのIPアドレスが記述され、どのネームサーバで名前解決されるかを設定します。


9.パケットが宛先のホストに届くまでに通過する経路を表示するためのコマンドを記入せよ。

正解: traceroute

traceroute コマンドは、宛先ホストに到着するまでに経由したルータを表示します。リモートホストまで通信が届かない時、ネットワークのどの場所に障害が発生しているのかを確認する場合などに用います。ICMPパケットを使用します。


10.DNSサーバから得られる情報を表示することのできるコマンドはどれか?

1. ifconfig
2. dig
3. hostname
4. netstat
5. ping

正解:2

$ dig lpic.jp

といった形で、DNSサーバからの各種情報を表示できます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC 問題

ネットワーク基礎(1)

1.デフォルト・ゲートウェイとして、192.168.1.1というIPアドレスを持つホストを指定するためのコマンドを選択しなさい。

1. route add default gw 192.168.1.1
2. route add default 192.168.1.1
3. ip add default 192.168.1.1
4. netstat -add default gw 192.168.1.1
5. ifconfig add gw 192.168.1.1 eth0

正解:1

Linuxでは、手動で経路情報を設定するためにrouteコマンドを利用します。経路情報を新規に追加するためには次のようにrouteコマンドを実行します。

# route add -net <ネットワーク・アドレス> netmask<ネットマスク> gw <ルータのIPアドレス>

# route add -net <ネットワーク・アドレス> /PREFIX gw <ルータのIPアドレス>


2.ネットワークに接続されているマシンの存在(ネットワークインターフェイス情報)を確認するために利用されるものを選択しなさい。

1. ARP
2. DNS
3. ゲートウェイ
4. ルーティング・プロトコル
5. ネットマスク

正解:1

ARP(Address Resolution Protocol )は、
ホストのIPアドレスからネットワーク・アダプタのMACアドレスを割り出すためのプロトコルです。ホストが同一ネットワークにブロードキャスト・パケットを送信すると、各ホストのIPアドレスとMACアドレスの対応関係が、ARPキャッシュとしてOSに保存されます。また、通常、異なるネットワーク上にあるホストのARP情報は取得できません(ルータをARPプロキシとして動作させれば可能)。


3.通信に2種類のコネクションを使用するプロトコルを選択しなさい。

1. FTP
2. HTTP
3. NTP
4. rsh
5. rlogin


正解:1

IPパケットは、あるIPアドレスとポート番号から送信され、別のIPアドレスとポート番号に到達します。このとき、2つのホスト間には仮想的な通信路が作成されている状態です。これをコネクションといいます。 たとえば、ブラウザでWebページを閲覧する場合、クライアント・ホストとWebサーバ・ホストの間は、「クライアント・ホストのIPアドレスおよび1024番以降のポート」と「Webサーバ・ホストのIPアドレスとポート80番」を利用した通信路(コネクション)が確立されています。
 通常、ホスト間の通信に利用されるコネクションはただ1つです。すなわち、両ホストが一度に使用するポートはただ1つです。ところが、FTPはコネクション確立する場合と、コネクション確立後にデータ転送する場合で異なるポートを利用します。前者の場合に利用されるポート番号は21、後者の場合に利用されるポート番号は20です。つまり、FTPは2種類のコネクションを使うプロトコルなのです。


4.設定ファイル「/etc/resolv.conf」に、参照するDNSサーバのIPアドレスを記述したが、リモート・ホスト上のDNSサーバを参照できない。原因として考えられるものを選択しなさい。

1. 設定ファイル「nsswitch.conf」でhosts項目が正しく設定されていない
2. 設定ファイル「/etc/hosts」に「localhost.localdomain」の記述がない
3. ローカル・ホスト上でnamedデーモンが起動されていない
4. ローカル・ホスト上に設定ファイル「/etc/named.conf」が存在しない

正解:1

ホスト名をIPアドレスに変換する(名前を解決する)ためには、設定ファイル「/etc/hosts」、DNSサーバ、NISサーバなどが利用されます。また、これらの参照先は設定ファイル「/etc/nsswitch.conf」の「hosts」項目で参照する順番が指定されています。もちろん、「hosts」項目で指定されていない参照先(の種類)は名前解決に使用されません。したがって、設定ファイル「/etc/resolv.conf」に利用するDNSサーバを記述しても、設定ファイル「/etc/nsswitch.conf」の「hosts」項目に「dns」が記述されていなければ、DNSサーバを利用して名前を解決できません。

【/etc/nsswitch.confの例】

passwd: compat
group: compat
shadow: compat

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis


5.netstat -a を実行したところ、実行結果の表示に時間がかかってしまった。この際、最も考えられる原因として適切なものを選択しなさい。

1. NFSサーバに問題がある
2. NISサーバに問題がある
3. DNSサーバに問題がある
4. ルーティング設定に問題がある
5. netstatデーモンがクラッシュした

正解:3

netstatコマンドは、ネットワークの接続状態や経路情報などを表示するためのコマンドです。netstatコマンドを使ってこれらの情報を表示する際、、リモート・ホストのIPアドレスをそのまま表示するか、ホスト名に変換してから表示するかを選択します。リモート・ホストのIPアドレスをそのまま表示する場合は、netstatコマンドに「-n」オプションを付けて実行します。本文では、「-n」オプションを付けずにnetstatコマンドが実行されています。このためnetstatコマンドは、ネットワークの状態を表示する前にリモート・ホストのIPアドレスをホスト名に変換しようと試みます。ここで、ローカル・ホストで利用されているDNS サーバに障害(サーバが停止しているなど)があると、netstat コマンドからDNSサーバへの要求がタイムアウトするまで、実行結果が表示に時間を要します。このような場合は、「-n」オプションを付けて netstatコマンドを実行すると良いでしょう。なお、カーネルキャッシュに情報がある場合はその限りではありません。


6.ポート番号とサービスの対応が記述されているファイルを選びなさい。

1. /etc/network
2. /etc/port
3. /etc/portno
4. /etc/protocol
5. /etc/services

正解:5

ネットワークで使用されているポート番号と、そのポート番号に対応したサービスは
/etc/servicesファイルに記述されています。


7.ネットワークサービスの分かりやすい名前と、それらのサービスに割り当てられたポート番号とプロトコルの種類の対応関係が記述された設定ファイルはどれか?

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などです。




8.デフォルトゲートウェイとして192.168.128.1を追加したい。必要なオプション、引数をつけてコマンドを記述せよ。

正解: route add default gw 192.168.128.1

routeコマンドを用いると、ルーティングテーブルを表示・設定できる。

■書式

route [add|del] パラメータ

routeコマンドはルーティングテーブルの表示や操作を行ないます。
ルーティングとは、複数のネットワーク間でデータが正しく届くように、データの通過する経路(ルート)を制御することで、そのための情報が記述されているのがルーティングテーブルです。routeコマンドを引数なしで実行すると、ルーティングテーブルが表示されます。これは、netstat -r と同じです。


9.アクティブなネットワークソケットなどの、ネットワークに関する情報を表示するために利用するコマンドはどれか?

1. nbtstat
2. umask
3. netstat
4. ldconfig
5. tracert

正解: 3

netstatコマンドを使うと、インターフェースごとのネットワークの状態、ルーティングテーブルなど、さまざまなネットワークの情報を表示することができます。オプションなしで実行すると現在のアクティブなソケットが表示されます。nbtstatやtracertはWindowsのコマンドです。


10.Linuxをルータとして利用する場合は、異なるネットワーク間でのパケット転送を許可する必要があります。許可されているかどうかチェックすべきファイルは何ですか?

正解: /proc/sys/net/ipv4/ip_forward

このファイルの値が、

1 -- パケット転送を許可
0 -- パケット転送をしない。

パケット転送を許可する場合は、次のようにして1を書き込みます。

echo 1 > /proc/sys/net/ipv4/ip_forward

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC 問題

システム管理(2)

1.Kent のアカウント「kent」は3つのグループに所属している。
活動するグループを group1 から group2 へ変更したい場合、どのコマンドを使えばよいか?

1.groupadd
2.addgroup
3.groupmod
4.chgroup
5.newgrp

正解:5

newgrp はログインセッション中に現在のグループ ID を変更するために用いられる。newgrpコマンドで、所属グループを変更することができます。もちろんその前にグループに参加しておく必要があります。引数を付けないでnewgrpコマンドを実行すると、そのユーザーのプライマリグループに変更されます。


2.rootで「useradd -D」を実行するとどうなるか?

1.rootユーザーを削除する
2.root以外のすべてのユーザーを削除する
3.rootと同じ権限をもったユーザーを作成する
4.ユーザー作成のデフォルト値を表示する

正解: 4

-D オプションは、ユーザー作成のデフォルト値を表示します。

root# useradd -D
 GROUP=100
 HOME=/home
 INACTIVE=-1
 EXPIRE=
 SHELL=/bin/bash
 SKEL=/etc/skel

この情報は、/etc/default/useraddにあります。また、他のオプションと組み合わせてデフォルト値の変更もできます。d オプションは、ユーザーのホームディレクトリを指定します。


3.ホームディレクトリを/home/hogeとして、lpicユーザーのアカウントを作成するコマンドは

正解: useradd -d /home/hoge lpic

4.現在、ファイル/etc/passwdにハッシュされたパスワードが記述されている。シャドウパスワードを利用できるようにするには、どのコマンドを実行すればよいか。

1.passwd -u
2.usermod -U
3.userdel user020
4.pwconv
5.pwunconv

正解:4

従来、パスワード情報は、ハッシュされたパスワードデータを/etc/passwdに記述していました。しかし、通常のコマンド実行のために、/etc/passwdは一般ユーザーにも読み取り可能な状態にしておく必要があります。昨今のコンピュータの処理能力の向上により、ハッシュされたパスワードであっても総当り方式によるパスワード解析が現実的なものとなってきました。そこで、/etc/passwdからパスワード情報を別のファイル/etc/shadowに移動し、一般ユーザーからは参照できないようにしました。この仕組み及び/etc/shadowに格納されたパスワードのことをシャドウパスワードといいます。

【シャドウパスワード関連コマンド】

pwconv: パスワードを/etc/passwdから/etc/shadowに移行する
pwunconv: パスワードを/etc/shadowから/etc/passwdに移行する
grpconv: グループパスワードを/etc/groupから/etc/gshadowに移行する
grpunconv: グループパスワードを/etc/gshadowから/etc/groupに移行する


5.bashを利用するユーザー全員に共通する設定を行うbashの設定ファイルであり、ログイン時に実行されるスクリプトはどれか?

1./etc/bash_login
2./etc/bash_profile
3./etc/.bashrc
4./etc/bash.conf
5./etc/profile

正解:5

/etc/profileはログイン時のみに実行されるスクリプトで、全bashユーザーに共通の設定を記述します。選択肢5.以外のファイルは存在しません。


6.「bash(対話型シェル)が起動される度に、全ユーザーのシェル変数を同一のものに設定したい。これを実現するためのファイルを選択しなさい。

1. /etc/bashrc
2. /etc/profile
3. /etc/skel/.bashrc
4. /etc/skel/.bash_profile
5. ~/.bash_profile

正解:1

Bash用の設定ファイルには、全ユーザー用と各ユーザー用の2種類が存在します。また、ユーザーがログインしたときに利用されるファイルと、Bashが起動される度に利用されるファイルの2種類が存在します。これらをあわせて、Bash用の設定ファイルは4種類存在することになります。このうち、シェル変数は、Bashが起動される度に利用されるファイルに記述します。また、本文では全ユーザー用のファイルが問われています。よって、正解は選択肢1のファイル「/etc/bashrc」になります。


7.local2ファシリティのシスログをXのコンソールに表示する。このとき、設定ファイル「syslog.conf」へ記述する内容を選択しなさい。

1. *.local2 /dev/console
2. *.local2 *
3. local2.* /dev/console
4. local2.* /dev/xconsole

正解:3

本文では、ファシリティに「local2」が指定されています。また、プライオリティは指定されていません。プライオリティを指定しない、すなわち定義されているプライオリティのすべてを指定する場合は、設定ファイルのプライオリティ項目に記号「*」を記述します。このほか、メッセージの出力先にXのコンソール画面が指定されています。コンソールに何かを表示するためには、プログラムの出力先にデバイス・ファイル「/dev/console」を指定します。よって、本文で問われている設定ファイルの記述内容は、次のようになります。

local2.* /dev/console

これで、ファシリティ「local2」に分類されるプログラムが発するメッセージは、すべてコンソール画面に表示されるようになります。ここで、Xのコンソール画面も通常のコンソール画面も、同じデバイス・ファイル「/dev/console」で表されることに注意して下さい(「/dev/xconsole」というデバイス・ファイルは存在しません)。


8.あるシェル・スクリプトを深夜に実行するため、cronを設定した。設定時刻が過ぎてからcronのログ・ファイルを参照したところ、「command not found」と記載されていた。このとき、問題を解決するためにとるべき対策として、下記から適当と思われるものを選択しなさい。ただし同時刻にバックアッププログラムも起動している。

1. シェルスクリプトに「PATH=/bin:/usr/bin:/usr/local/bin ; export PATH」と書く
2. シェルスクリプトに「mount -a」と書く
3. バックアップ・プログラムが動作中は実行できない。このため、cronを実行する時刻を変更する
4. 定時になったらユーザーにメールを送信するように設定し、メールを受け取ったユーザーが手動でシェルスクリプトを実行するようにする


正解:1

cronでシェル・スクリプトを実行する際、ファイル「~/.bash_profile」などで設定される環境変数は流用されません。したがって、シェル・スクリプトの実行に環境変数が必要となる場合は、シェル・スクリプトの最初で定義する必要があります。



9.crontabで、日時を設定するための項目の個数を記入しなさい。

1. 1
2. 3
3. 4
4. 5
5. 6

正解:4.5

cronは指定された時刻にプログラムを実行するためのデーモン・プログラムです。cronを利用した予約を設定するためには、次のようにcrontabコマンドを実行します。

# crontab -e

これにより、テキスト・エディタが開かれるので予約内容を記述します。予約内容は、予約 1つにつき1行で記述します。各行は予約時刻を指定する部分と、実行するコマンドを指定する部分で構成されています。また、予約時刻を指定する部分は次のように5個の部分で構成されています。

分> <時> <日> <月> <曜日>


10.dumpコマンドを適用できないファイルシステムを選択しなさい。

1./usr
2./tmp
3./var
4./proc
5./boot

正解:4

dumpコマンドとrestoreコマンドはデータをバック・アップするためのツールです。dumpコマンドの役目はデータを保存すること、restoreコマンドはdumpコマンドで保存したデータを復元することです。
/procディレクトリ以下のデータは、他ディレクトリ以下のデータと異なり、ハードディスクに保存されていません。/procディレクトリ以下のデータは、アクセスされたとき、Linuxカーネルによって生成されます(※1)。このため、dumpコマンドで/procファイルシステムのデータをバックアップすることは不可能です。

※1:/procディレクトリ以下のデータは、Linuxカーネルやプロセスの状態を表す情報が格納されています。


11.カレントディレクトリ以下の全内容をフロッピーディスクにバックアップするためのコマンドを選択しなさい。

1. tar cf /dev/fd0 .
2. tar cf . /dev/fd0
3. tar cf . /mnt/floppy
4. tar cf /mnt/floppy .
5. tar cf /dev/fd0 . /mnt/floppy

正解:1

tarコマンドはファイルのアーカイブや、アーカイブ・ファイルの展開に利用するプログラムです。tarコマンドで作成したアーカイブ・ファイルの拡張子は一般に「*.tar」となります。アーカイブ・ファイル「file.tar」を展開するためには次のようにtarコマンドを実行します。

$ tar xf file.tar

ここで、「x」オプションはtar形式のアーカイブ・ファイルからファイルを抜き出すためのオプションです。また、「f」オプションはファイル名を指定するためのオプションです。次に、ファイルをアーカイブする方法を紹介します。たとえば、カレント・ディレクトリにあるファイルをフロッピーディスクにアーカイブするためには、次のようにtarコマンドを実行します。ただし、フロッピーディスクはマウントしない状態で実行します。

$ tar cf /dev/fd0 .

ここで、「c」オプションはファイルをアーカイブするためのオプションです。


12.NTPを利用して時刻を設定した。このとき、現在の時刻を確認するためのコマンドを選択しなさい。

1. ntpdate
2. hwclock
3. ntpq
4. date

正解:4

PCの時計は2種類存在します。それは、システム・クロックとハードウェア・クロックです。本文では現在のシステム・クロックの時刻を確認するための方法が問われています。Linuxでは、システム・クロックの時刻を確認するためにdateコマンドを利用します。dateコマンドを引数なしで実行すると、システム・クロックの現在時刻が表示されます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC 問題

システム管理(1)

1./etc/groupのエントリの書式
seazonをグループ名、sugar、pepperをその所属ユーザーとするとき、/etc/groupのエントリとして正しいものはどれか。(passはxとする)

1.seazon:x:501:sugar,pepper
2.seazon:x:501:501:sugar,pepper
3.seazon: sugar,pepper
4.sugar,pepper:x:seazon
5.sugar,pepper:501:x:seazon

正解: 1

/etc/groupの構造は次のとおりです。

グループ名:パスワード:GID:所属ユーザー

シャドウパスワードを利用している場合は、パスワード欄に「x」が入り、パスワードは/etc/gshadowに格納されます。


2./etc/passwdファイルに設定されているアクセス権として適切なものはどれか?

1.666
2.644
3.700
4.400
5.600

正解:2

所有者(root)のみ読み書き可、それ以外のユーザーは読み取りのみのアクセス権が設定されます。
root以外のユーザーにも読み取り権限が与えられていないとログイン後の環境に支障が出ます。


3.ファイル「/etc/shadow」のパスワードに関する各種情報を表示、あるいは設定するのに最も適したコマンドを記入しなさい。

1. vi
2. emacs
3. usermod
4. chage

正解:4

ファイル「/etc/shadow」には、ハッシュされたユーザーのパスワードやパスワードの有効期限情報が格納されています。このうち、パスワードの有効期限情報を変更するためにはchageコマンドを利用します。


4./etc/skel についての説明で正しいものを選択しなさい。

1. シェルの初期化ファイル。シェルが起動する毎に実行される。
2. root以外のユーザーが、システムにログインすることを一時的に抑止するためのファイル。
3. ネットワーク経由でのログインを抑止するファイル。
4. 新規ユーザーアカウント作成時、/etc/skel以下の内容が再帰的に、そのユーザーのホームディレクトリに作成される

正解:4

一般ユーザーを新たに作成する際は、数多くの設定ファイルをユーザーのホーム・ディレクトリにコピーします。この作業は、作成するユーザー数が少なければ、それほど大変ではありません。しかし、数十から数百の一般ユーザーを一気に作成する場合などは大変な作業になります。このような場合に便利なのが/etc/skelディレクトリです。/etc/skelディレクトリには、一般ユーザーのホーム・ディレクトリにコピーしたいファイルやディレクトリを配置します。すると、一般ユーザーを作成する際、ユーザーのホーム・ディレクトリが作成された直後に、/etc/skelディレクトリ以下のデータがホーム・ディレクトリに自動でコピーされます。この際、コピーされたファイルの所有権は一般ユーザーのものに設定されます。この方法を利用すれば、多くの一般ユーザーを作成する場合でも手間がかかりません。
よって、本文の意図を満たすためには、/etc/skelディレクトリにbinディレクトリ(つまり/etc/skel/binディレクトリ)を作成すればよいことになります。


5.アカウントの有効期限を設定しようとしている。下線部に入るコマンドは何か?
   
# ________ -E 2008-12-31 user01


正解:chage

chage - ユーザパスワードの有効期限情報を変更する。※ changeではない!スペルに注意。
chageコマンドを利用すると、パスワードの有効期限や、パスワード変更に伴う日数制限を設定することができます。
-Eオプションは、アカウントの有効期限を指定します。


6.セキュリティを向上させるため、パスワード管理をシャドウパスワード方式に変更するためのコマンドを選択しなさい。

1. mkshadow
2. mkpasswd
3. pwconv
4. vipw

正解:3

Linux/UNIXシステムでは、ユーザーのパスワード情報は設定ファイル「/etc/passwd」に記述されていました。しかし、最近ではセキュリティを考慮して、パスワードのみ別のファイル「/etc/shadow」で管理するようになりました。このように、パスワードを別のファイル「/etc/shadow」で管理することをシャドウパスワード方式といいます。最近では、ほとんどのディストリビューションでシャドウパスワード方式が採用されています。しかし、何らかの理由でシャドウパスワード方式が導入されていないシステムを、シャドウパスワード方式に移行するためには、pwconvコマンドを利用します。シャドウパスワード方式が導入されてないシステムで、次のようにpwconvコマンドを実行すると、パスワードがファイル「/etc/shadow」に格納されるようになります。

# pwconv


7.ユーザーアカウント(システムへのログイン)を一時的に無効にするための方法を選択しなさい。

1. /etc/passwd内にある数字をすべて「0」にする
2. /etc/passwd内の第2フィールドを「*」にする
3. /etc/shadow内の末尾フィールドに「#」をつける
4. /etc/groupからユーザー名を削除する
5. /etc/gshadowからユーザー名を削除する

正解:2

ユーザーアカウントを一時的に無効にするためには、ファイル「/etc/passwd」のパスワード・フィールドに記号「*」を記述します。なお、「/etc/shadow」では、シェルを利用させないアカウントに対しては「*」ではなく「!!」をセットする方が一般的です。/etc/shadowをご確認ください。


8.ユーザーのログインを一時的に無効にするための方法を選択しなさい。

1. ファイル「/etc/nologin」にログインを無効にするユーザー名を記述する
2. ユーザーのIDを変更する
3. ユーザーのログインシェルを「/bin/false」に変更する
4. ファイル「/etc/passwd」からユーザー名を削除する
5. ファイル「/etc/passwd」のパスワードフィールドに「logout」と記述する

正解:3

ユーザーが一時的にログインできなくするためには、2つ方法があります。
1つは、ファイル「/etc/passwd」のパスワード・フィールドに記号「*」を記述する方法です。
もう1つは、ユーザーのログイン・シェルに/bin/falseコマンドを指定する方法です。/bin/falseコマンドは、実行されてもなにもせず終了値「1」を返すコマンドです。たとえば、ユーザー「miles」を一時的にログインできなくするためには、ファイル「/etc/passwd」でユーザー「miles」のログイン・シェルを「/bin/bash」から「/bin/false」に変更します。これで、ユーザー「miles」は一時的にログインできなくなります。
なお、ログイン・シェルの変更にはusermodコマンドも利用できます。usermodコマンドは次のように実行します。

# usermod <オプション> <ユーザー名(ログイン名)>

usermodコマンドには、ログイン・シェルを変更するための「-s」オプションがあります。「-s」オプションの後にログイン・シェル(コマンド名)を指定すれば、所望の結果を得られます。たとえば、ユーザー「miles」のログイン・シェルを/bin/falseに変更するためには、次のようにusermodコマンドを実行します。

# usermod -s /bin/false miles

これで、ファイル「/etc/passwd」を編集した場合と同じ結果を得られます。


9.studentユーザーがschoolグループに属していることを確認できるコマンドをすべて選択せよ。
1.grep school /etc/group
2.grep student /etc/passwd
3.id student
4.groups student

正解:1 , 3 , 4

# grep school /etc/group
school:x:501:root,student

※/etc/passwdファイルでは、プライマリグループのGIDしか分かりません。

# id student
uid=500(student) gid=500(student) 所属グループ=500(student),501(school)

# groups student
student : student school


10.自分が所属しているグループ名とグループIDを全て表示したい。どのコマンドを使うのが適切か?

1.id
2.groupmod
3.cat /etc/passwd
4.newgrp
5.modgrp -l

正解:1

idコマンドで、自分の所属するグループと、アクティブなグループを表示することができます。

hoge$ id
uid=1000(hoge) gid=1000(hoge) 所属グループ=20(dialout),24(cdrom),25(floppy),29(audio),44(video),46(plugdev),1000(hoge)

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC 問題

シェルとシェルスクリプト(1)

1.リダイレクト「>」によって、既存ファイルへの上書きを禁止するための方法を選択しなさい。

1. set -o noglob
2. set -o noclobber
3. set -o nooverwrite
4. set -o ignore

正解:2

既存のファイルにコマンドの実行結果を追記するために、リダイレクト記号「>>」を使ったつもりがリダイレクト記号「>」を使ってしまい、ファイルの内容を消してしまうことはよくあります。このようなことを防止するためには、シェルのオプション機能でリダイレクト機能を制限します。 シェルのオプション機能を利用するためには、次のようにsetコマンドを実行します。

$ set -o <オプション名> ← オプションのセット
$ set +o <オプション名> ← オプションの解除

本文の意図に沿うオプションは「noclobber」です。なお、オプションを解除するには「+o」オプションを指定します。


2.複数の引数を含めた特定のコマンドを何度も実行したい。これを容易に行うための方法として適切なものを選択しなさい。

1. シェルスクリプトを作成する
2. 関数を作成する
3. カーソルキー「↑」でヒストリを利用する
4. 「!」記号を利用する

正解:2

同じ組み合わせのコマンドを頻繁に実行する場合は、その組み合わせを関数として定義すると便利です。関数を定義するためにはfunctionコマンドを利用します。このコマンドの一般的な実行方法は次のとおりです。

$ function <関数名>() { <コマンドの組み合わせ>; }

 ここで、記号「{」のすぐ右には、空白が1つ必要です。たとえば、Debian GNU/LinuxやRed Hat Linuxで利用できるapt-getコマンドを使って、アップデート・パッケージをインストールする際は、次のような組み合わせでコマンドを実行します。

# apt-get update && ←(1)

# apt-get -yf upgrade ←(2)

(1)と(2)の内容を表す関数を作成すれば、コマンド入力が楽になるでしょう。


3.bashに於いて、aliasをセットするための正しいコマンドラインを選択しなさい。

1. alias rm=rm -i
2. alias rm="rm -i"
3. alias=rm "rm -i"
4. alias rm = "rm -i"
5. alias rm rm -i

正解:2

rmコマンドはファイルを削除するためのコマンドです。このコマンドをオプションなしで実行すると、ファイル削除の可否を確認するメッセージが表示されることなくファイルは削除されます。このとき、次のようにrmコマンドを実行すれば、削除されるファイルを確認しながら作業を進められます。

$ rm -i file.txt

しかし、rmコマンドを実行するたびに「-i」オプションを付けるのは面倒ですし、付け忘れることもあります。そこで、rmコマンドをタイプしたら自動的に「rm -i」コマンドが実行されるようになれば便利です。これを実現するのがシェル(ここではbash)のalias(別名)機能です。例えば、次のように aliasコマンドを実行すれば、rmコマンドをタイプすると自動的に「rm -i」コマンドが実行されるようになります。

alias rm="rm -i"

ここで、本当に「rm」コマンドの別名が「rm -i」となったかどうかを確認するためには、aliasコマンドを引数なしで実行します。すると、現在設定されている別名が一覧表示されます。


4.コマンド「$ cd ~miles」の意味として適切なものを選択しなさい。

1. ユーザー「miles」のホームディレクトリに移動する
2. 「~miles」という名前のディレクトリに移動する
3. システム・ディレクトリmilesに移動する
4. このような表現はない
5. ユーザー「miles」をコマンドオペレーターのホームディレクトリに移動させる

正解:1

Linuxのシェルで「~」記号はホームディレクトリを意味します。たとえば、ユーザー「miles」としてログインしている場合、「~」記号はユーザー「miles」のホーム・ディレクトリを表します。また、「~」記号とユーザー名を組み合わせると、指定したユーザーのホーム・ディレクトリを意味します。たとえば、ユーザー「davis」がコマンド「$ cd ~miles」を実行すると、ユーザー「miles」のホーム・ディレクトリに移動します。
もちろん、ユーザー「davis」がユーザー「miles」のホーム・ディレクトリを閲覧できるよう設定されている場合のみ、ユーザー「miles」のホーム・ディレクトリに移動できます。それ以外の場合は移動できません。たとえば、Red Hat Linux 7.3は、ユーザーのホーム・ディレクトリは所有者(つまりそのユーザー)のみ閲覧できるように初期設定されています。したがって、ユーザー「davis」は他のユーザー「miles」のホーム・ディレクトリに移動できません。

5.エラーが発生せず、正常にコマンドが実行できた直後に、

echo $?

を実行した時、表示される戻り値は何か?

正解: 0

【実行結果の返り値】

コマンドを実行すると、終了時にシェルに対して戻り値を返します。正常終了した場合は0、正常終了しなかった場合は0以外の値が返されますので、この戻り値を利用して、コマンドの実行が正常に終了したかどうかを判定することができます。戻り値は、特殊な変数$?に格納されます。

以下の例ではエラーが発生するため、戻り値が1になっています。

$ ls -l hoho
ls: そのようなファイルやディレクトリはありません
$ echo $?
1
 
シェルスクリプトでの特殊な変数
$? 実行結果の返り値~正常に終了すれば0、正常終了しなければ0以外の値が返される
$0 スクリプト名
$1 1番目の引数(以下、$2、$3、...)
$# 引数の数


6.「echo $?」を実行すると「1」が表示された。ここでキーボードの上矢印キーを押し、再度同じコマンドを実行した。実行結果として適当なものを選びなさい。

1. 「1」が表示される
2. 「0」が表示される
3. 「?」が表示される
4. 何も表示されない

正解:2

1度目の「echo $?」は正常に実行されていますから、$?には「0」が格納されます。再度「echo $?」を実行すると、「0」が表示されることになります。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

ドキュメント(2)

1.manページで、システム管理用のコマンドが収録されているセクション番号は?

正解:8

1 実行プログラムまたはシェルのコマンド
2 システムコール(カーネル提供の関数)
3 ライブラリコール(システムライブラリ提供の関数)
4 特殊なファイル
5 ファイルフォーマットと約束事
6 ゲーム
7 マクロのパッケージとその約束事
8 システム管理用のコマンド
9 カーネルルーチン


2.ユーザー「hoge」から、デフォルトのシェルを tcsh にしてほしいと要望があった。tcsh は /bin/tcsh にあるとするとき、要望を満たすコマンドはどれか?

1. usermod hoge -s /bin/tcsh
2. chmod -s /bin/tcsh hoge
3. usermod -s /bin/tcsh hoge
4. useradd hoge -s /bin/tcsh
5. chmod -u hoge -s /bin/tcsh

正解:3

「usermod -s シェル名 ユーザー名」でユーザーのシェルを変更できます。


3.mke2fs コマンドのマニュアルページのファイルがどこにあるのか知りたい場合、
どのコマンドを用いればよいか?

1. which mke2fs
2. whereis mke2fs
3. whatis mke2fs
4. apropos mke2fs

正解:2

whereis mke2fs を実行すると、次のようになります。

mke2fs: /sbin/mke2fs /usr/share/man/man8/mke2fs.8.gz

which --コマンドの所在のパス。
whereis -- コマンドとマニュアルページの場所。
whatis, apropos は、コマンドの簡潔な解説。

4.以下の検索コマンドで、あらかじめ作成された検索データベースを利用して、ファイルやコマンドマニュアルの検索を行うコマンドはどれか?

1. which
2. whatis
3. find
4. locate
5. apropos

正解:2 , 4 , 5

locateはlocateデータベースを利用します。whatisとaproposはwhatisデータベースを利用して検索を行います。whichは変数PATHに基づいてコマンドを検索し、findは実行ごとに指定されたディレクトリをすべて検索します。whatis と apropos の違いは、検索に指定するキーワードと完全一致するか、部分一致するか、です。


5./usr/doc 以下などにあるドキュメントの多くを提供している団体は以下のどれか?

よく利用されるドキュメントとしては、次のようなものがあげられる。

The Linux Users' Guide
The Linux System Administrators' Guide
The Linux Programmers' Guide

1. LDP (Linux Documentation Project)
2. GNU
3. comp.os.linux
4. BUGTRAQ
5. CERT/CC

正解:1

LDP (Linux Documentation Project)はLinux向けの優れたドキュメント類を作成しています。

comp.os.linux はネットニュース。
BUGTRAQ はメーリングリスト。
CERT/CC はセキュリティ。


6.コンソールからログインする際(ログイン・プロンプトが表示される前)に表示する内容を記述するための設定ファイルを選択しなさい。

1. /etc/motd
2. /etc/local.banner
3. /etc/issue
4. /etc/issue.net
5. /etc/syslog.conf

正解:3

Linuxシステムのコンソール画面には、テキスト・ベースのログイン画面が表示されます。たとえば、Red Hat Linux 7.3で運用されているシステムでは、コンソール画面にディストリビューション名などが表示されます。この表示内容は、設定ファイル「/etc/issue」に記述されています。たとえば、例にあげたシステムの設定ファイル「/etc/issue」をみると、の表示内容が記述されていることがわかります。したがって、コンソールに表示するログイン画面の内容は設定ファイル「/etc/issue」を編集することで変更できます。しかし、コンソールに表示するログイン画面の内容を変更する機会はほとんどありません。なお、リモート・ホストからログインするユーザーに対して表示されるログイン画面の内容は、別の設定ファイル「/etc/issue.net」に記述されています。


7.Linuxが動作しているコンソールに表示されるログインプロントに、現在システムにログインしているユーザ数を表示したい。設定を記述するファイルとして正しいものを選びなさい。

1. /etc/login.defs
2. /etc/issue
3. /etc/issue.net
4. /etc/motd
5. /var/run/utmp

正解: 2

/etc/issueは、ログインプロンプトを表示させるgettyが読み込みます。gettyにはいくつかの実装がありますが、Linuxではmingettyが使用されることが多いようです。ネットワーク経由でのログインの場合には/etc/issue.netが使用されるので、ログイン経路によって表示を変えることができます。
/etc/issueには、文字列の他に、システムから取得した情報を表示するためのエスケープコードが記述できます。問題のようにユーザ数を表示したい場合には「\u」を記述します。
/etc/login.defsは、シャドウパスワードの動作を定義します。
/etc/motdは、ログインが成功した後にユーザのコンソールに対して表示されます。
/var/run/utmpは、現在システムにログインしているユーザの情報が記録されています。wコマンドやwhoコマンドなどはこのファイルを参照しています。

8.リモート・ホストのユーザーが、ローカル・ホストにtelnetでログインする。このとき、ユーザーに表示する内容を収めるための設定ファイルを選択しなさい。

1. /etc/motd
2. /etc/issue
3. /etc/issue.net
4. /etc/net.banner

正解:3

telnetコマンドを使ってリモート・ホストにログインする際、ログイン・プロンプトが表示される前にメッセージが表示されることがあります。例えば、Red Hat Linux 7.3で運用されているリモート・ホストにtelnetコマンドで接続すると、ディストリビューション名「Red Hat Linux release 7.3 (Valhalla)」やカーネルのバージョン「Kernel 2.4.18-3 on an i686」が表示されます。この表示内容が記述されているのが設定ファイル「/etc/issue.net」です。例に挙げたシステムの設定ファイル「/etc/issue.net」をみると、telnetコマンドでログインした際に表示されたメッセージが記述されています。


9.ユーザーがログインを完了した後に表示するメッセージを設定するには、どのファイルにメッセージを記述すればよいか?

1. /etc/skel
2. /etc/issue
3. /etc/inittab
4. /etc/issue.net
5. /etc/motd

正解:5

/etc/motdに記述したメッセージは、ユーザーのログイン完了後に表示されます。
motdは、Message Of The Dayの略です。/etc/issueもしくは/etc/issue.netは、ログイン前に表示されます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

ドキュメント(1)

1.manコマンドについて以下の設問に答えよ

セクション5のinfoについてのマニュアルを参照する

正解: man 5 info

マッチしたすべてのページを表示するオプション

正解: man -a

manページを表示する代わりにmanページの格納場所を表示する。

正解: man -w

2.FHSでは、manマニュアルが保存されるディレクトリとして、どのディレクトリが指定されているか? 適切なものを選択しなさい。

1. /usr/share/man
2. /usr/local/man
3. /usr/opt/man
4. /var/pkg/man
5. /usr/doc

正解:1

Linuxシステムでは、ファイルの保存場所はその内容によって決まっています。たとえば、/usr/shareディレクトリには、システム内外のユーザーによって共有されるファイルが保存されます。
/usr/share/man ディレクトリには、コマンドやファイルに関する man マニュアルが保存されています。


3.manマニュアルに記載されていない内容を選択しなさい。

1. ユーザー用のプログラム
2. システム管理用のプログラム
3. 設定ファイル(記述様式など)
4. ライブラリ
5. システムの管理ポリシー

正解:5

Linuxでは、コマンドや設定ファイルなどに関するマニュアルを利用できます。これらのマニュアルはmanマニュアルと呼ばれ、manコマンドを利用して閲覧できます。manマニュアルは、その内容によって複数のジャンルに分類されています。manマニュアルのジャンルは「セクション」と呼ばれ、数字で分類されています。manマニュアルにはシステム管理ポリシーに関するものは含まれていません。よって正解は選択肢5になります。manマニュアルを閲覧するためには、次のようにmanコマンドを実行します。

$ man <コマンド名やファイル名>


4.bashに関するmanマニュアルのパスを検索する方法を選択しなさい。

1. man bash
2. which bash
3. apropos bash
4. whereis bash
5. where bash

正解:4

あるコマンド(プログラム)に関するmanマニュアルのパスを検索するためには、whereisコマンドを利用します。whereisコマンドは、コマンドのフル・パスやmanマニュアルのパスを検索し表示するためのコマンドです。たとえば、bashプログラムのフルパスとmanマニュアルのパスを表示するためには、次のようにwhereisコマンドを実行します。

$ whereis bash

bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

これにより、bashプログラムの実行ファイル名が「/bin/bash」で、manマニュアルのファイル名が「/usr/share/man/man1/bash.1.gz」であることがわかります。ここで、存在しないコマンドが指定された場合は、指定された文字列のみが表示されます。このほか、whereisコマンドに用意されているオプションを利用すれば、コマンドのパスやmanマニュアルのパスのみを表示できます。


5.コマンド man 5 passwd を実行した時の結果として適切なものを選びなさい。

1. passwdコマンドのマニュアルページが表示される
2. passwdコマンドの簡単なヘルプが表示される
3. /etc/passwdのマニュアルページが表示される
4. /etc/passwdの簡単なヘルプが表示される

正解:3

manコマンドは、オンラインマニュアルを表示します。manコマンドでは、コマンドの直前にセクションを指定することができます。

■書式 man [セクション] コマンド名

この問題の場合、セクションは 5 が指定されているため、passwd コマンドではなく、/etc/passwd ファイルのマニュアルが表示されます。passwdコマンドのマニュアルを表示するには、
man 1 passwd
とします。

【セクション】

セクション 内容
1 一般コマンド(ユーザーコマンド)
2 システムコール
3 ライブラリ関数
4    デバイス(特殊ファイル)
5 ファイル形式
6 ゲーム
7 その他(マクロパッケージなど)
8 システム管理コマンド
9 Linux独自のカーネルルーチン


6./usr/share/docディレクトリに保存されているファイルの種類を選択しなさい。

1. HTMLファイル化されたmanマニュアル
2. インストール済みパッケージのmanマニュアル
3. ドキュメントを閲覧するためのプログラム
4. ユーザーが作成したドキュメント
5. インストール済みパッケージの補足情報

正解:5

Linuxシステムでは、ファイルの保存場所はその内容によって決まっています。たとえば、/usr/shareディレクトリには、システム内外のユーザーによって共有されるファイルが保存されます。そのうち、/usr/share/docディレクトリには、システムにインストールされているソフトウェア(rpmパッケージ)に関する文書が保存されています。例えば、Red Hat Linux 7.3の/usr/share/doc/apache-1.3.23ディレクトリには、Webサーバ・ソフトApacheの「README」ファイルなどが保存されています。


7.オンラインマニュアル中でコマンド書式を説明しているセクションを選択しなさい。

1. DESCRIPTION
2. OPTIONS
3. SEE ALSO
4. SYNOPSIS

正解:4

Linuxシステムにはコマンドの使用方法や設定ファイルの記述書式についての説明など、詳細なオンラインマニュアルが付属しています。このマニュアルを有効活用することで、さらにLinuxシステムへの理解を深めることができるでしょう。オンラインマニュアルはmanコマンドによって読むことが出来ます。

man <コマンド名、設定ファイル名など>

$ man man

※LANG環境変数をCにしておいた方がよいでしょう(英語で表示させるためには)。逆に日本語が使用できる環境であれば、export LANG=ja_JP.UTF-8 などを実行することにより日本語表示にしましょう。マニュアルの記載フォームは規則性が保たれており、おおむね以下の書式に基づいて作成されます。質問本文のコマンド書式に関しては「SYNOPSIS」のセクションに記載されます。

8.コマンドのフルパスとマニュアルの保存場所を表示したい。
このとき、実行するコマンドとして適切なものを選択しなさい。

1. whereis
2. which
3. echo $PATH
4. search
5. slocate

正解:1

コマンドのフルパスとマニュアルの保存場所などを表示するためには、次のようにwhereisコマンドを実行します。

$ whereis <コマンド名>

例えば、lsコマンドのフルパスやマニュアルの保存場所を表示するためには、次のようにwhereisコマンドを実行します。

$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz

すると、lsコマンドのフルパスが「/bin/ls」で、マニュアルの保存場所が /usr/share/man/man1ディレクトリであることがわかります(マニュアルのファイル名は「ls.1.gz」)。whereisコマンドにはオプションが用意されていて、これらを使えばコマンドのフルパスのみを表示できたり、マニュアルの保存場所のみを表示できたりします。


9.コマンドの一部にabcという文字が含まれていることがわかっている場合に、このコマンドを思い出すには次のどれを実行するのが望ましいか?

(適切なものを全て選択)

1. apropos abc
2. whatis abc
3. man -k abc
4. man -f abc
5. which abc

正解:1 , 3

aproposコマンドはキーワードに基づいて部分一致で検索します。一方、whatisコマンドは完全一致で検索します。いずれも同じデータベースファイル(/var/cache/man/whatisなど)を使って検索します。
データベースは、マニュアルの一行説明が格納されたテキストファイルです。


10.文字列「copy」を含むmanマニュアルを検索する方法を選択しなさい。

1. man copy
2. mandb copy
3. whatis copy
4. apropos copy
5. grep 'copy' /usr/doc/*

正解:4

manマニュアルを表示するためには、manコマンドにコマンド名やファイル名を指定し実行します。この際、指定すべきコマンド名などがわかっていればよいのですが、指定すべきコマンド名やファイルが不明な場合は困ります。このような場合、manコマンドまたはaproposコマンドを利用すれば、検索キーワードを基にmanマニュアルを検索できます。 manコマンドおよびaproposコマンドは、次のように実行します。

$ man -k <検索キーワード>
$ apropos <検索キーワード>

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

印刷(1)

1.印刷に関する以下の設問を答えよ

すべてのプリンタの印刷処理を開始するコマンド

正解:lpc start all

プリントキューの内容を表示するコマンド

正解:lpq

指定したプリンタのプリンタキューの内容を表示する

正解:lpq -P プリンタ名

Linuxで印刷サービスを提供するデーモンは、①です。①を制御するコマンドは、②です。

正解:①lpdlpc

印刷ジョブをプリントキューに送るコマンドは?

正解:lpr

test.txtファイルをprというプリンタのプリントキューに送るコマンドは

正解:lpr -Ppr text.txt

2.印刷ジョブを印刷キューから削除するためのコマンドを選択しなさい。

1. lpr
2. lpq
3. lprm
4. lpd
5. lpc

正解:3

lpqは印刷待ち状態の文書を確認するためのコマンドです。印刷ジョブには、すべて番号がつけられています(これをジョブ番号という)。lpqコマンドを使えば、印刷待ち状態にある印刷ジョブの番号や、印刷される順番などを確認できます。印刷ジョブを削除するためには、まずlpqコマンドを実行し削除したい印刷ジョブの番号を確認します。次に、コマンドの引数にジョブ番号を指定して lprmコマンドを実行します。たとえば、ジョブ番号5番の印刷ジョブを削除するためには、次のようにlprmコマンドを実行します。

$ lprm 5

もちろん、削除できる印刷ジョブは自分がlprコマンドで開始したものに限られます。lprはファイルを印刷するためのコマンドです。lpcは対話的にプリンタを操作するためのコマンドです。lpdは、lprコマンドによる印刷要求の受け付けなどを処理するデーモン・プログラムです。


3. cat hosts | lpr -#3
を実行した。この実行内容として適切なものを選択しなさい。

1. hostsをSTDINにしてプリントジョブ3番に入れる
2. ラインプリンタに出力し、3番目のプリンタに指定する
3. ファイル「hosts」を標準出力し、プリンタの第3トレイに出力する
4. hostsを3番目のプリンタのスプールに入れる
5. hostsをデフォルトのプリンタに3回出力する

正解:5

lprはファイルを印刷するためのコマンドです。lprコマンドは次のように実行します。

$ lpr <オプション> <ファイル名>

 ここで、「オプション」の部分には「-P」オプションと「-#」オプションがよく指定されます。「-P」オプションは出力するプリンタ名を指定するためのオプションです。「-#」オプションは印刷物の部数(数字)を指定するためのオプションです。たとえば、プリンタ「lp1」にファイル「hosts」を3部印刷する場合は、次のようにlprコマンドを実行します。

$ lpr -Plp1 -#3 hosts

本文では、lprコマンドの引数に印刷物のファイル名が指定されていません。しかし、catコマンドを用いることで、ファイル「hosts」の内容は標準出力でlprコマンドに渡されています。したがって、正解は選択肢5になります。

4.lpdの設定ファイルをフルパスで記載しなさい。

正解:/etc/printcap

5. /etc/printcapにはプリンタドライバの格納場所は記述されているか?

正解:記述されていない。

/etc/printcapファイルの設定項目
sd スプールディレクトリ
sh この項目を記述すると、ファイルのヘッダーページが印刷されない。
mx 印刷ジョブの最大サイズ(kB単位)
lp ローカルプリンタのデバイスファイル名


6.テキスト・ファイル「file.txt」をプリンタ「lplaser」に出力するコマンドを選択しなさい。

1. lpr -Plplaser file.txt
2. cat file.txt > /dev/lplaser
3. lpr --queue lplaser < file.txt
4. cp file.txt /var/spool/lplaser
5. print -lplaser file.txt

正解:1

本文では、ファイルを印刷するためのプログラムlprコマンドの使用方法が問われています。lprコマンドは次のように実行します。

$ lpr <オプション> <ファイル名>

lpr コマンドでは「-P」オプションと「-#」オプションがよく使用されます。「-P」オプションは紙を打ち出すプリンタの名称を指定するためのもので、「-#」オプションは印刷部数を指定するためのものです。


7.設定ファイル「hosts.lpd」の役割を選択しなさい

1. リモート・プリンタの一覧表
2. ローカル・プリンタの一覧表
3. プリンタを使用できるユーザーの一覧表
4. プリンタを使用できるホストの一覧表

正解:4

リモート・ホストからの出力を受け付けるためには、設定ファイル「/etc/hosts.lpd」に出力を許可するリモート・ホストのホスト名またはIPアドレスを記述します。ここで、ホスト名やIPアドレスは各行に1つ記述します。


8.設定ファイル「/etc/printcap」で、リモート・プリンタ「jet7」を指定するための記述方法を選択しなさい。

1. lp=jet7
2. rp=jet7
3. rq=jet7
4. qn=jet7
5. |jet7|

正解:2

プリンタの設定ファイル「/etc/printcap」には、1台のプリンタにつき1行で設定内容を記述します。この設定ファイルでは、プリンタに割り当てられているデバイス・ファイル名や、印刷待ちの文書を待機させる(スプールする)ディレクトリ名などを指定します。本文では、ホスト名「jet7」のリモート・プリンタを指定する方法が問われています。リモート・プリンタを利用するためには、設定ファイルで「rp」項目にリモート・プリンタのホスト名を記述します。したがって、正解は選択肢2になります。なお、Red Hat Linux 7.3では、設定ファイル「/etc/printcap」はプリンタの設定ツールが生成することになっています。このため、プリンタの設定を手動で記述する場合は、別の設定ファイル「/etc/printcap.local」に記述する必要があります。

テーマ : UNIX/Linux
ジャンル : コンピュータ

起動、シャトダウン、ランレベル(1)

1.デフォルトのランレベルの設定が記述されているファイルのフルパスを記述せよ。

正解: /etc/inittab

/etc/inittabは、initプロセスの設定ファイル。カーネルが起動すると、最初のプロセスとしてinitを開始し、initがそれ以後すべてのプロセスを順に起動していきます。
デフォルトのランレベルを設定するには、以下の行の数値部分を変更します。

id:5:initdefault:

主なランレベル(RedHat系)

0 -- システム停止
1 -- シングルユーザーモード
3 -- マルチユーザーモード(CUIログイン)
5 -- マルチユーザーモード(GUIログイン)
6 -- 再起動

2.起動中にカーネルが出力するメッセージを、システムが起動したあとで表示したい場合に役立つコマンドはどれか?

1.dmesg
2./sbin/lilo
3.less /var/log/messages
4.ldconfig
5.initrd

正解:1,3

dmesgコマンドを使うと、起動時のカーネルメッセージを確認できます。(カーネル起動後のメッセージは含まれません)。
また、/var/log/messagesでも起動時のログを見ることができます。
/sbin/liloはLILOのインストールコマンド、ldconfigは共有ライブラリキャッシュの再構築コマンド、initrdは起動時に利用される初期RAMディスクです。


3./etc/lilo.conf の imageセクションでは何を指定するか?もっとも適切なものを選択せよ。

1.ルートファイルシステムのデバイスファイル
2.lilo コマンドのパス
3.読み込む Linux カーネルイメージのパス
4.LILO が作成したマップファイル
5.拡張したメモリの指定

正解:3

image = /boot/vmlinuz-2.2.19-1
という形で、カーネルイメージを指定します。


4.システムを再起動することのできるコマンドをすべて選択せよ。

1. reboot
2. shutdown
3. restart
4. init
5. inittab

正解: 1 , 2 , 4

以下のいずれのやり方でも、システムを再起動できます。

# reboot

# shutdown -r now

# init 6

initコマンドはランレベルを変更します。ランレベル6は再起動なので、6にランレベルを移行させるとシステムは再起動します。


5.#shutdown -Fh now としてシャットダウンしたとき、どのような動作が行われるか?

1. 強制的にシャットダウンを行う
2. シャットダウン時に自動電源切断を行わない
3. 次回起動時に fsck を行う
4. 次回起動時に fsck を行わない

正解: 3

-F : 次回起動時に強制的にファイルシステムをチェックする
-f : 次回起動時に fsck をスキップする
-h : 通常のシャットダウン
-k : シャットダウンしないが、ユーザーに警告を出す
-r : 再起動する

-f と -F がややこしいので、間違えないようにしましょう。


6.Linuxシステムを安全にメンテナンスするための方法を選択しなさい。

1. telinit 1
2. shutdown -r now
3. killall -9 inetd
4. /bin/netstop -maint
5. /etc/rc.d/init.d/network stop

正解:1

Linuxにはランレベルと呼ばれるものがあります。ランレベルは、システムの状態を表すもので数字で分類されます。このうち、ランレベル「1」はシングルユーザー・モードを表します。シングルユーザー・モードは、1つのrootユーザーしかシステムにログインできない状態です。つまり、シングルユーザー・モードでは、一般ユーザーや他のrootユーザーがログインしていなことが保証されるのです。このため、シングルユーザー・モードでは、他のユーザーによって実行されるプロセスがメンテナンス作業に悪影響を与えることがありません。したがって、システムを安全にメンテナンスするためには、システムをシングルユーザー・モードにすることが肝要です。システムのランレベルを変更するためには、telinitコマンドまたはinitコマンドを利用します。これらのコマンドは、ランレベルを表す数字を引数にして実行します。

# telinit <数字>

# init <数字>

 シングルユーザー・モードを表す数字は「1」ですから、所望の結果を得るためには次のようにコマンドを実行します。

# telinit 1

# init 1

 ここで、数字「1」の代わりに記号「s」または「S」を指定しても、システムはシングルユーザー・モードに移行します。


7.以下のランレベルと機能について、組合せが誤っているものを全て選択せよ。

1. 0: システム再起動
2. 1: シングルユーザーモード
3. 2: マルチユーザーモード
4. 3: マルチユーザーモード、NFS不使用
5. 5: GUIログインのマルチユーザーモード
6. 6: システム停止

正解:1 , 4 , 6

正しくは、以下のとおりです。

1. 0: システム停止
2. 1: シングルユーザーモード
3. 2: マルチユーザーモード
4. 3: マルチユーザーモード、NFS使用
5. 5: GUIログインのマルチユーザーモード
6. 6: システム再起動


8.runlevel コマンドを使うと、'N 3' と表示された。
これはどういう意味か?(適切なものをすべて選択)

1. 現在のランレベルは3である。
2. 設定されているデフォルトのランレベルは3である。
3. ランレベルの設定が異常である。
4. 移行できるランレベルは3のみである。
5. 3以外のランレベルに移行できる。

正解:1

runlevel コマンドを使うと、現在及び一つ前のランレベルを表示させることができます。一つ前のランレベルが存在しない場合は、代わりに N という文字を表示します。ログイン直後はたいてい'N 3' になっていると思います。グラフィカルログインした場合は'N 5' となります。
現在設定されているデフォルトのランレベルは、/etc/inittab で確認することができます。

id:3:initdefault:

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

カーネル(3)

1.古いLinuxカーネルを上書きする形でLinuxカーネルを最新版にアップグレードした。しかし、アップグレード後にマシンを再起動すると、Linuxが起動しなくなった。この際、もっとも考えられる原因を選択しなさい。

1. /etc/lilo.confの内容を変更していない
2. MBRにLILOをインストールする前に再起動した
3. リストア用に古いカーネルのイメージファイルを保存したFDを作成していなかった
4. 古いカーネルを新しいLinuxカーネルで上書きしてしまった

正解:2

ブートローダLILOを使用している場合、再構築したカーネルを利用するためには次の作業が必要になります。
まず、Linuxカーネルのファイル名などを変更した場合、LILOの設定ファイル「etc/lilo.conf」の内容を新しいLinuxカーネルに合わせたものに変更します。
次に、/sbin/liloコマンドを実行します。実行された/sbin/liloコマンドは、設定ファイル「/etc/lilo.conf」を参照し、設定ファイルで指定された場所(MBR、ブート・パーティションの先頭など)に起動用のプログラムをコピーします。
この一連の作業をしないと再起動後にLinuxは起動しなくなります。
問題文は、旧カーネルを上書きしたとありますので、ファイル名や保存場所(ディレクトリ名)は変更されていません。したがって、設定ファイル「/etc/lilo.conf」の内容を変更する必要はありません。


2.カーネルを構築する前に、機能を選択(コンフィグレーション)するためのコマンドを選択しなさい。

1. ./config
2. ./configure
3. make config
4. make configure

正解:3

make configコマンドはCUIの対話的なプログラムです。このプログラムでは、画面に表示されるメッセージに沿って、組み込む機能を対話的に選択していきます。
make menuconfigコマンドは、テキスト・ベースのプログラムです。このプログラムでは、主にカーソル・キーを使って組み込む機能を選択します。
make xconfigコマンドは、GUIのプログラムです。X上に表示される設定画面で、主にマウスを使って組み込む機能を選択します。どの設定ツールも一長一短ですが、コンソールやターミナルではmake menuconfigコマンドが、X上ではmake xconfigコマンドがよく使われています。選択肢にはmake menuconfigコマンドもmake xconfigコマンドもありません。したがって、正解はmake configコマンドです。


3.カーネルを再構築する際、カーネルサイズが大きくなる場合に使用するコマンドを選択しなさい。

1. make zdisk
2. make zImage
3. make bzImage
4. make gzImage

正解:3

この場合、イメージ・ファイル「zImage」は512KB以下のサイズになる必要があります。圧縮イメージ・ファイルのサイズがこれを越える場合は、カーネルをイメージ・ファイル「bzImage」として作成します。その方法は次のとおりです。
$ make bzImage


4.カーネルを再構築したあとにシステムを再起動した。ところが、Linuxの起動時に「Can't find modules」と表示される。この原因として適切なものを選択しなさい。

1. モジュールがインストールされていない
2. モジュールが不適切なディレクトリにインストールされている
3. ローダブル・モジュールの機能が無効になっている
4. 再起動する前にdepmodコマンドを実行していない

正解:1

カーネル・モジュールは
make modules_install
コマンドにより、/lib/modules/<カーネルのバージョン番号>ディレクトリ以下にインストール(コピー)されます。仮に、make modules_installコマンドを実行せずに、すなわちモジュールをインストールしないでマシンを再起動すると、画面に「Can't find modules」というエラー・メッセージが表示されます。これは、Linux カーネルがモジュールをロードしようと試みているが、モジュールを発見できないということを表しています。なお、make modules_install コマンドを実行して、モジュールが誤った場所にコピーされることはありません。また、モジュールを利用するためにはLinuxカーネルでローダブル・モジュール機能を有効にしておく必要がありますが、この機能が無効になっていれば「Can't find modules」というメッセージは表示されません。このほか、depmodコマンドはモジュールの依存関係情報を生成するためのコマンドで、本文とは関係ありません。


5.カーネルの設定に関するコマンドを答えよ

シンプルな対話形式でカーネルの設定を行なう

正解:make config

カラーテキスト形式で見やすく、カーソルキーも使える。

正解: make menuconfig

GUIベース。Xが利用できる環境で使用する。

正解: make xconfig

古い設定をそのまま使う

正解: make oldconfig

6.カーネルにする以下の問題を答えよ

カーネルソースが格納されているディレクトリは?

正解: /usr/src/linux

カーネルのバージョンが2.4.3-12の場合、カーネルモジュールはどこに配置されるか?

正解: /lib/modules/2.4.3-12

カーネルのバージョンを確認するコマンドは?

正解: uname -r

カーネルイメージを作成するコマンドは?

正解: make zImage

前回のコンパイル時に生成されたファイルのうち、不要なものを削除するコマンドは?

正解: make clean

モジュールの再構築後に依存関係を更新するコマンドは?

正解: depmode

カーネルモジュールを作成するコマンドは?

正解: make modules

作成したカーネルモジュールをインストールするコマンドは?

正解: make modules_install

カーネルソースとヘッダファイルの依存関係をチェックするコマンドは?

正解: make dep

カーネル再構築において、カーネル設定を初期化し、不要なファイルを削除するコマンドは?

正解: make mrproper

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX

カーネル(2)

1.カーネルに関する説明として適切なものを選びなさい。

1.ユーザーが入力したコマンドの解釈などを行ない、デフォルトではbashが使用される。
2.ハードウェアやプロセスなどの管理を行なう、OSの核にあたる機能を提供する。
3.BIOSの起動後に、Linuxをブートさせる機能を提供する。
4.デバイスドライバなどの追加機能を必要に応じて動的に組み込む機能である。
5.Linuxで提供されている標準のGUI環境のことである。

正解: 2

1-- シェルに関する説明です。
3-- ブートローダに関する説明です。
4-- ローダブルモジュールに関する説明です。
5-- X Window Systemに関する説明です。


2.モジュールのエイリアスや、モジュールをロードするときのオプションなどを定義するファイルを選択しなさい。

1. /etc/motd
2. /etc/conf.modules
3. /etc/modules.dep
4. /etc/module.conf

正解:2

モジュールをロードするためのmodprobeコマンドは、ファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」や「/etc/conf.modules」を読み込みます。ファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」にはモジュール間の依存関係が記述されています。また、ファイル「/etc/conf.modules」にはモジュールの別名(エイリアス)やロード時のオプションが記述されています。


3. 2.4カーネルでモジュールをロードする方法を選択しなさい。

1. rmmod
2. kmod
3. vi /proc/modules
4. modinfo
5. modprobe


正解:5

Linuxカーネルのモジュール(ファイル)は、/lib/modules/<カーネルのバージョン番号>ディレクトリ以下に格納されています(*1)。これらのモジュールを利用(ロード)するためには、insmodコマンドまたはmodprobeコマンドを利用します。modprobeコマンドは、ファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」や「/etc/modules.conf」を読み込み、モジュール間の依存関係を解消しながら、指定されたモジュールをロードします。つまり、指定されたモジュールが他のモジュールも必要としていたら、他のモジュールも一緒にロードするのです。一方のinsmodコマンドは、指定されたモジュールのみをロードします。指定されたモジュールが他のモジュールに依存する場合、モジュールのロードは失敗します。


4.あるプログラムを実行するために必要なライブラリを調べたい。ライブラリを調べるために実行するコマンドを選択しなさい。

1. ldconfig
2. ldd
3. dll
4. libexec

正解:2

プログラムは実行時にライブラリを読み込みます(スタティック・コンパイルされたプログラムは除く)。本文では、そのようなライブラリを確認するための方法が問われています。ldconfigコマンドは、ライブラリが正しくロードされるようにするためのコマンドです(1 は不正解)。ライブラリを新たに追加した場合、まずldconfigコマンドの設定ファイル「/etc/ld.so.conf」にライブラリが格納されているディレクトリ名を記述します。その後、ldconfigコマンドを実行すると、追加したライブラリがプログラムによってロードされるようになります。なお、設定ファイル「/etc/ld.so.conf」を使わず、

# ldconfig -n <ディレクトリ名>

と実行しても同じです。lddコマンドは、プログラムが依存するライブラリを確認するためのコマンドです。
よって正解は2です。


5.他のモジュールとの依存関係を考慮してモジュールをロードするコマンドは?

正解:modprobe

■オプション
-a -- 指定したモジュール名にマッチしたすべてのモジュールをロードする。
-r -- 依存関係を考慮してモジュールをアンロードする。
-l -- ロードできるすべてのモジュールのファイル名を表示する。

insmodやrmmodは、他のモジュールとの依存関係を考慮しません。一方、modprobeは依存関係にあるモジュールもロード・アンロードするため、通常はmodprobeを使用すると便利です。


6.自動的にカーネル・モジュールがロードされるように設定したい。このとき、編集する設定ファイルを選択しなさい。

1. /etc/conf.modules
2. /etc/sysconfig
3. /boot/module.info
4. /boot/System.map

正解:1

Linuxにはカーネル・モジュールを自動的にロードする機能が備わっています。たとえば、ユーザーがハードウェアのドライバ(モジュール)を必要とするプログラムを実行すると、まず、Linuxカーネルはモジュールをロードするためにmodprobeコマンドを実行します。次に、Linuxカーネルによって実行されたmodprobeコマンドは、設定ファイル「/etc/conf.modules」やファイル「/lib/modules/<カーネルのバージョン番号>/modules.dep」を参照し、ハードウェアを利用するために必要なモジュールをリストアップし、それらをメモリにロードします。ファイル「modules.dep」には、モジュールの依存関係情報が格納されるています。このファイルはシステムの起動毎にdepmodコマンドによって生成されため、通常、ユーザーが編集する必要はありません。したがって、モジュールの自動ロード機能を設定するために、ユーザーが編集すべき設定ファイルは「/etc/conf.modules」となります。なお、カーネル2.2では設定ファイル「/etc/conf.modules」が利用されていますが、カーネル2.4では設定ファイル「/etc/modules.conf」が利用されています。両者の役割と書式はまったく同じです。


7.depmod コマンドに関する説明として適切なものを選びなさい。

1.ロードするモジュールと依存関係にあるモジュールも同時にロードする。
2.システムにロードされているモジュールの一覧を表示する。
3.モジュールのバックアップを作成する。
4.モジュールの再構築後に依存関係を更新する
5.LILOを更新する。

正解:4

8.depmodのオプションに関して答えよ

設定ファイル /etc/modules.conf があれば、そこで指定されている全てのディレクトリでモジュールを検索するオプションは?

正解: -a, --all

ファイルのタイムスタンプを比較し、さらに必要ならば depmod -a と同じように振る舞う。このオプションは、何か変更があった場合にのみ依存関係ファイルを更新するオプションは?

正解: -A, --quick

各モジュールごとに、解決されていない全てのシンボルを表示するオプションは?

正解: -e, --errsyms

依存関係ファイルを/lib/modules以下ではなく標準出力に書き出すオプションは?

正解: -n, --show

quiet モード。見付からないシンボルがあっても文句を言わないオプションは?

正解: -q, --quiet

9.次のコマンドを実行すると、どのような結果が得られるか?

$ modinfo lpic_module

1.他のモジュールとの依存関係をチェックしながら、lpic_moduleモジュールをロードする。
2.lpic_moduleモジュールをアンロードする。
3.lpic_moduleファイルがどのような種類のファイルであるかを表示する。
4.lpic_moduleコマンドのinfoフォーマットのドキュメントを表示する。
5.lpic_moduleモジュールの情報を表示する。

正解: 5

■オプション
-a -- モジュールの作者のみ表示
-d -- モジュールの説明のみ表示
-n -- モジュールのファイル名のみ表示

1 -- modprobe の説明です。
2 -- rmmod の説明です。
3 -- file の説明です。
4 -- info の説明です。


10.ファイル「modules.dep」を作成するためのコマンドを選択しなさい。

1. moddep
2. depmod
3. makedep
4. mkmod

正解:2

ファイル「modules.dep」は、モジュールを読み込むためのmodprobeコマンドによって利用されます。depmodコマンドは、モジュール毎の依存関係情報を生成します。「-a」オプションを指定することで、全モジュールの依存関係情報を生成します。 depmodコマンドを実行すると、/lib/modules/<カーネル・バージョン>ディレクトリにファイル「modules.dep」を生成されます。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

カーネル(1)

1.Linuxカーネルがモジュールを読み込む設定ファイルは?

正解: /etc/modules.conf

2.モジュールをシステムにロードするコマンドは?

正解: insmod

3.モジュールをアンロードするコマンドは?

正解: rmmod

4.モジュール情報を表示するコマンドは?

正解: modinfo

5.他のモジュールとの依存関係を考慮してモジュールのロードやアンロードを行なうコマンドは?

正解: modprobe

6.モジュールの依存関係は何というファイルに記述されているか?

正解: modules.dep

7.insmodのオプション:すべての出力を端末ではなく、syslogに対して行なうオプションは?

正解:insmod -s

8.カーネルモジュールの拡張子は?

正解: .o

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX

X Window System(3)

1.xdmグラフィカルログイン時の背景を設定するための設定ファイルとして適切なものを選択しなさい。

1. /etc/X11/XF86Config
2. /etc/X11/prefdm
3. /etc/X11/xdm.conf
4. /etc/X11/xdm/Xsetup_0

正解:4

xdmはグラフィカルなログイン・マネージャです。xdmの背景画像は、xsriというプログラムによって表示されています。そのため、xdmの背景画像を指定するためには、xsriコマンドを内部で起動しているシェル・スクリプト「/etc/X11/xdm/Xsetup_0」の内容を変更する必要があります。


2.xdmを実行したあとに読み込まれるスクリプトファイルを選択しなさい。

1. XF86Config
2. xinit
3. Xsession
4. xdm-config

正解:3

グラフィカルなウィンドウ・マネージャxdmは、起動後に設定ファイル「xdm-config」を読み込みます。この設定ファイルには、xdmの起動後に実行されるシェル・スクリプト名が記述されています。すなわち、xdmの起動後にはシェル・スクリプト「/etc/X11/xdm/Xsession」が実行されます。
シェル・スクリプト「/etc/X11/xdm/Xsession」では、Xサーバの起動後に実行されるアプリケーションや、読み込む設定ファイルなどの情報が記述されています。


3.一般ユーザーが、startx コマンドを実行して X を起動する。このとき、デフォルトで起動されるウィンドウ・マネージャーを指定するための設定ファイルとして適切なものを選択しなさい。ただし、設定ファイルは一般ユーザーのホームディレクトリに配置するものとする。

1. .xinitrc
2. .wmset
3. .desktop
4. .XClients

正解:1

デフォルトのウィンドウ・マネージャ(デスクトップ環境)は、ディストリビューションによってまちまちです。例えば、Red Hat Linux 7.3ではGNOME がデフォルトのデスクトップ環境に指定されています。このため、コンソール画面でstartxコマンドを実行するとGNOMEの画面が表示されます。これを変更するためには、ユーザーのホーム・ディレクトリに設定ファイル「.xinitrc」を作成し、そこにstartxコマンドで起動したいウィンドウ・マネージャ(デスクトップ環境)を記述します。


4.多くのディストリビューションでは、Xを起動するためのランレベルが指定されている。このランレベルに移行した際、どのようなことが起こるか? 適切なものを選択しなさい。

1. startxコマンドでXを起動できるようになる
2. Xが終了してコンソール画面が表示される
3. グラフィカルなログイン画面が表示される
4. 一般ユーザーがバーチャル・コンソールを使えなくなる
5. ウィンドウ・マネージャの選択画面が表示される

正解:3

Red Hat系のLinuxディストリビューションでは、ランレベル「5」はXを起動するモードに設定されています。このようなディストリビューションでは、システム起動時のランレベルを「5」に設定するか、システム運用中にランレベルを「5」に変更すると、X が自動的に起動され、グラフィカルなログイン画面が表示されます。ランレベル「3」はテキスト・ベースのログイン画面を表示するモードに設定されています。


5.ホストaaa上で動作しているXクライアントの出力を、
ホストbbb上で動作しているXサーバで表示したい。以下はその設定作業の一部である。下線部に当てはまる環境変数は何か?

$ export ______=bbb:0.0

正解: DISPLAY

Xクライアントの出力先を指定する環境変数はDISPLAYで、書式は次のとおり。

[ホスト名]:ディスプレイ番号[.スクリーン番号]


6.XクライアントがXサーバをネットワーク経由で利用できるように設定したい。
Xサーバへのアクセス制御を行うコマンドは何か。
コマンド名のみ記述せよ。

正解: xhost

xhostコマンドは、Xサーバを利用できるホストのアクセス制御を設定します。

$ xhost +aaa

とすると、ホストaaaのXクライアントがXサーバへ接続できるようになります。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX

X Window System(2)

1.以下は、XFree86バージョン4におけるXF86Configの一部である。下線部に当てはまるセクション名はどれか?

Section "__________________"
FontPath "unix/:7100"
EndSection

1. Fonts
2. Files
3. Screen
4. Directory
5. Monitor

正解:2

FontPathではフォントの格納されているパスを指定しますが、xfs(Xフォントサーバ)を使っている場合は、問題にあるような表記になります。フォントの指定はFilesセクションで行います。


2.XFree86の設定ファイル名は何か?

正解: XF86Config

XF86ConfigファイルでXFree86の設定を行います。一般的に、/etc/X11/XF86Configなどに配置されていますが、ディストリビューションにより異なります。


3.X Window System の説明として適切なものを全て選択せよ。

1. X用のプログラムやアプリケーションは、Xクライアントと呼ばれている
2. Xクライアントがディスプレイをコントロールしている
3. 1台のコンピュータで複数のXサーバを利用できる

正解: 1 , 3

2. のみ誤り。ディスプレイをコントロールするのはXサーバーです。リモートコンピュータで複数のXクライアントを起動し、それをローカルのサーバで表示させたりもできます。


4.ランレベル5で起動されるシステムで、ログイン画面のデザインを変更するには、どのファイルを設定すればよいか?

1. /etc/X11/xdm/Xresources
2. /etc/X11/xdm/Xsession
3. /etc/X11/xinit/xinitrc
4. /etc/X11/xinit/Xdefault

正解: 1

/etc/X11/xdm/Xresourcesで、ログイン画面のデザインを変更することができます。


5.xdmを使ってグラフィカルログインを行っている。ログイン時に壁紙が表示されるようにするには、どの設定ファイルに設定を記述すればよいか?

1. /etc/X11/xdm/Xaccess
2. /etc/X11/xdm/Xsetup_0
3. /etc/X11/XF86Config
4. /etc/X11/xdm/xdm.conf
5. /etc/X11/xdm/xdm.config

正解: 2

/etc/X11/xdm/Xsetup_0ファイルは、ログイン画面が表示される前に実行されます。


6.以下の中からXFree86で使用することのできるディスプレイマネージャをすべて選択せよ。

1. xdm
2. twm
3. gdm
4. Sawfish
5. kdm

正解: 1 , 3 , 5

ディスプレイマネージャはxdm以外にも、GNOMEが用意しているgdm、KDEが用意しているkdmがあります。twm、Sawfishはウインドウマネージャです。


7.gdmを設定するための主設定ファイルを選択しなさい。

1. gdm-conf
2. gdm-config
3. gdm.conf
4. gdm.config

正解:3

gdmはグラフィカルなログイン画面を表示するためのプログラムです。gdmは、ログイン画面で言語やウィンドウマネージャを選択できることが特徴です。gdmプログラムの設定ファイルは「/etc/X11/gdm/gdm.conf」です。この設定ファイルでは、ログイン画面に表示するメッセージや、利用者に対するセキュリティなどの設定内容が記述されています。ユーザーは設定ファイル「/etc/X11/gdmgdm.conf」を調整することで、ログイン画面の内容を変更できるというわけです。


8.gdmの背景を設定するための設定ファイルとして適切なものを選択しなさい。

1. /etc/X11/gdmrc
2. /etc/X11/gdm/gdm.conf
3. /etc/X11/gdm/Init/Default
4. /etc/X11/xinit/xinitrc

正解:3

gdmはGNOME標準のグラフィカルなログイン・マネージャです。gdmの背景画像が指定されている設定ファイルはディストリビューションによって異なります。例えば、Turbolinuxではgdmの背景画像はスクリプト「/etc/X11/xdm/Xsetup_0」で指定されています。また、Red Hat Linuxでは背景画像はスクリプト「/etc/X11/xsrirc」で指定されています。ここで、Turbolinuxではスクリプト「/etc /X11/xdm/Xsetup_0」のシンボリック・リンク「/etc/X11/gdm/Init/Default」が存在するので、こちらを編集することでもgdm の背景画像を設定できます。ここまで挙げたファイルのうち、本文の選択肢に存在するのは「/etc/X11/gdm/Init/Default」のみです。したがって、正解は選択肢3になります。


9.xdmの設定ファイルの一つ、Xaccessが収められているディレクトリはどれか?

1. /etc
2. /etc/X11
3. /etc/XF86
4. /etc/X11/xdm
5. /etc/X11/XF86/xdm

正解: 4

xdm (X display manager) は、GUI画面でユーザーログインの認証を行ったり環境の設定を行えるプログラムです。Xaccessファイルは、ネットワーク上のどのマシンがXDMに接続できるかの設定を記述します。xdm関連の設定ファイルは一般的に、/etc /X11/xdmに配置されています(ディストリビューションにより異なる場合もありますが、LPIではこのディレクトリとされています)。


10.ネットワーク経由でxdmを利用する場合に利用される、xdmの制御プロトコルは何か?

正解: XDMCP

X端末からxdmが稼動しているホストへは、XDMCPプロトコルを使って接続します。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

X Window System(1)

1.X Window System上で、キーボードの配列を設定したい。どのコマンドを利用するのが適切か?

1.xkbd
2.xmodmap
3.xmap
4.xkeyboard
5.xckey

正解: 2

CapsLockキーとCtrlキーを入れ替えるなど、キーボードの配列を変更したい場合は、xmodmapコマンドを利用するのが便利です。コマンドラインでも定義できますが、設定ファイルをあらかじめ作成しておき、それを読み込んで実行するのがよいでしょう。


2.コンソール画面でXF86Configの設定ができるコマンドはどれか?

1.XF86Setup
2.xf86cfg
3.xf86config
4.XFree86Config
5.XF86CFG

正解: 3

xf86configはテキストベースの設定ツールです。XF86Setupやxf86cfgはGUIベースのツールです。


3.動作中のXサーバのディスプレイ関連情報を表示するにはどのコマンドを実行すればよいか?

1.cat /proc/X/xdp
2.xdm --show-display
3.X --show-dpinfo
4.xdpyinfo

正解: 4

X上のターミナルでxdpyinfoコマンドを実行すると、Xサーバのディスプレイ関連情報が表示されます。


4.ランレベル5で起動するように設定している。ログイン後、自動的にいくつかのプログラムを起動させたい場合、どのファイルに設定すればよいか?

1.~/.xdmrc
2./etc/prefdm
3.~/.xsession
4./etc/X11/xdminit

正解: 3

ランレベル5でログインした場合、ユーザーのホームディレクトリにある.xsessionファイルのスクリプトが実行されます。
/.xsessionがない場合、/etc/X11/xdm/Xsessionが実行されます。Xの起動時に自動的にスタートさせたいプログラムや各種設定を書いておきます。


5.startxでXを開始した。GUI画面は表示されているが、表示が画面の右側に寄りすぎているため、一部が欠けてしまっている。画面のずれをただちに修正するには、どのツールを使うのが適切か?

1.xdm
2.xvidtune
3.xdmcp
4.xinit
5.xfs

正解: 2

xvidtuneは画面のずれなどを修正できるツールです。パラメータ調整後すぐに適用することができます。xdmはGUIログインなどを提供するディスプレイマネージャ、XDMCPはxdmで利用するプロトコル、
xinitはXサーバの起動スクリプト、xfsはフォントサーバです。

6. 16ビットカラーに設定すると、最大何色の表示が可能となるか?

正解: 65536

16ビット = 2^16 = 65,536


7.X上で利用することのできる色をリスト表示するコマンドはどれか?

1. showrgb
2. xcolor
3. /usr/X11/bin/X --color-enable
4. xsetup
5. cat /proc/X/screen/colors

正解: 1

showrgbを実行すると、RGBそれぞれの8ビット値と利用可能な色の名前がリスト表示されます。

$ showrgb
255 250 250 snow
248 248 255 ghost white
248 248 255 GhostWhite
245 245 245 white smoke
245 245 245 WhiteSmoke


8.Linuxをインストール中に、X Window Systemの解像度を設定した。ところが、Xを起動すると680×480の解像度で画面が表示される。解像度はtoggleすれば変更できるが、Xの起動と同時に高解像度で画面を表示したい。これを行うために編集する必要がある設定ファイルを選択しなさい。

1. XF86Config
2. xinit
3. xinitrc
4. xvidtune

正解:1

X Window Systemの設定ファイルは「XF86Config(/etc/X11/XF86Config)」です。この設定ファイルでは、ビデオ・アダプタ用のドライバやモニタのスペック情報、表示解像度などを指定します。


9.X Window Systemにおいて、Xプログラムの起動順序として適切なものを選択しなさい。

1. startx --> xinitrc --> xinit --> Xclients
2. xinit --> startx --> xinitrc --> Xclients
3. startx --> xinit --> xinitrc --> Xclients
4. startx --> Xclients --> xinit --> xinitrc

正解:3

コンソール画面が表示されている状態でXを起動するためには、startxコマンドを実行します。startxコマンドはシェル・スクリプトです。その内部ではxinitコマンドを実行しているため、startxコマンドを実行するとxinitコマンドが起動されます。xinitコマンドはXサーバを起動するためのプログラムです。xinitコマンドは、起動後にスクリプト「xinitrc」を実行します。このあと、スクリプト「xinitrc」によって設定ファイル「.Xresources」と「.Xclients」が読み込まれ、最終的にウィンドウ・マネージャが立ち上がります。


10.X Window Systemを設定し起動した。ところが、Xの画面が中央に表示されない。これを改善するために使うコマンドとして、適切なものを選択しなさい。

1. xvideoagent
2. xset
3. xvidtune
4. xwindow

正解:3

Xで表示される画面の位置を調整するためには、モニタの調整機能か調整ツールを利用します。本文では、調整ツールが問われています。Xによる画面の表示位置を調整するツールは「xvidtune」です。このツールを利用するためには、ktermやxtermなどのX用ターミナル・ソフト上で、次のようにコマンドを実行します。

$ xvidtune

すると、xvidtuneプログラムの画面が表示されます。画面には「Left」ボタンや「Right」ボタンなどが配置されています。これらのボタンをマウスを使って操作することで、画面の表示位置を調整できます。なお、xvidtuneプログラムはXFree86に収録されているため、Xを利用できる環境であれば別途インストールする必要はありません。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LPIC LINUX

デバイスとファイルシステム(4)

1.AAAディレクトリの所有者を、そのディレクトリ内のファイルやサブディレクトリごとすべてユーザーBBBに変更するコマンドを、オプションや引数とともに記入せよ。

正解: chown -R BBB AAA

R オプションは、指定されたディレクトリ内のすべてのファイルやディレクトリに対してもコマンドが適用されます。


2.ファイル「sample.txt」のオーナーを「foo」に、所有グループを「bar」に変更するためのコマンドで適切なものを選択しなさい。

1. chown foo bar sample.txt
2. chown foo-bar sample.txt
3. chown foo:bar sample.txt
4. chown foo;bar sample.txt
5. chown foo,bar sample.txt

正解:3.chown foo:bar sample.txt

ファイルの所有者を変更する場合は、通常chownコマンドを利用します。また、ファイルの所有グループを変更する場合はchgrpコマンドを利用します。

$ chown <ユーザー名> <ファイル名>
$ chgrp <グループ名> <ファイル名>

ただし、chownコマンドは所有グループも変更できます。その場合は、グループ名の先頭に記号「:」を付けてchownコマンドを実行します。

$ chown :<グループ名> <ファイル名>

このほか、次のようにchownコマンドを実行すると、ファイルの所有者と所有グループを同時に変更できます。

$ chown <ユーザー名>:<グループ名> <ファイル名>

よって、正解は選択肢3になります。


3.ファイル/data/hogeへのシンボリックリンク/data/hugaを作成するためのコマンドを記述せよ。

正解: ln -s /data/hoge /data/huga

シンボリックリンクを作成するには、

ln -s リンク元(実体) リンク先

の順になります。順序に注意しましょう。


4./linkディレクトリにアクセスすると/originディレクトリが参照できるよう、リンクを作成したい。どのコマンドを実行すればよいか。

1.ln /link /origin
2.ln /origin /link
3.ln -s /link /origin
4.ln -s /origin /link

正解:4

シンボリックリンクは、
ln -s リンク元(実体) リンク先
で作成します。

ディレクトリのシンボリックリンクは作成できますが、ディレクトリのハードリンクは作成できません。別のファイルシステムへのリンクが作成できるのはシンボリックリンクだけです。


5.iノード番号は同じ、ファイル名は異なるファイルを作成するには?
以下のファイルは、iノード番号が同じだがファイル名が異なる。

$ ls -li /bin/gzip /bin/gunzip
289205 -rwxr-xr-x 4 root root 53676 2005-05-21 14:01 /bin/gunzip
289205 -rwxr-xr-x 4 root root 53676 2005-05-21 14:01 /bin/gzip

このように、iノード番号が同じで異なるファイル名のファイルを作成するコマンドは何か?

正解: ln

iノード番号が同じでファイル名が異なるのはハードリンクです。1つのファイル(実体)を別の名前でも参照できるようにしています。iノード番号はファイルシステムごとに用意されますから、ファイルシステムを越えてはハードリンクを作成できないことになります。シンボリックリンクは、リンク先ファイルのパスが格納されたファイルで、リンク先とはiノード番号は異なります。


6.chownコマンドのフルパスを検索するコマンドは?

正解: which chown

7.pasteコマンドのフルパスを検索するコマンドを3つ選びなさい。

1.which
2.whatis
3.what
4.whereis
5.type

正解: 1 , 4 , 5

$ which paste
/usr/bin/paste

$ type paste
paste is /usr/bin/paste

$ whereis paste
paste: /usr/bin/paste /usr/share/man/man1/paste.1.gz


8.以下のディレクトリのうち、ルートファイルシステムになければならないのはどれか?(該当するものすべて)

1./boot
2./etc
3./bin
4./home
5./root
6./dev

正解: 2.3.6

ルートファイルシステムになければならないディレクトリ
/etc
/lib
/sbin
/bin
/dev


9.FHS 2.2でオプション扱いとなっているディレクトリを以下から選択しなさい。

1. /tmp
2. /boot
3. /var
4. /home
5. /mnt

正解:4./home

/homeディレクトリは、一般ユーザーのホーム・ディレクトリを配置するためのディレクトリです。Linux/UNIXマシンが多数存在する環境では、/homeディレクトリを1台のマシンだけに作成し、他のマシンからNFSマウントして共有します。したがって、個々のマシンに/homeディレクトリが存在する必要がないのです。


10.以下のディレクトリの中で、FHS2.2ではオプション扱いされているものはどれか?

1./tmp
2./var
3./home
4./root
5./mnt

正解:3.4

/homeと/rootは、FHS2.2ではオプション扱いとなります。それ以外の選択肢にあるディレクトリは必須です。


11.locateコマンドが利用するファイル名データベースの更新を行うためのコマンドは何か?

正解: updatedb

updatedb もしくは slocate -u で locateデータベースを更新します。locateは、あらかじめ作成されたデータベースを参照して、find より高速にファイル検索を行えます。データベースの更新は、通常 cronにより定期的に実行されています。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

デバイスとファイルシステム(3)

1./homeにクォータの設定をしようとしている。下線部に当てはまる適切なコマンドを記述せよ。

# vi /etc/fstab
# mount -o remount /home
# ________________ /home
# quotaon /home

正解:quotacheck

quotacheckコマンドを実行すると、現在の使用量が計算されて、quota.users/quota.groupsファイルに記録されます。


2.quotaの設定をしている。user1に設定した内容を、user2、user3にもコピーしたい。どのコマンドを実行すればよいか?

1.cpquota -o user1 -u user2 user3
2.edquota user2,user3 -o user1
3.cpquota -u user1 -o user2 user3
4.edquota -p user1 -u user2 user3

正解: 4

edquotaコマンドを使って、設定のコピーができます。-pで設定済みのユーザーを、-uでその設定をコピーするコピー先ユーザーを指定します。


3.ext3ファイルシステム上のファイルtestfileを、rootユーザーでも削除できないように設定したい。どのコマンドを実行すればよいか?

1.chmod +s testfile
2.chown +s testfile
3.chmod +t testfile
4.chown +t testfile
5.chattr +i testfile

正解: 5

chattrは、ext2/3ファイルシステム専用の拡張属性を設定するコマンドです。+-=を使って属性を加えたり削除したりします。

i : 変更・削除不可


4.所有者に実行権限をつけるには?

chmod __+x hoge.txt

正解: u

u 所有ユーザー(user)
g 所有グループ(group)
o その他のユーザー(others)
a 全て(all)


5.あるディレクトリをlsコマンドで見ると、次のようになっている。

drwxrwsrwx 2 root hoge 1024 Dec 16 20:28 /home/huga

このディレクトリで一般ユーザーがファイルを作成した場合、そのファイルの属性を表すものとして確実にいえるものを選択せよ。

1.ファイルの所有者はrootとなる
2.ファイルの所有者はhogeとなる
3.ファイルの所有グループはrootとなる
4.ファイルの所有グループはhogeとなる
5.ファイルのアクセス権は「644」となる

正解: 4

アクセス権のグループ実行権が「s」になっていることから、このディレクトリにSGIDが設定されていることが分かります。ディレクトリにSGIDが設定してあると、ディレクトリ内に作成されるファイルの所有グループは、そのディレクトリの所有グループと同一になります。ファイルのアクセス権はumaskによるので、必ず644になるとは限りません。


6.あるディレクトリを ls コマンドで見ると、以下のように表示された。
    
$ ls -ld /tmp
drwxrwxrwt 2 root root 1024 Mar 10 15:20 /tmp

この表示の説明としてもっとも適切なものはどれか?

1./tmp ディレクトリ内の全ファイルのサイズ総計は 1024KBである
2./tmp ディレクトリにはスティッキービットが設定されている
3./tmp ディレクトリは root しか利用できない
4./tmp ディレクトリには 2つのファイルもしくはディレクトリが置かれている
5./tmp ディレクトリに作成されたファイルの所有者はすべて root になる

正解: 2

一般ユーザのアクセス権表示が「rwt」となっているディレクトリにはスティッキービットが設定されているので、ファイルの所有者しかそのファイルを削除できません。/tmp/ディレクトリは,一般的に「スティッキービット」フラグが立てられて(設定されて)いる。スティッキービットフラグが設定されているディレクトリでは、書き込みは全ユーザができるが、削除は所有者以外にはできない。/tmpディレクトリは複数のユーザーが同時に利用しますから、勝手にファイルを消されないようにしているのです。


7.umask値が「002」に設定されている。ディレクトリを作成すると、アクセス権はどうなるか?3桁の数値で記述せよ。

正解: 775

ディレクトリの場合、777からumask値を引くと答えが出てきます(777-002=775)。umask値の設定・確認は、umaskコマンドで行います。


8.umask値が「022」に設定されている。ファイルを作成すると、アクセス権はどうなっているか?数値で記述せよ。

正解: 644

ファイルを作成した時のアクセス権は、666からumask値を引くと答えが出てきます。この場合、666-022=644です。umask値の設定、確認は、umaskコマンドで行います。


9.あるシステムで、ユーザーの umask は 022 となっている。

$ touch testfile

としてファイルを作成したとき、そのファイルのアクセス権はどうなるか?

1. 622
2. 644
3. 755
4. 775

正解: 3

umask コマンドで指定されるのはマスク値です。ファイルのデフォルトのアクセス権は 666 なので、
666 - 022 = 644 となります。オプションを付けないで umask コマンドを使うと、現在設定されているマスク値を表示します。


10.以下は何を説明しているものか。記述せよ。

UNIXのパーミッションに関して。所有者、グループ、その他ごとにアクセス権を設定するやり方では実現できない特定のユーザーやグループに対してアクセス権を設定することができる機能。

正解:ACL(Access Control List)

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

デバイスとファイルシステム(2)

1.ext2 ファイルシステムの状態を対話的に調査するための適切なコマンドを選択しなさい。

1. tune2fs
2. e2fsck
3. mke2fs
4. debugfs
5. dumpe2fs

正解:4.debugfs

debugfsコマンドは、ext2ファイルシステム内部のデータを直接操作するための対話的プログラムです。debugfsコマンドを使えば、e2fsckコマンドで修復できなかったデータを修復できる可能性があります。また、削除してしまったファイルを復活させられる可能性もあります。


2.foofileファイルのiノード番号を表示したい。下線部に当てはまるオプションは何か?

$ ls -____ foofile

正解: i

-iオプションで、指定したファイルのiノード番号を表示することができます。


3.ファイルシステムの検査を行うコマンドはどれか。

1.mkfs
2.fsck
3.dmesg
4.mke2fs
5.e2fsck

正解:B,E

1,4はファイルシステムを作成するコマンドです。
3は起動時にカーネルが出力するメッセージを表示するコマンドです。


4.設定ファイル「/etc/fstab」は、なにを設定するためのものか?

1. パーティションのマウント情報を設定する
2. カーネルの起動オプションを設定する
3. システム内のアカウント情報を設定する
4. パスワード情報を設定する

正解:1.パーティションのマウント情報を設定する

設定ファイル「/etc/fstab」は、マウントしたいパーティション情報を記述するための設定ファイルです。この設定ファイルには、パーティションとマウント・ポイント(ディレクトリ名)の対応情報や、マウント時に使用するオプションなどが記述されています。


5.デバイス/dev/hda5をマウントポイント/dataにマウントするよう、/etc/fstabファイルに記述したい。ファイルシステムタイプはext2である。適切なエントリはどれか。

1. /dev/hda5 /data ext2 defaults 1 2
2. /data /dev/hda5 ext2 defaults 1 2
3. /dev/hda5 /data defaults ext2 1 2
4. /data /dev/hda5 defaults ext2 1 2

正解:1/etc/fstabの書式は次のとおりです。

デバイスファイル マウントポイント ファイルシステムタイプ マウントオプション dumpの参照値 fsckの参照値


6.ext2ファイルシステムをマウントするには?
/dev/hdb2のext2ファイルシステムを、/mnt/dataとしてマウントしたい。/etc/fstabファイルに当該デバイスに関する記述がない場合、必要な引数とオプションも含めて、マウントするためのコマンドを記述せよ。

正解: mount -t ext2 /dev/hdb2 /mnt/data

mount -t  ファイルシステムタイプ  デバイスファイル  マウントポイント
/etc/fstabファイルに設定が記述されている場合、デバイスファイルかマウントポイントの指定だけでマウントできます。


7.ユーザークォータを設定した。次回起動時より自動的にクォータが適用されるように/etc/fstabを編集したい。適切な設定はどれか?

1. /dev/hda1 /home ext2 usrquota 1 2
2. /dev/hda1 /home ext2 defaults 0 0
3. /dev/hda1 /home ext2 quota.user 1 2
4. /dev/hda1 /home ext2 defaults 1 1
5. /dev/hda1 /home ext2 userquota 1 2

正解: 1

ユーザークォータのオプションは「usrquota」です。quota.userは、クォータのデータベースファイルで、上記の場合/homeディレクトリ直下にあります。


8.クォータを有効にするコマンドは何か

正解: quotaon

quotaonで、設定したクォータが有効になります。OS起動時にクォータを有効にするには、/etc/fstabのオプション欄に「usrquota(grpquota)」を記述しておくと、起動スクリプト内のquotaonによりクォータが有効になります。


9./homeのクォータ状況を表示するコマンドを選択せよ。

1.lsquota /home
2.cat /proc/quota
3.df -q /home
4.repquota /home
5.lsdev /home

正解: 4

ファイルシステム単位でクォータ状況を表示するには、repquotaコマンドを使います。repquotaコマンドを実行できるのはrootユーザーだけです。


10. 1ユーザーあたり、ディスクを10MB以上使用することができないように設定したい。すでにクォータが有効になっている場合、何というコマンドを使ってユーザーのクォータ制限値を変更すればよいか?

正解: edquota

ユーザーのクォータの設定を行うには、edquotaコマンドを使います。viなどのエディタが開くので、ハードリミットやソフトリミットの設定を行います。

テーマ : UNIX/Linux
ジャンル : コンピュータ

tag : LINUX LPIC

スカウター
プロフィール

Author:うにえる
個人的メモ

検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。