FC2ブログ

【LPIC-202試験用】「構成ディレクトリ」

/
■起動時に必須
| 
├ /bin  (一般ユーザ向け基本コマンドが入っている。パーティション分割:×) 

├ /boot  (起動時に必要なファイル。パーティション分割:△ )
| ├ config-(Version) (カーネル設定ファイル)
| ├ grub
|  ├ grub.cfg (GRUB2の設定ファイル)
|  ├ menu.lst (GRUB Legacyの設定ファイル)
|  ├ grub.conf (環境により、↑の別名)
|  ├ vmlinuz-<VER> (カーネルイメージ)
|  ├ System.map-<VAR> (カーネルのアドレスマップ)
|  ├ initrd.img-<VER> (初期RAMディスクイメージ)
|  ├ config-<VER> (ビルド時のカーネル設定)


├ /dev  (デバイスファイル。パーティション分割:×) 

├ /etc  (システム設定ファイル。パーティション分割:×) 
| |
| ├ init.d
| ├ inittab(ブートアップ時にどの様なプロセスを起動させるか定義)
| | ├ init.d ( crondの起動スクリプト)
| |
| ├ rc.local [/etc/rc.[0-6].d]ディレクトリ配下のスクリプトが実行された後に実行させたい処理を記述 
| |
| ├ sysctl.conf (カーネルによるプロセス最大数制限の変更ファイル)
 |
| ├ udev
|  ├ udev.conf
 (udevのメイン設定ファイル)
|  ├ rules.d (udevのルールファイル)
| 
| 
| ├ hostname (ホスト名指定※debian系)
| ├ sysconfig
| |├ network(ホスト名設定、NW関連設定。redhat系)
| |
| ├ hosts (名前解決)
| | 
| ├ mtab (現在マウントされてるリスト)
| ├ fstab (再起動したらマウントされるリスト)
| |
| ├ inetd.conf(inetdデーモンの設定ファイル。inetd経由で起動させるサービスを記述)
| ├ hosts.allow (inetdのアクセス制御)
| ├ hosts.deny (inetdのアクセス制御)
| |
| ├ xinitd.conf (xinitdデーモンの設定ファイル。)
| ├ xinitd.d (xinitdのアクセス制御ファイル。個別設定ファイル。)
| |
| ├ profile (全体における環境変数設定ファイル。ユーザ毎の環境設定ファイルは「~/.bash_profile」)
| ├ bashrc (全体におけるエイリアス設定ファイル。ユーザ毎にエイリアス設定ファイルは「~/.bashrc」)
| |
| ├ nologin (これがあると一般ユーザはログイン不可となる)
| |   ※ pam_nologin.so も同様
| |
| ├ crontab (システム用のcron設定ファイル。主に下記4つのディレクトリに格納されたスクリプト実行)
| ├ cron.d (上記以外のスケジュールで実行したいスクリプトを格納)
| |
| |
| |
| ├ syslog.conf (どのログをどのファイルに出力させるかの設定ファイル)
| |
| ├ aliases (システム全体におけるメール転送設定。「~/.forward」はユーザ毎の設定)
| |
| |
| ├ ssh
| |├ sshd_config (sshサーバ側の設定ファイル)
| |├ ssh_config (sshクライアント側の設定ファイル)
| |├ ssh_host_rsa_key (秘密鍵)
| |├ ssh_host_rsa_key.pub (公開鍵)
| |
| |
| ├ httpd (RH系)
| | conf
| |  httpd.conf
| |
| ├ Apache2/Apache2.conf  (Debian系)
| |
 |
 ├ squid
| |  squid.conf
 |
 ├ samba
| |  smb.conf
| |
 ├ ftpusers(FTPサーバにログインを許可しないユーザ)
| |
 ├ exports(NFSサーバでエクスポートするディレクトリを設定)
 ├ auto.master (オートマウントの動作設定のメイン設定ファイル)
| |
 ├ dhcpd.conf
| |
 ├ pam.conf
 ├ pam.d
 |
  postfix
