1. 105シェル、スクリプト、およびデータ管理
    1. 105.1 シェル環境のカスタマイズと仕様
      1. ログインシェル
        1. psで-bashと表示
      2. 対話型シェル
      3. /etc/profile
      4. ~/.bash_profile
      5. ~/.bash_login
      6. ~/.profile
      7. ~/.bashrc
      8. /etc/bashrc
      9. ~/.bash_logout
      10. 環境変数
        1. HOME
        2. LANG
        3. PATH
        4. PWD
        5. USER
      11. シェル変数
        1. PS1
        2. BASH
      12. set
      13. unset
      14. export
      15. env
      16. function
      17. declare -f
      18. alias
        1. \コマンド
      19. unalias
      20. lists
    2. 105.2 簡単なスクリプトをカスタマイズまたは作成する
      1. スクリプト
        1. 条件
          1. if
          2. case
        2. ループ
          1. for
          2. while:真の間繰り返し
          3. until:偽の間繰り返し
      2. source
      3. .
      4. expr
      5. seq
        1. seq 5:1~5
        2. seq 1 3 10:1~10を3きざみ
        3. seq -w 10 10 100:桁数をそろえる
      6. read
      7. test
        1. ファイル
          1. 種類
          2. -f
          3. -d
          4. -b
          5. -c
          6. -L:シンボリックリンク
          7. パーミッション
          8. -r
          9. -w
          10. -x
          11. -u:SUID
          12. -g:SGID
          13. -k:スティッキービット
        2. ファイル特性
          1. -nt
          2. -ot
          3. -e:ファイルがあれば
          4. -s:サイズ0以上があれば
        3. 数値
          1. -eq
          2. -ge
          3. -gt
          4. -le
          5. -lt
          6. -ne
        4. 文字列
          1. -n:長さが0以上あれば
          2. -z:長さが0であれば(zero)
          3. A = B
          4. A != B
        5. 論理
          1. !条件
          2. A -a B
          3. A -o B
      8. 特殊変数
        1. $?
        2. $1~$9, ${10}
        3. $$
        4. $#
        5. $@:$0以外の全て
        6. $*:$0以外の全て
        7. $!:最後に実行したバックグラウンドのPID
        8. $$
        9. $-:現在のオプションフラグ
    3. 105.3 SQLデータ管理
      1. LIMIT
      2. 基本
        1. SELECT
      3. SQL関数
        1. MAX
        2. MIN
        3. SUM
        4. AVG
        5. COUNT
      4. 演算子
        1. +
        2. >=
        3. <=
        4. <>
  2. 主題106ユーザインターフェイスとデスクトップ
    1. 106.1 X11のインストールと設定
      1. X Window System(X11, X)
        1. XFree → X.Org
        2. Xサーバ
          1. ハードウェア管理
          2. Xクライアントへイベント通知
          3. xhost:Xクライアントに接続許可を設定
          4. +ホスト名
          5. -ホスト名
          6. +
          7. -
        3. Xクライアント
          1. アプリ管理
          2. Xサーバへ描画依頼
          3. 環境変数DISPLAY:Xサーバを指定
          4. [ホスト名|IPアドレス]:ディスプレイ番号(デフォルトなら0)
        4. /etc/X11/xorg.conf
          1. セクション
          2. ServerLayout
          3. Files
          4. フォント、カラーデータベースファイルのパス
          5. Module
          6. InputDevice
          7. キーボード,マウス
          8. Monitor
          9. モニター
          10. Device
          11. ビデオカード
          12. Screen
          13. 表示色数、解像度
          14. コマンド
          15. 自動生成
          16. Xorg -configure
          17. /root/xorg.conf.newを作成
          18. テスト
          19. X -config /root/xorg.conf.new
          20. /etc/X11/xorg.confへコピー
          21. ビデオモードの設定
          22. xvidtune
        5. 設定確認
          1. showrgb:利用可能な色とRGB値
          2. xlsclients:実行中のXクライアント
          3. xwininfo:ウィンドウのサイズ、位置、色深度
          4. xdpyinfo:ディスプレイ情報
        6. Xフォントサーバ(xfs)
          1. xorg.conf
          2. FontPath "unix/:7100"
          3. FontPath "unix/:-1"
          4. /etc/X11/fs/config
          5. コマンド
          6. /etc/init.d/xfs start:起動
          7. xlsfonts:利用可能なフォント
        7. コマンド
          1. startx:起動
          2. xinit
          3. ~/.xinitrc
          4. /etc/X11/xinit/xinitrc.d/以下
          5. /etc/X11/xinit/xinitrc
          6. ~/.xsession
          7. ~/.Xclients
          8. /etc/X11/xinit/Xclients
    2. 106.2 ディスプレイマネージャの設定
      1. ディスプレイマネージャ
        1. ログイン時のユーザ認証、シェル起動
        2. 種類
          1. XDM:X.Org
          2. XDMCPプロトコル
          3. xdm-config
          4. /etc/X11/xdm/Xsession
          5. ~/.xsession
          6. Xresources:ログイン画面のデザイン設定
          7. Xaccess:XDMへのアクセス許可
          8. Xsetup_0:ログイン前実行
          9. カラー設定や背景指定が可能
          10. GDM
          11. KDM
      2. ウィンドウマネージャ
        1. twm
        2. vtwm
        3. fvwm
        4. Afterstep
        5. Sawfish
        6. Enlightenment
        7. WindowMaker
        8. XFce
        9. kwin
        10. Metacity
    3. 106.3 アクセシビリティ
      1. スティッキーキー
      2. スローキー
      3. バウンスキー
      4. トグルキー
      5. マウスキー
      6. リピートキー
      7. ソフト
        1. Orca:スクリーンリーダー
        2. GOK:オンスクリーンキーボード
        3. emacspeak:スクリーンリーダー
        4. AccessX:キーボード
          1. Oracle提供
  3. 主題107管理業務
    1. 107.1 ユーザアカウント、グループアカウント、 および関連するシステムファイルを管理する
      1. /etc/passwd:ユーザアカウント管理
        1. ユーザ名
        2. パスワード:/etc/shadow
        3. UID:rootは0,一般ユーザは100以降
        4. GID:/etc/group:プライマリグループ
        5. GECOS:コメント
        6. ホームディレクトリ
        7. デフォルトシェル
      2. /etc/group:グループ管理
        1. グループ名
        2. グループパスワード:x=/etc/shadow
        3. GID
        4. グループメンバ:,区切り
      3. /etc/shadow:パスワード管理
        1. ルートのみ読み取り可能(400)
      4. /etc/issue, /etc/issue.net:ログイン前に表示される
      5. /etc/motd:ログイン後に表示される
      6. 管理コマンド
        1. useradd:ユーザ作成
          1. -c コメント
          2. -d ホームディレクトリパス
          3. -g プライマリグループ名|GID
          4. -G サブグループ名|GID
          5. -s ログインシェルパス
          6. -D デフォルトの設定値を表示もしくは設定
        2. usermod:既存ユーザ変更
          1. useraddとほぼ同じオプション
          2. -L:パスワードロック(無効化)
          3. -U:ロック解除
        3. userdel:ユーザ削除
          1. -r:ホームディレクトリ削除
        4. passwd:パスワード変更
          1. -l:パスワードロック(無効化)
          2. -u:ロック解除
          3. -n:変更禁止期間
        5. /etc/passwd の第2番目を*にする
        6. groupadd:グループ作成
        7. groupmod:既存グループ情報変更
          1. -g:GID変更
          2. -n:グループ名
        8. groupdel:グループ削除
          1. プライマリグループとしているユーザがいると削除不可
        9. id:ユーザのUID, GIDを表示
      7. /etc/skelディレクトリ
    2. 107.2 ジョブスケジューリングによるシステム管理業務の自動化
      1. cron
        1. crond:デーモン
          1. 1分ごとに起動
        2. crontab:編集
          1. /var/spool/cron/crontabs/[ユーザ名]
          2. /etc/crontab:システム用
          3. 実行ユーザ指定
          4. -e:編集
          5. -l:内容表示
          6. -r:削除
          7. -u ユーザ名:ユーザのcrontab編集
          8. 書式:分 時 日 月 曜日 コマンド
          9. 曜日:0~7
          10. */2:2分毎
          11. *:全ての値
        3. アクセス制御
          1. /etc/cron.allow
          2. /etc/cron.deny
          3. 全ユーザ可能
      2. at
        1. 日時のみ → 入力モード
        2. -f ファイル名 日時
        3. -l:一覧表示
        4. -d:削除
        5. 日時指定
          1. 22:00, 10pm
          2. noon
          3. midnight
          4. today
          5. tomorrow
          6. now + 3 days
        6. atq
        7. atrm
        8. アクセス制御
          1. /etc/at.allow
          2. /etc/at.deny
          3. rootのみ可能
    3. 107.3 ローカライゼーションと国際化
      1. ロケール
        1. カテゴリ
          1. LC_CTYPE
          2. LC_COLLATE
          3. LC_MESSAGES
          4. LC_MONETARY
          5. LC_NUMERIC
          6. LC_TIME
          7. LC_ALL
          8. LANG
        2. ロケール名
          1. 言語名_国家|地域名.文字コード
          2. ja_JP.utf8
        3. locale:ロケール設定確認
      2. 文字コード
        1. iconv
      3. タイムゾーン
        1. /usr/share/zoneinfo/
        2. /etc/localtime
        3. /etc/timezone
        4. TZ:環境変数
        5. tzconfig
        6. tzselect
          1. 表示のみ、設定は不可
  4. 主題110セキュリティ
    1. 110.1 セキュリティ管理業務を実施する
      1. ポート確認コマンド
        1. netstat
        2. lsof
          1. -c コマンド:コマンドに一致するプロセスのみ
          2. -i[:ポート]:指定したポートのIP番号のみ
          3. -p PID 指定したPIDのみ
          4. -u UID:ユーザ-IDのみ
        3. nmap
          1. ポートスキャン
      2. SUID/SGID
        1. find / -perm -u+s -ls
        2. find / -perm -g+s -ls
        3. find / -perm -o+t -ls
      3. パスワード管理
        1. chage
          1. -l:有効期限を表示
          2. -m:最低間隔日数
          3. -M:最大有効期限
          4. -d:最終更新日
          5. -W:有効期限切れの警告表示を何日前からか
          6. -I:有効期限切れ後のロック日数
          7. -E:無効となる日付
      4. /etc/nologin
      5. 一般ユーザのログイン禁止
        1. ログインシェルを、/bin/false, /sbin/nologinに変更する
        2. usemod -s /sbin/nologin ユーザ名
      6. su
        1. -:環境も全て変更後ユーザとなる
        2. 無し:ユーザのみが切り替わる
      7. sudo
        1. visudo
        2. /etc/sudoers
          1. 許可するユーザ名 ホスト名=実行ユーザ名 [NOPASSWD:]コマンド
          2. ALL
          3. NOPASSWD:実行時にパスワードを聞かれない
          4. 一般ユーザは読込不可
        3. -l:実行可能なコマンドを表示
      8. ulimit
        1. -a:設定値の表示
        2. -c:コアファイルサイズ
        3. -f:生成ファイルサイズ
        4. -n:同時に開けるファイル数
        5. -u:プロセス数
        6. -v:仮想メモリサイズ
    2. 110.2 ホストのセキュリティ
      1. デーモン
      2. スーパーサーバ
        1. inetd
          1. /etc/inetd.conf
          2. 1ファイル中に全サービスを記述
          3. service_name
          4. socket_type:TCP=stream, UDP=dgram
          5. protocol:tcp|udp
          6. flag:wait|nowait:処理終了待機フラグ
          7. user:実行ユーザ
          8. program:プログラムへのパス|tcpd
          9. args:引数
          10. 起動したデーモンは、in.デーモン名となることがある
        2. xinetd
          1. /etc/xinetd.conf
          2. instances:最大デーモン数
          3. log_type:出力方法(ファシリティを指定)
          4. log_on_success:接続許可時のログ内容
          5. log_on_failure:接続拒否時のログ内容
          6. cps:1秒間の最大コネクション数
          7. includedir:サービスごとの設定ファイルディレクトリ
          8. /etc/xinetd.d/
          9. サービスごとの設定
          10. disable:有効|無効
          11. socket_type:TCP=stream, UDP=dgram
          12. wait:ウェイトタイム
          13. server:プログラムへのフルパス
          14. server_args:プログラムへの引数
          15. log_on_failure:接続拒否時のログ内容
          16. nice:優先度
          17. only_from:接続を許可する接続元
          18. no_access:接続を拒否する接続元
          19. access_time:アクセスを許可する時間帯
      3. TCP Wrapper
        1. /etc/hosts.allow
          1. 書式:サービス名:ホストのリスト
          2. ALL
          3. A EXCEPT B
          4. LOCAL
          5. PARANOID
          6. in.telnetd: .lpic.jp =lpic.jpからtelnetへのアクセス許可
        2. /etc/hosts.deny
        3. /var/log/secure
    3. 110.3 暗号化によるデータの保護
      1. SSH
        1. OpenSSH
          1. debian:openssh-client, openssh-server
          2. reahat:openssh, openssh-server, openssh-client
        2. v1:RSA1
          1. 秘密鍵:ssh_host_key
          2. 公開鍵:ssh_host_key.pub
        3. v2:DSA, RSA
          1. DSA秘密鍵:ssh_host_dsa_key
          2. DSA公開鍵:ssh_host_dsa_key.pub
          3. RSA秘密鍵:ssh_host_rsa_key
          4. RSA公開鍵:ssh_host_rsa_key.pub
        4. サーバ
          1. sshd
          2. /etc/ssh/sshd_config
          3. Port:ポート(22)
          4. Protocol:SSHのバージョン(1,2)
          5. HostKey:ホストの秘密鍵ファイル
          6. PermitRootLogin:rootでもログインを許可するか
          7. RSAAuthentication:v1での公開鍵認証使用有無
          8. PubkeyAuthentication:v2での公開鍵認証使用有無
          9. AuthorizedKeysFile:公開鍵ファイル
          10. PermitEmptyPaswords:空のパスワード許可
          11. PasswordAuthentication:パスワード認証
          12. X11Forwarding:X11転送を許可
          13. /etc/init.d/sshd start
          14. /etc/init.d/ssh start
        5. クライアント
          1. /etc/ssh/ssh_config
          2. ssh
        6. ホスト認証
          1. ~/.ssh/known_host:サーバの公開鍵
        7. クライアント認証
          1. 公開鍵認証
          2. クライアント
          3. ~/.ssh/known_hosts
          4. ssh-keygen
          5. -t タイプ:暗号化タイプを指定(rsa1, rsa, dsa)
          6. 秘密鍵
          7. identity
          8. id_dsa
          9. id_rsa
          10. 公開鍵
          11. identity.pub
          12. id_dsa.pub
          13. id_rsa.pub
          14. サーバ
          15. ~/.ssh/authorized_keys
          16. ssh-keygen
          17. 秘密鍵
          18. /etc/ssh/ssh_host_rsa_key
          19. 公開鍵
          20. /etc/ssh/ssh_host_rsa_key.pub
          21. パスフレーズ
        8. scp
        9. ssh-agent
          1. ssh-add
        10. ポート転送
      2. GnuPG
        1. gpg
          1. --list-keys
          2. --gen-key
          3. 公開鍵のエクスポート
          4. gpg -o ファイル名 -a --export メールアドレス
          5. 公開鍵のインポート
          6. gpg --import ファイル名
          7. 署名
          8. gpg --sign-key メールアドレス
          9. 暗号化
          10. gpg -e -a -r メールアドレス 対象ファイル名
          11. 復号化
          12. gpg 暗号化後対象ファイル名
        2. 執行証明書
          1. gpg -o 証明書ファイル名 --gen-revoke メールアドレス
          2. gpg --import 証明書ファイル名
  5. 主題109ネットワークの基礎
    1. 109.1 インターネットプロトコルの基礎
      1. TCP/IP
        1. OSI参照モデル
        2. TCPプロトコル
          1. コネクション型
          2. 消失パケットの再送
          3. 転送順序を整列
          4. FTP, Telnet, POP, SMTPで使用
        3. IPプロトコル
          1. コネクションレス型
          2. IPアドレスの規定
          3. データグラム(伝送単位)の規定
          4. ネットワーク経路の制御
        4. UDPプロトコル
          1. DNS, FNSで使用
        5. ICMPプロトコル
          1. ping, tracerouteで使用
        6. IPv4
          1. 32ビット
        7. IPv6
          1. 128ビット
      2. IPアドレス
        1. ネットワーク部
          1. ネットワークセグメント
        2. ホスト部
          1. ネットワークセグメント内の識別
        3. サブネットマスク
        4. ブロードキャストアドレス
          1. ホスト部をすべて"1"
        5. ルータ
          1. ネットワークアドレスが異なるネットワークの通信
        6. クラス
          1. ネットワーク部のビット数
          2. A:8ビット
          3. サブネット:255.0.0.0
          4. 0xxxxxxx
          5. IPアドレス:0.0.0.0~127.255.255.255
          6. プライベート:10.0.0.0~10.255.255.255
          7. B:16ビット
          8. プライベート:172.16.0.0~172.31.255.255
          9. 10xxxxxx
          10. C:24ビット
          11. プライベート:192.168.0.0~192.168.255.255
          12. 110xxxxx
        7. デフォルトゲートウェイ
          1. IPアドレスの先頭8ビットが"0"
        8. ローカルループバック
          1. IPアドレスの先頭が"127"
        9. CIDR
      3. ポート
        1. ウェルノウン 1023番まで
          1. 20,21:FTP
          2. 22:SSH
          3. 23:Telnet
          4. 25:SMTP
          5. 53:DNS
          6. 80:HTTP
          7. 110:POP3
          8. 119:NNTP
          9. 139:NetBIOS
          10. 143:IMAP
          11. 161:SNMP
          12. 443:HTTP over SSL
          13. 465:SMTP over SSL
          14. 993:IMAP over SSL
          15. 995:POP3 over SSL
        2. 0~65535まで
        3. レジスタードポート:1024~49151
        4. /etc/services
      4. コマンド
        1. telnet
        2. ftp, lftp, ncftp
        3. dig
          1. -x:IPからホスト
          2. a:IPアドレス
          3. any:すべて
          4. mx:メールサーバ
          5. ns:ネームサーバ
          6. @DNSサーバ名指定
        4. whois
    2. 109.2 基本的なネットワーク構成
      1. /etc/hostname
      2. /etc/hosts
      3. /etc/nsswitch.conf:名前解決の問い合わせ順
        1. files
        2. ldap
        3. dns
      4. /etc/resolv.conf
        1. domain ドメイン名を指定
        2. search ドメインが省略された場合の補完を指定
        3. nameserver DNSサーバを指定
      5. (RedHat)/etc/sysconfig/network
        1. HOSTNAME=ホスト名
      6. /etc/sysconfig/network-scripts/
    3. 109.3 基本的なネットワークの問題解決
      1. ping
      2. traceroute
      3. tracepath
      4. host
      5. hostname
      6. netstat
        1. -n:名前解決しない
        2. -r:ルーティングテーブル
          1. Destination:宛先
          2. Gateway:ゲートウェイ
          3. Genmask:サブネット
          4. Flag
          5. U:経路有効
          6. H:ホストとして設定
          7. G:ゲートウェイを使用
          8. Iface
        3. -t:TCPのみ
        4. -u:UDPのみ
      7. route
        1. 引数なし:表示
        2. 追加:route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.30.0.254
        3. 追加:route add default gw 172.30.0.1
        4. 削除:route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.30.0.254
        5. route del default gw IPアドレス:デフォルトゲートウェイを削除
        6. route del default:デフォルトゲートウェイを削除
      8. ifconfig
        1. lo:ローカルループバックインターフェース
      9. ifup
      10. ifdown
    4. 109.4 クライアント側のDNS設定
  6. 主題108重要なシステムサービス
    1. 108.1 システム時刻を維持する
      1. ハードウェアクロック
      2. システムクロック
        1. date
          1. 表示:+%Y%m%d%H%M
          2. 設定:[MMDDhhmm[[CC]YY][.ss]]
      3. hwclock
        1. -r:表示
        2. -w:システムクロック→ハードウェアクロック
        3. -s:ハードウェアクロック→システムクロック
      4. NTP
        1. ntpdate さーば
        2. /etc/init.d/ntpd
          1. /etc/ntp.conf
          2. server:問い合わせ先
          3. pool.ntp.org
          4. /etc/ntp.drift
    2. 108.2 システムのログ
      1. syslog
        1. /etc/syslog.conf
          1. 書式:ファシリティ.プライオリティ 出力先
          2. ファシリティ:出力元
          3. auth, authpriv
          4. cron
          5. daemon
          6. kern
          7. lpr
          8. mail
          9. syslog
          10. local0~7
          11. *
          12. プライオリティ:優先度
          13. emerg
          14. alert
          15. crit
          16. err
          17. warning
          18. notice
          19. info
          20. debug
          21. none
          22. *
          23. 出力先
          24. ファイル名
          25. @ホスト
          26. ユーザ名
          27. *:全ユーザ
          28. /dev/console
        2. loggerコマンド
          1. -p:ファシリティ.プライオリティ
          2. -t:タグ
          3. メッセージ
        3. ログファイル
          1. /var/log/messages
          2. /var/log/secure
          3. /var/run/utmp
          4. /var/log/wtmp
          5. /var/log/lastlog
        4. 関連コマンド
          1. who:ログイン中ユーザ
          2. w:ログイン中のユーザ+システム情報
          3. last:最近ログインしたユーザ
          4. lastlog:ユーザごとの最近のログイン情報
          5. Topic
        5. ローテーション
          1. logrotate
          2. /etc/logrotate.conf
        6. klog:カーネルログを最初に受ける(syslogより前)
    3. 108.3 メール転送エージェント(MTA)の基本
      1. MTA
        1. SMTPサーバ
        2. 種類
          1. sendmail
          2. /etc/init.d/sendmail
          3. /etc/mail/access
          4. Postfix
          5. /etc/init.d/postfix
          6. sendmail互換
          7. qmail
          8. exim
      2. mailコマンド
        1. -s 題名
        2. 宛先メールアドレス|ユーザ名
        3. 引数なし:受信メール確認
      3. エイリアス
        1. /etc/aliases
        2. newaliases
        3. /etc/aliases.db
      4. 転送設定
        1. ~/.forward
      5. メールキュー
        1. mailq
    4. 108.4 プリンターと印刷を管理する
      1. CUPS
        1. 631ポート
        2. 設定ファイル
          1. /etc/cups/cpusd.conf
          2. /etc/cups/ppd/:プリンタの機種依存情報
          3. /etc/cups/printers.conf
        3. /etc/init.d/cups
      2. PostScript
        1. GhostScript:非PostScriptプリンタ用に変換
      3. コマンド
        1. lpr:印刷
          1. -#部数
          2. -P プリンタ名
          3. ファイル名
          4. パイプでの印刷も可能
        2. lpq:プリントキュー確認
          1. -P プリンタ名
        3. lprm:印刷要求削除
          1. -P プリンタ名
          2. -:自分の印刷要求全てを削除