| | ├ main.cf (メールシステムのパラメータ記述、送信者書き換え
| | ├ master.cf (各デーモンの動作を記述)
 |
 ├ mail  (Sendmail)
 |  sendmail.cf (sendmailの主要設定ファイル)
| |├ sendmail.mc (「sendmail.cf」の編集用ファイル)
| |├ access (メールリレー)
| |├ local-host-names (ローカル配送を行うドメイン名の設定ファイル)
 |
  aliases (別名設定)
 |
 ├ procmailrc (正規表現でメール振り分け)
 |
 ├ dovecot.conf (メール受信サーバ設定ファイル)
   ※mechanisms = ユーザ認証方式指定
| |
| |
  ld.so.conf (シェアードライブラリ編集⇒ ldconfig を実行し更新)
 ├ login.defs (shadowパスワードのサイトローカルな設定を記述)
 /lib  (共有ライブラリ。パーティション分割:×)
| ├ security (PAMモジュールが登録)


| 
├ /tmp (再起動後に削除される。パーティション分割:△)




■起動時に不要
| 
| 
├ /home  (ユーザのホームディレクトリ。パーティション分割:○) 
| ├ 各ユーザ名
|   ├ .ssh
|   | ├ id_rsa (sshクライアントの秘密鍵ファイル)
|   | ├ id_rsa.pub (sshクライアントの公開鍵ファイル)
|   | ├ /.ssh/known_hosts(クライアント側の認証鍵リスト)
|   | ├ .ssh/authorized_keys(サーバ側の認証鍵リスト)
|   |
|   ├ ganou/.procmailrc (振り分けルール設定)

├ /proc (カーネルやプロセスに関する情報をテキストで表示する仮想ファイルシステム)
| |
| ├ cpuinfo (CPU情報)
| ├ bus
 |├ usb
| | ├ devices (USBデバイス情報)
| ├ dma (使用しているDMA情報)
| ├ interrupts (IRQ情報)
| ├ ioports (I/Oアドレス情報)
| ├ meminfo (メモリ情報)
| ├ modules (ロード中のカーネルモジュール情報)
| ├ pci (PCIデバイス情報)
| ├ scsi
 |├ scsi (scsiデバイス情報)
 |
 |
| ├ sys (sysctl コマンドで表示される情報と同じ)
 | net
 |├ ipv4
 ||├ icmp_echo_ignore_broadcasts (「1」でブロキャスは無視)smurf対策
 |├ tcp_syncookies (「1」でSYN flood攻撃は無視) 
 |||
| ├ version(バージョン確認)
| |



■変動する
| 
├ /var  (システムログなどの動的に変化するファイル。パーティション分割:○)
| ├ log (各種ログファイル)
| |├ dmesg (カーネルが出力したログ)
| |├ messages (主なログファイル)
| |├ secure (認証サービス関連のログファイル)
| ||
| |
| ├ logrotate.conf (ログローテーションの設定ファイル)
| | 
| |
| ├ spool (処理待ち状態のタスクのスプール)
| |├ mqueue (ユーザのcron設定ファイル)
| ||  ※rm -f /var/spool/mqueue で削除 by sendmail
| |
| ├ spool
| |├ mail  (互換のために残された、かつてのユーザーのメールボックス。sendmail用受信メール)
| |├ mqueue (送信待ちメール)
| || 
| |
  └ tmp  (再起動しても削除されない))

【LPIC_202試験】■6. トラブルシューティング

■6. トラブルシューティング
 ▼ ブート段階のトラブルシューティング
  【起動時のエラー】
大項目メッセージ状態原因覚え方・コメント
ブート
エラー
非表示何もロード無しLILOの未インスト 
L [エラー]第1のブートローダはロード○
第2のブートローダはロード×
ジオメトリ情報不一致等、エラーコードにより異なる 
LI第2のブートローダはロード○
第2のブートローダは実行×
①ジオメトリ情報不一致
②「/sbin/lilo」コマンドの未実行
 
LIL第2のブートローダは実行○
マップファイルからのディスクリプタテーブルロード×
①ジオメトリ情報不一致
②ブートメディア故障
 
LIL?第2のブートローダは実行○
第2のブートローダのロード場所×
①ジオメトリ情報不一致
②「/sbin/lilo」コマンドの未実行
 
LIL-第2のブートローダは実行○
ディスクリプタテーブル故障
①ジオメトリ情報不一致
②「/sbin/lilo」コマンドの未実行
 
  【起動時関連コマンド】
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
システムコール・シグナルをトレースstrace -o [ファイル名]トレース結果もファイルに記録システムコール:カーネル機能を呼び出す機能
 -f
(famiy?)
子プロセスもトレース 
-p [プロセスID]実行中のプロセスID(PID)を指定してトレース 
ライブラリltrace プログラムから呼び出されるライブラリコール「library」の「l」?
 ▼ 一般的な問題解決
  【「/proc」配下の主なファイル】
大項目設定
ファイル
設定項目内容覚え方・コメント
デバイスpci PCIデバイス関連情 
/bus/usb/devices USB情報 
スペックmeminfo メモリ情報 
cpuinfo CPU情報 
dma DMAの割り当て情報「lsdev」コマンドも同様
interrupts IRQ情報
ioports I/Oアドレス情報
カーネルmodules ロードされてるカーネルモジュール情報「lsmod」でも確認可能
version カーネルバージョン情報 
 ▼システムリソースと環境設定の問題の解決
  【システムリソース・環境変数】
大項目中項目小項目内容覚え方・コメント
環境
変数
種類LANGロケール(言語設定) 
PATHコマンド・プログラムを検索するdirリスト 
HOMEログインしているユーザのホームdir 
PWDカレントdirパス 
コマンドset全シェル変数と環境変数を表示どれも全環境変数を表示させるコマンド
env全環境変数表示
printenv一部もしくは、全環境変数表示
Cron
コマンド
crontab-l
(list)
設定内容表示 
-e
(edit)
編集 
-r
(remove)
削除 
-u [ユーザ名]ユーザ指定して、設定ファイル操作(rootだけ) 
共有ライブラリldconfig 共有ライブラリのキャッシュファイル「/etc/ld.so.cache」更新 
  【「/etc/shadow」の例】
カラム中項目小項目内容覚え方・コメント
1ユーザ ①ユーザ名 
2パスワード ②暗号パスワード 
3 ③パスワード最終変更日(1970年1月1日からの日数) 
4 ④次にパスワードが変更可能になるまでの日数 
5 ⑤パスワード最大有効期限 
6 ⑥パスワード使用期限が切れる前に通知し始める日数 
7アカウント ⑦最大有効期限を超過してから、アカウント無効までの日数 
8 ⑧アカウント有効期限日(1970年1月1日からの日数) 
  【bashの設定ファイル】
大項目全体設定ユーザ毎の設定設定内容覚え方・コメント
bash
設定
/etc/profile~/.bash_profile環境変数環境は「profile」
/etc/bashrc~/.bashrcエイリアス「r」があるから「エイリアス」
  【bashシェル起動フロー】
項番中項目設定ファイル設定内容覚え方・コメント
1ログインシェル起動  ユーザID、パスワード求められる
2システム全体/etc/profile環境変数 
3ユーザ単位~/.bash_profile環境変数 
4対話型シェル起動/bin/bash (←例)  
5ユーザ単位~/.bashrcエイリアス 
6システム全体/etc/bashrcエイリアス 
7bash起動
(プロンプト表示)
   

【LPIC_202試験】■5. システムのセキュリティ

■5. システムのセキュリティ
 ▼ルータを構成する
   【1. iptablesコマンド】iptables [-t テーブル名] –A チェイン ルール
メイン
コマンド
オプション
(フルスペル)
小オプション内容覚え方・コメント
iptables-s 
[IPアドレス]
(src)
-接続元のIPアドレス指定 
-d 
[IPアドレス]
(dst)
-接続先のIPアドレス指定 
 - -sport [ポート番号]-接続元のポート番号指定 
 - -dport [ポート番号]-接続先のポート番号指定 
-p
(protocol)
-プロトコル指定(tcp、udp、icmp、all) 
-i [IF名]-受信IF指定 
-o [IF名]-送信IF指定 
-L-現在の設定表示 
-j 
[ターゲット]
-適用ターゲット指定なんで「J」?
ACCEPT通過許可 
DROP破棄 
REJECT拒否(接続元に通知) 
MASQUERADE接続元IPアドレス・ポート番号変更 
SNAT接続元IPアドレスを指定IPアドレスへ変更 
LOGログ記録 
   【2. ルーティングテーブル】
大項目中項目小項目内容覚え方・コメント
ルーティングDestination-宛先アドレス 
Gateway-宛先へのGW(*は未定) 
Genmask-宛先のサブネットマスク 
Flags-状態フラグ 
U経路有効 
H対象をホストとして指定 
GGW使用 
拒否経路 
Iface-パケット出すIF 
 ▼FTPサーバの保護
  【1. FTP種類】
FTP
種類
設定
ファイル/
コマンド
設定項目/
コマンドオプション
内容覚え方・コメント
ProFTPDproftpd.conf   
vsftpdvsftpd.conf-  
anonymous_enable=YES/NO匿名ユーザログイン許可/禁止 
anon_upload_enable=YES/NO匿名ユーザのアップロード許可/禁止 
Pure-FTPDpure-ftpd.conf-  
pure-ftpd-E
(Enable)
匿名ユーザログイン禁止 
-e
(enable)
匿名ユーザのみログイン許可 
-i
(?)
匿名ユーザのアップロード禁止なんで「i」なの?
 ▼セキュアシェル
  【1. sshd設定ファイル】(/etc/ssh/sshd_config)
★特徴
設定項目名は、スペースが無いのがほとんど
大項目中項目設定項目内容覚え方・コメント
ssh設定バージョンprotocol [1/2/1,2/2,1]使用するSSHバージョン 
rootPermintRootLogin [yes/no]rootのsshログインを許可するかどうか 
認証PubkeyAuthentication [yes/no]sshバージョン2で公開鍵認証を許可するかどうか 
PasswordAuthentication [yes/no]パスワード認証を許可するかどうか 
PermitEmptyPasswords [yes/no]空パスワードを許可するかどうか 
XX11Forwarding [yes/no]X11転送を許可するかどうか 
アクセス制御AllowUsers [ユーザ名]ログインを許可するユーザ 
DenyUsers [ユーザ名]ログインを禁止するユーザ 
AllowGroups [グループ名]ログインを許可するグループ 
DenyGroups [グループ名]ログインを禁止するグループ 
  【2. 公開鍵・秘密鍵】
ssh
ver
種別ファイル名暗号方式覚え方・コメント
1秘密identityRSA 
1公開identity.pubRSA 
2秘密id_rsaRSA 
2公開id_rsa.pubRSA 
2秘密id_dsaDSA 
2公開id_dsa.pubDSA 
 ▼セキュリティ業務
  【セキュリティ情報源】
大項目中項目小項目内容覚え方・コメント
技術支援世界CERTセキュリティインシデントを受けつけ、発生状況を把握し、技術支援をしている組織Computer Emergency Response Team/ Coordination Center
日本JPCERTCERTの日本版 
情報収集世界CSIRT監視、原因解析CSIRT(Computer Security Incident Response Team)
報告世界CIACセキュリティインシデントの報告を行っている組織。米エネルギー省が運営CIAC<Computer Incident Advisory Capability>
バグ情報世界Bugtraqソフトウェアのバグ情報を公開するメーリングリストBugtraq

【LPIC_202試験】■4. 電子メールサービス

■4. 電子メールサービス
 ▼電子メールサーバの使用
   【1. postfix】(/etc/postfix/main.cf
大項目中項目設定項目内容覚え方・コメント
基本設定NW設定myhostname自サーバホスト名指定 
mydomain自サーバドメイン名指定 
myoriginメールアドレスの「@」の後ろのドメイン名を指定 
inet_interfacesメール受信するIF指定 
mydestinationローカル配送をするドメイン名を指定 
mynetworksリレー許可するクライアント端末指定 
スプールmail_spool_directoryメールスプールdir指定 
home_mailboxユーザのhome_dir配下のメールスプールdirを指定
(home_dirから相対パス)
 
その他mailbox_commandローカル配送をするプログラム(MDA)指定 
   【2. postfixコマンド】
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
postfix
利用
postfixstart「Postfix」起動 
stop「Postfix」停止 
abort「Postfix」を強制停止abort=中止
flushメールキュー内にあるメールをすぐに再送再送なのに「flush」?
reload設定ファイルの再読み込み 
check設定ファイルの構文チェック 
メールキューpostqueue-p mailqメールキュー表示 
-f postfix flushメールキュー内にあるメールをすぐに再送 
postsuper-d
(delete)
メールキュー内のメール削除superな力で削除
  【3. Sendmail】(/etc/mail
大項目設定
ファイル
設定項目内容覚え方・コメント
メインsendmail.cf sendmailの主要設定ファイル 
sendmail.mc 「sendmail.cf」の編集用ファイル 
アクセス制御access-メールリレー、受信可否の設定ファイル 
OKメール受信のみ許可(デフォルト) 
RELAYメール受信とリレーを許可 
REJECTメール受信拒否して、送信元にエラーを送る 
DISCARDメール受信拒否して、送信元にエラーも送らない(メール破棄) 
550 文字列メール受信拒否して、送信元にステータスコードと文字列を返す 
ドメインlocal-host-names ローカル配送をするドメイン名の設定ファイル 
   【4. sendmailコマンド】
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
メールsendmail-bp mailqメールキュー表示 
-q
(クイック?)
メールキュー内にあるメールをすぐに再送 
   【5. 別名設定】(/etc/aliases)
大項目設定
ファイル
設定項目内容覚え方・コメント
設定項目aliases/ファイルパス指定したファイルにメールメッセージ追加 
 |(パイプ)コマンド指定コマンドにメールメッセージを渡す(標準入力) 
user@domain指定メールアドレスにメール転送 
 :include:/ファイルパス指定ファイルに記載された内容を別名として読込 
有効化newaliases /etc/aliases 有効化 
sendmail -bi  
  【SMTPサーバの動作確認例】
項番大項目コマンド内容覚え方・コメント
1 HELO
EHLO
SMTPセッション開始 
2 MAIL FROM差出人指定 
3 RCPT TO宛先指定 
4 DATA本文入力開始 
5 QUITSMTPセッション終了 
 ▼ローカルの電子メール配信
★「レシピ」とは、「~/.procmailrc」ファイルに記述するフィルタリングのルール
行番号大項目中項目内容覚え方・コメント
1
(フラグ)
最初:0 
(0開始が原則)
  
条件式系H
(header)
条件式でメールヘッダ部分を評価 
B
(Body)
条件式でメール本文部分を評価 
D
(demarcation)
条件式で大文字・小文字区別して評価 
アクション系h
(header)
アクションにメールヘッダ部分を渡す 
b
(Body)
アクションにメール本文部分を渡す 
c
(copy)
アクションにメールのコピーを渡す 
2
(条件式)
最初  
条件式系条件否定 
メール全体のサイズが指定バイト数より小さいとマッチ 
メール全体のサイズが指定バイト数より大きいとマッチ 
3
(アクション)
破棄/dev/nullメール破棄 
格納ファイル名メールを指定ファイルに格納 
dir名メールにユニークなファイル名をつけ、指定dirに格納 
dir名/.メールを指定dirに項番をつけて格納 
渡す |プログラムパス指定プログラムにメールを渡す 
転送 !メールアドレス指定メールアドレスにメール転送 

【LPIC_202試験】■3. ネットワーククライアントの管理

■3. ネットワーククライアントの管理
 ▼DHCPの設定
  【1. /etc/dhcpd.conf】
★特徴
NW関連設定は、全て「option」が付く
大項目中項目設定項目内容覚え方・コメント
基本設定NW設定option domain-name [ドメイン名:]ドメイン名指定 
option domain-name-servers [IPアドレス]DNSサーバ指定 
option routers [IPアドレス]DG指定 
option subnet-mask [IPアドレス]サブネットマスク指定 
option broadcast-address [IPアドレス]ブロキャス指定 
option ntp-servers [IPアドレス]NTPサーバ指定 
option nis-domain [IPアドレス]NISドメイン指定NIS=network information service
パスワードなど、NW情報を一括管理。ADと同類?
option netbios-name-servers [IPアドレス]WINSサーバ指定 
期間default-lease-time [秒]デフォルト貸出期間 
max-lease-time [秒]最大貸出期間 
範囲range [dynamic-bootp] [開始IPアドレス] [終了IPアドレス]貸出IPアドレス範囲 
固定fixed-address [IPアドレス]割当固定IPアドレス指定。
宣言文「host」内のみで使用。
「-」でがっちりfix
hardware [IFタイプ][MAC]クライアント端末を特定するためのMAC指定HWにはスペースを
 ▼PAM認証
  【1. 設定ファイル】(/etc/pam.d)PAMとは、ユーザ認証システム
大項目中項目設定項目内容覚え方・コメント
モジュール基本設定authパスワードでユーザ認証 
accountユーザアカウントの有効性確認 
passwordパスワード設定 
session認証前後で実行させたい処理を指定
(例:ログ記録)
ユーザのログイン記録
アクセス制御pam_securetty.sorootログインは「/etc/securetty」ファイルに記載された端末のみ許可 
pam_deny.so認証は全拒否 
pam_cracklib.soパスワード書式を制限して、安全性向上 
pam_unix.so通常のパスワード認証 
pam_listfile.so任意ファイルを使って、プログラムのアクセス制御を実施 
その他制限pam_limits.soユーザ利用のリソースを制限 
pam_warn.so認証・パスワードの変更時にログを記録 
pam_wheel.soroot権限のアクセスをwheelグループに制限wheel=輪
pam_nologin.so「/etc/nologin」ファイルがあったら、一般ユーザのログイン拒否 
pam_console.soクライアント端末から一般ユーザでログインした時に、管理コマンドなどの所有権を「一時的に」一般ユーザ権限に変更 
コントロールモジュール成功・失敗時の処理方法requisiteモジュール実行失敗時には、即認証拒否して、あとのモジュールは実行しないrequisite=必要な物
requiredモジュール実行失敗時には、そのあとの行に「required」のモジュールがあればそのモジュールを実行したあとに、認証を拒否するrequired=必須
sufficientモジュール実行成功時には、前の行の「required」のモジュール実行が全て成功していれば、その時点で認証許可sufficient=十分な
optionalモジュール実行に成功・失敗した時でも、そのあとの行にあるモジュールの実行を続ける 
 ▼LDAPクライアントの利用方法
  【1. コマンド】
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
基本設定ldapadd
 [オプション]
-h
(host)
LDAPサーバ指定 
-xSASLは未使用で簡易認証するSASL=Simple Authentication and Security Layer
認証などのフレームワーク
-D [識別名]
(discrimination)
認証で使う識別名指定discrimination=識別
-Wパスワード入力は対話式で行う 
-w パスワード
(word?)
パスワード指定なんで、「password」じゃないの?
-f [ファイル名]
(file?)
LDIFファイル指定LDIF=LDAP data interchange format
ldapdelete データ削除 
 ldapmodify データ変更 
 ldappasswd
 [オプション]
 パスワード変更 
検索ldapsearch
[オプション] [検索条件]
-h [ホスト名]
(host)
検索をするLDAPサーバ指定 
-xSASLは未使用で簡易認証するSASL=Simple Authentication and Security Layer
認証などのフレームワーク
-b [識別名]
(searchbase)
検索開始する位置を指定 
-L検索結果をLDIFv1で表示なぜか「L」が少ない方が情報多い
-LL検索結果をコメント無し表示
-LLL検索結果をコメントとLDAPverの表記無し表示

【LPIC_202試験】■2. ファイル共有

■2. ファイル共有
 ▼Sambaサーバの設定
  【1. 設定ファイル】(/etc/samba/smb.conf)
★特徴
①設定項目名は、スペースあるのがほとんど
セクション中項目設定項目内容覚え方・コメント
globalワークグループworkgroup = [ワークグループ名]所属ワークグループ 
名前解決netbios name = [NetBios名]SambaサーバのNetbios名を設定 
wins support = [yes/no]SambaサーバをWinsサーバとして使うかを設定 
wins server = [IPアドレス]WINSサーバがある場合、IPアドレスを設定 
Sambaサーバ共有名server string = [文字列]ブラウジング時に表示されるサーバに関する説明string=糸
サーバに紐づく情報
browsable = [yes/no]共有名を表示させるかどうか 
マスター
ブラウザ
os level = [数値]ブラウザ選択時の優先度。
数値大ほど、優先度大
BIOSでの、boot基準みたいなもの。
でも、なんで「os」?
local master = [yes/no]ブラウザ選択に参加するかどうか 
preferred master = [yes/no]ブラウザ選択を要求するかどうかpreferred=推奨
ドットhide dot files = [yes/no]「.」で始まるファイルを隠すかどうか設定 
スクリプトlogon script = [スクリプト名]ログオン後に実行されるスクリプトを設定 
認証security =
 ①user
 ②share
 ③server
 ④domain
 ⑤ads
認証方法設定
 ①user: ユーザ単位認証
 ②share: 共有単位認証
 ③server: パスワードサーバ認証(LDAP)
 ④domain: ドメコン認証
 ⑤ads: AD認証
 
passdb backend = [認証方式]Samba3.0系、 security = user の場合
smbpasswd, tdbsam, ldapsam 等の認証方式を設定(複数設定可能)
 
smb passwd file = [ファイル名]security = user の場合
「smbpasswd」での認証をする際のパスワードファイル設定
システム本体だから「passwd」
password server = [NetBIOS名/IPアドレス]security = server の場合
別サーバで認証する際のパスワードサーバを設定
システム本体じゃないから「password」
パスワードusername map = [ファイル名]ユーザ名のマッピング情報を記載するファイル 
guest account =
 [ゲストユーザ名]
ゲスト認証を許可する場合のゲストユーザ名 
map to guest =
 ①Never
 ②Bad User
 ③Bad password
認証不可だった場合の挙動を設定
 ①Never: ゲスト認証禁止
 ②Bad User: 未存在ユーザはゲスト認証。
  でも、存在ユーザのパスワード不正は
  ゲスト認証禁止
 ③Bad password: パスワード不正も
             ゲスト認証
 
encrypt passwords = [yes/no]暗号パスワードを使用するかどうかシステム全体に影響あるときは、「s」が付く
null passwords = [yes/no]空パスワードを許可するかどうかシステム全体に影響あるときは、「s」が付く
unix password sync = [yes/no]LinuxとSambaのパスワードを同期させるかどうか 
passwd program = [プログラム名]Sambaでパスワード変更したときに実行するプログラム
(「unix password sync」が有効の場合のみ発動)
ユーザ単位の場合は、「s」がつかない
passwd chat = [文字列]パスワードプログラム実行時の応答メッセージを設定 
ログlog file = [ファイル名]ログファイル名 
log level = [レベル]ログレベル。数値が大きいほど詳細 
max log size = [サイズ]最大ログファイルサイズ設定。ファイルが設定値超えると新しいログファイル作成。
「0」は無限。
 
homes

printers

任意名前セクション
ブラウジングcomment = [コメント]ブラウジング時に表示されるメッセージ 
ディレクトリpath = [ディレクトリ名]共有ディレクトリパス指定「path」って略しすぎでしょ
権限writable = [yes/no]書込み許可するかどうかそのまま
read only = [yes/no]読み取り専用にするかどうかそのまま
write list = [ユーザ名@グループ名]「writable」等で書き込み禁止されても、特別に書込みできるユーザを設定「write list」は絶対的権限
valid users = [ユーザ名@グループ名]アクセス可能ユーザ設定valid=有効な
invalid users = [ユーザ名@グループ名]アクセス不可ユーザ設定 
ゲストguest ok = [yes/no]
public = [yes/no]
ゲストログインを許可するかどうか。
[yes]だとパスワード無でもログインOK
 
隠しファイルhide files = [ファイル名]非表示にしたいファイルなどあれば指定。
アクセスは○。
ファイルは複数だろうから「s」が付く。
隠しフォルダのようだね
veto files = [ファイル名]非表示にしたいファイルなどあれば指定。
アクセスも×
veto = 禁止
「veto」は否定が強い言葉?
ファイル所有force user = [ユーザ名]共有フォルダ内に作成するファイル等の所有者を強制的に設定 
force user = [グループ名]共有フォルダ内に作成するファイル等の所有グループを強制的に設定 
権限create mask = [値]ファイルに適用可能な権限を設定
本値と、DOS属性をUnix属性に変換した値との論理積(and)がファイルの権限になる。
属性削除時に利用。
デフォルト:0744
なんでやねん
force create mode = [値]必須適用の権限設定。
本値と、「create mask」での算出値との論理和(or)が最終的な権限。
属性追加時に利用。
デフォルト:0000
 
directory mask = [値]ディレクトリに適用可能な権限設定。
本値と、DOS属性をUnix属性に変換した値との論理積(and)がディレクトリの権限になる。
属性削除時に利用。
デフォルト:0755
 
force directory mode = [値]必須適用の権限設定。
本値と、「directory mask」での算出値との論理和(or)が最終的な権限。
属性追加時に利用。
デフォルト:0000
 
  【2. Sambaコマンド】
★特徴★デーモン(smbd、nmbd)
①オプションは、大文字
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
ユーザ
設定
smbclient
[オプション]
//ホスト名/共有名

smbclient
//ホスト名/共有名
[オプション]
-L [ホスト名]
(List?)
指定ホストで利用できる共有リソースを一覧表示 
-N
(No)
ユーザ認証しない 
-U [ユーザ名]
- -user = [ユーザ名]
(User)
接続するユーザ指定 
マウントsmbmount
//サーバ名/共有名
マウントポイント
 [-o オプション]
username=[ユーザ名]ユーザ名通常の「mount」コマンドと同じ
password=[パスワード]パスワード 
workgroup=[ワークグループ名]ワークグループ 
ro読み取り専用マウント 
NetBiosnmblookup
[オプション]
[NetBIOS名]
[IPアドレス]
[WG名]
-M
(Master)
マスターブラウザ検索 
-A
(Aレコード?)
引数をIPアドレスとみなす。
指定IPアドレスのMACやNetbios名を表示。
 
構文チェックtestparm-s
(streate?)
  
-v
(verbose)
 verbose=詳細レポート表示
 ▼NFSサーバの設定
★特徴★デーモン(nfsd、mountd、portmap)
①オプションは、小文字
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
root権限のままアクセス[dir名] [ホスト名] [オプション]ro読み取り専用でエクスポート 
rw読み書き許可してエクスポート 
no_root_squashrootリクエストをroot権限で実行squash=押しつぶす
root_squashrootリクエストを匿名アカウント権限で実行 
all_squash全リクエストを匿名アカウント権限で実行 
syncクライアント端末とサーバの書き込みを同期
ディスク書込み「後」に応答を返す
デフォルト
asyncディスク書込み「前に応答を返す壊れるかも・・・
anonuid=uidsquash時にユーザ指定 
anongid=gidsquash時にグループ指定 
マウントmount
[-o オプション]
NFSサーバ名:エクスポートdir
マウントポイント
nolockファイルロックしない 
softサーバから応答無ければ、タイムアウトエラー 
hardサーバから応答があるまで要求繰り返し(デフォルト) 
retransソフトマウント時の再試行数 
intrハードマウント時の割り込みを許容 
fgサーバから応答なしの時は、フォアグランドでmount実行デフォルト
bgサーバから応答なしの時は、バックグランドでmount実行 
rsize読み取りのブロックサイズ指定(バイト単位) 
wsize書込みのブロックサイズ指定(バイト単位) 
showmount
[オプション]
[ホスト名]
-a
(all)
マウント一覧
NFSサーバ側の使用コマンド
 
-e [NFSサーバ名]
(export)
指定サーバでエクスポートしてるディレクトリ表示
NFSクライアント側の使用コマンド
 
エクスポートexportfs
[オプション]
[ホスト名:dir名]
-a
(all)
全dirをエクスポート
または、アンエクスポート
 
-r
(reload)
全dirを再度、エクスポート
/etc/rc.d/init.d/nfs reload も同様
 
-u
(un)
dirをアンエクスポート 
-v
(verbose)
詳細なエクスポート状況表示verbose=詳細レポート表示
RPC
(リモート)
rpcinfo-p
(portmapper )
RPCサービス一覧表示 
状態確認nfsstat-s
(server)
サーバ側の統計表示 
-c
(client)
クライアント側の統計表示 
-n
(nfs)
NFS側の統計表示 
-r
(rpc)
RPCの統計表示 
-o
(option?)
下記を指定して表示
・nfs,rpc,net,fh,rc,all
 

【LPIC_202試験】■1. Webサービス

■1. Webサービス
 ▼1. Webサーバの実装
  【1. Apache (httpd.conf)】(/etc/httpd/conf/httpd.conf)
★特徴
①コンテンツ関連は、基本的に「Document(ディレクトリ)」が付く
②項目において、単語区切りで、頭文字が大文字になっている
③設定項目名は、スペースが無いのがほとんど
大項目中項目ディレクティブ(要素)内容覚え方・コメント
サーバコンテンツTimeout [秒]クライアントからリクエスト受け取り、
コンテンツ提供完了までの最大時間
なぜタイムアウト?
プロセス数StartServers  
 [子プロセス数]
Apache起動時のhttpd子プロセス数 
・MinSpareServers 
 [子プロセス数] 
・MaxSpareServers 
 [子プロセス数]
httpd待機子プロセス数の最小値、最大値 
MaxClients作られるhttpd子プロセスの最大値 
最大同時接続可能数
 
MaxRequestsPerChildhttpd子プロセスが処理するリクエストの最大値 
リクエスト数 
(なぜか
KeepAlive・・)
KeepAlive [ on / off ]1TCP接続で、複数リクエスト受付の可否 
MaxKeepAliveRequests1TCP接続での、
最大受付リクエスト数(「0」は無限)
 
KeepAliveTimeout [秒]KeepAlive時に前リクエスト完了後から、
コネクション切断せずに、 次のリクエスト受け取るまでの最大待ち時間
 
基本
設定
IPアドレス
ポート番号
Listen [IPアドレス:]ポート番号リクエスト受付のIPアドレス・ポート番号設定(デフォルト「80」)待ち受けだから、「Listen」
httpd
実行関連
User [ユーザ名/ユーザID]httpd子プロセスの実行ユーザを設定「User add」じゃない
Group [グループ名/グループID]httpd子プロセスの実行グループを設定「Group add」じゃない
コンテンツディレクトリ
関連
DocumentRoot [ディレクトリ名]web公開するHTMLを格納する最上位ディレクトリを設定ファイルを置くから、「ドキュメント」?
DocumentIndex [ファイル名]インデックスとして返すファイル名を設定(複数もOK)インデックスは「ドキュメント」関連だから?
Alias [ディレクトリパス]特定のディレクトリにアクセス(ドキュメントルート外とか)あった場合、[ディレクトリパス]で指定したファイル・ディレクトリを参照させる「Alias:別名」だから
Options FollowSymlinks
Redirectリクエストを他サーバへ転送 
UserDir [ディレクトリ名/disabled]一般ユーザの公開ディレクトリ 
ErrorDocument [エラーコード/ファイル名/文字列]エラー時の処理を設定なぜか「Document」が入る
初期設定
(sever)
ホスト名ServerName [サーバホスト名(:ポート番号)]Apacheサーバのホスト名・ポート番号を指定なぜ「hostname」でないの?
設定ファイルServerRoot [ディレクトリ名]httpdが使う設定ファイル
(関連コマンドを格納するベースディレクトリを設定)
メインで使うっぽいから、Root(一番上)?
管理者情報ServerAdmin [メールアドレス]管理者メールアドレスを指定(エラーページに表示)管理者情報だから、「ServerAdmin」?
昔は、メールしかないから、メールアドレスのみ?
認証BASIC認証AuthType認証方式を設定。BASIC認証=BASIC「BASIC」基本のため、auth?
AuthName認証画面メッセージ表示設定Name=メッセージ
AuthUserFileパスワードファイル名auth=パスワード
AuthGroupFileグループファイル名そのまま
Requireユーザ・グループを指定
Require user [user-1]
Require group [group-1]
Require=要求する
⇒要求すれば、ユーザもグループも設定できる
Satisfyホスト認証とユーザ認証の両方認証あったらどうするか設定
①ALL:両方
②Any:どちらか満たせばよい
 
ダイジェスト
認証
AuthType認証方式を設定。Digest 
AuthName認証領域を指定(BASIC認証と違うよ)
AuthUserFileパスワードファイル名auth=パスワード
AuthDigestGroupFile  
Requireユーザ・グループを指定
Require user [user-1]
Require group [group-1]
Require=要求する
⇒要求すれば、ユーザもグループも設定できる
外部
設定
ファイル
外部設定
ファイル
AccessFileName [file]外部設定ファイル名
※デフォルト「.htaccess」以外のファイルを設定する場合のこと
外部=access
AllowOverride [parameter]外部設定ファイル「httpd.conf」の上書き○

AuthConfig: 認証関連の設定○
Limit: Order,Allow,Deny
     ディレクティブ設定○
All: 全設定変更○
None: 全設定変更×
Override=無効
仮想
ホスト
IPアドレスベース   
名前ベースNameVirtualHost  
DSODSOモジュールLoadModuleDSOモジュール組込みに必要 
ログIPアドレスHostnameLookups [on/off]クライアント端末のIPアドレスをログに書き込むときに、IPアドレスを逆引きして、ホスト名で書き込むか設定ホスト名のlookup
「s」も忘れずに。
フォーマットLogFormatアクセスログ書式定義そのまま
ファイル名Customlog [file]アクセスログファイル名および「LogFormat」で定義された書式を設定
%h :リモートホスト名
%l :リモートログ名
%u :リモートユーザ名
%t :受付時刻
%r :リクエストの最初行
%s :ステータス
%b :レスポンスバイト数
サーバへのリクエストのログ収集
エラーErrorLog [file]エラーログファイル名を設定 
LogLevel [level]エラーログを書きだすレベルを設定 
  【2. Apacheモジュール】
大項目中項目モジュール内容覚え方・コメント
認証関連認証mod_authBASIC認証BASICなのは「auth」
mod_auth_digestダイジェスト認証ダイジェスト付与
動的mod_so動的(DSO:Dynamic Shared Object)モジュール組み込む機能組込み機能だけだから、「D」が無い?
セキュリティmod_sslSSL通信そのまま
言語mod_perlPerl機能そのまま
mod_phpPHP機能そのまま
  【3. アクセス制御】
大項目設定内容Order Deny,AllowOrder Allow,Deny覚え方・コメント
アクセス
制御
デフォルト全て○全て×後ろの文字が優先される
一部○Order Deny,Allow
 Deny from all
 Allow from
 IPアドレス/ホスト名
Order Allow,Deny
 Allow from
 IPアドレス/ホスト名
 
一部×Order Deny,Allow
 Deny from
 IPアドレス/ホスト名
Order Allow,Deny
 Allow from all
 Deny from
 IPアドレス/ホスト名
 
全て○Order Deny,AllowOrder Allow,Deny
 Allow from all
 
全て×Order Deny,Allow
 Deny from all
Order Allow,Deny 
  【4. Apacheコマンド】
★特徴
①オプションは、危なそうなのは大文字(Deleteなど)
用途メイン
コマンド
オプション
(フルスペル)
内容覚え方・コメント
Apache
動作
apachectl
apache2ctl
startApache起動 
stopApache停止 
restartApache再起動 
gracefulApache安全再起動graceful=上品な
configtest (「-t」でも同様)設定ファイルの構文チェックコンフィグチェックじゃないんだ・・・
①apachectl configtest
②apachectl -t
③httpd -t
ユーザ
パスワード
htpasswd-c
(create?)
新規パスワード作成「add」じゃないよ
-D
(Delete)
ユーザ削除インパクトが大きい「ユーザ自体削除」だから大文字?
モジュールhttpd-l
(list?)
静的組込みモジュール表示 
-M
(Module?)
動的・静的組込みモジュール表示
(Apache2.2系以降)
全てのモジュールだから、「M」?
 ▼Webサーバ保守
  【1. ssl.conf】(/etc/httpd/conf/ssl.conf)
大項目中項目ディレクティブ(要素)内容覚え方・コメント
SSL保管場所SSLCertificateKeyFileサーバ秘密鍵(server.key)の場所Certificate=証明書
SSLCertificateFileサーバ証明書(server.crt)の場所Certificate=証明書
server.csr=証明書発行要求書(s=sent?)
認証レベルSSLVerifyClientクライアント認証レベル設定。
「require」⇒クライアント証明書必須
 
有効無効SSLEngineSSLの有効無効設定(on/off)エンジンのオン・オフ
 ▼Proxy
  【1. squid.conf】(/etc/squid/squid.conf)
大項目中項目設定項目内容覚え方・コメント
基本
設定
利用ポートhttp_port [IPアドレス:]ポート番号squid が使用するポート番号 
キャッシュhierarchy_stoplist [文字列]キャッシュを使わない文字列設定hierarchy(ハイアラーキー)=階層、序列
maximum_object_size [バイト数]最大キャッシュサイズ 
minimum_object_size [バイト数]最小キャッシュサイズ 
maximum_object_size_in_memory [バイト数]最大メモリキャッシュサイズリソース調整
ipcache_size [数]IPアドレス名前解決キャッシュ数「ipcache」は略しすぎでしょ
cache_dir [ディレクトリ]ディレクトリキャッシュ及びパラメータリソース調整
cache_mem [バイト数]全メモリの最大値リソース調整
cache_log [ファイル名]キャッシュログを保存するファイル名 
HTTP
リクエスト
request_header_max_size [バイト数]最大ヘッダサイズ 
request_body_max_size [バイト数]最大ボディサイズ 
アクセス
制御
acl [acl名] [aclタイプ] [文字列/ファイル名]ACL定義。下記、主なaclタイプ
src :接続元IPアドレス
dst :接続先IPアドレス
time :時刻
url_regrex :URLの正規表現

port :接続先ポート
proto :転送プロトコル
method :HTTPメソッド
proxy_auth :ユーザ認証
プロキシは、半端なプロト
http.access allow/deny [acl名]ACL制御 
認証auth_param [認証方式] program [認証プログラム] [パスワードファイル]ユーザ認証設定 
  【2. アクセス制御】
大項目中項目ACL名内容覚え方・コメント
アクセス
制御
ドメインsrcdomain [ドメイン名]接続元のドメイン名 
dstdomain [ドメイン名]宛先のドメイン名 
メソッドmethod [メソッド名]HTTPリクエストメソッド 
ユーザproxy_auth [ユーザ名]対象ユーザ 
ポートport [ポート番号]ポート番号 
プロトコルproto [プロトコル名]プロトコル「protocol」じゃないよ
IPアドレスsrc [IPアドレス/マスク]クライアント端末のIPアドレス/マスク 
dst [IPアドレス/マスク]宛先のIPアドレス/マスク 
MACarp [MACアドレス]接続元MACアドレスなんでarpが付くんだ?
時間time [S/M/T/W/H/F/A] [開始時刻 [終了時刻]曜日・時間
(S~A:日曜~土曜)
 
正規表現url_regex [文字列]正規表現のURLregex=正規表現
urlpath_regex [文字列]正規表現のURL
(プロトコル・ホスト名は除外)
 

FC2-Counter (Since 2013/8)