エンジニア資格

【出題範囲は?】LinuCレベル1(Level1)の102試験ではなにを勉強すればよい?

102試験(Version 10.0)出題範囲

LinuCレベル1に認定されるためにはこの試験と101試験の受験が必須です。

Linuxのすべてのディストリビューションに共通のLinuxプロフェッショナルにとって必要なスキルをカバーしています。

出題範囲のそれぞれの項目には、重要度として重み付けがなされています。

重要度は、それぞれのトピックスの相対的な重要性を示しています。重要度が高い主題ほど、試験において多くの問題が出題されます。

なにを優先して勉強すべきか?

重要度を参考に考えますと、以下を最優先に勉強すべきです。

  • 1.06.2 シェルスクリプト
  • 1.08.1 アカウント管理
  • 1.09.2 システムのログ

また次の項目も重要になってきます。

  • 1.06.1 シェル環境のカスタマイズ
  • 1.07.1 インターネットプロトコルの基礎
  • 1.07.2 基本的なネットワーク構成
  • 1.07.3 基本的なネットワークの問題解決
  • 1.08.2 ジョブスケジューリング

主題1.06: シェルおよびスクリプト

1.06.1 シェル環境のカスタマイズ

重要度は以下のようになっています。

4

概要は以下のようになっています。

  • ユーザの要求に応じてシェル環境をカスタマイズできる。全体のプロファイルおよびユーザのプロファイルを変更する。

詳細は以下のようになっています。

  • ログイン時または新しいシェルを生成したときに、環境変数(PATHなど)を設定する。
    • /etc/bash.bashrc, /etc/profile
    • ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc, ~/.bash_logout
    • ., source, lists(;, &&, ||)
  • コマンド置換を使用する。
    • alias
  • コマンドサーチパスを適切なディレクトリに設定する。
    • PATH

1.06.2 シェルスクリプト

重要度は以下のようになっています。

6

概要は以下のようになっています。

  • 簡単なBashスクリプトを新規作成できる。
  • 作成したBashスクリプトをシステムの利用者に適用できる。
  • 処理結果により動作を分岐できるスクリプトを作成できる。
  • Linux スキルの無いユーザに規定のコマンドを実行できる環境を提供できる。
  • シェルスクリプトの引数を処理できる。

詳細は以下のようになっています。

  • よく使用する一連のコマンド用にBashの関数を作成する。
    • function
  • 先頭行(#!)を利用して、適切なスクリプトインタプリタを選択する。
  • スクリプトの位置、所有権、実行権を管理する。
    • chown, chmod
  • 標準的なshの構文(ループ)を使用する。
    • for, while
  • コマンドの成功または失敗を示す戻り値を使用する。または、つぎに渡すコマンドのために戻り値を指定して終了する。
    • $?, exit
  • 条件に応じて処理を変更する。
    • if, case
  • 引数に応じて処理を変更する。
    • $#, $*, $@, $0, $1..$n, shift
  • 使用するユーザに依存しないスクリプトを作成する。
    • PATH
  • シェルスクリプトをデバッグする。
    • bash -v, bash -x

主題1.07: ネットワークの基礎

1.07.1 インターネットプロトコルの基礎

重要度は以下のようになっています。

4

概要は以下のようになっています。

  • TCP/IPネットワークの基礎を適切に理解していることを示すことができる。

詳細は以下のようになっています。

  • ネットワークマスクとCIDR表記法。
    • サブネット化
  • プライベートとパブリックのドット区切り形式のIPアドレスの違い。
  • 一般的なTCPおよびUDPのポート(22/SSH, 25/SMTP, 53/DNS, 80/HTTP, 123/NTP, 443/HTTPS)
  • UDP、TCP、およびICMPの違いや主な機能
  • IPv4とIPv6の主な違い
  • IPv6の基本的な機能

1.07.2 基本的なネットワーク構成

重要度は以下のようになっています。

4

概要は以下のようになっています。

  • ホスト上の設定を参照、変更、確認できる。

詳細は以下のようになっています。

  • ネットワークインターフェイスの設定を手作業および自動で行う。
    • /etc/hostname
    • ifconfig, ifup, ifdown, nmcli
    • ip addr
  • ホストの基本的なTCP/IP設定
    • /etc/hosts, /etc/nsswitch.conf, ping
  • デフォルトルートの設定
    • ip route, route

1.07.3 基本的なネットワークの問題解決

重要度は以下のようになっています。

4

概要は以下のようになっています。

  • ホスト上のネットワークに関する問題解決ができる。

詳細は以下のようになっています。

  • ネットワークに関する問題の原因を調査する。
    • host, dig, ping, ping6, netcat(nc, ncat), netstat, ss
    • traceroute, traceroute6, tracepath, tracepath6
  • 必要に応じてネットワークインターフェイスの追加、起動、停止、再起動、削除、および再設定する。
    • ifconfig, ifup, ifdown, hostname
  • ルーティングテーブルを変更、参照、設定し、不適切なデフォルトルート設定を手作業で訂正する。
    • ip route, route

1.07.4 クライアント側のDNS設定

重要度は以下のようになっています。

2

概要は以下のようになっています。

  • DNSクライアントの設定ができる。

詳細は以下のようになっています。

  • リモートDNSサーバーに問い合わせる。
    • host, dig
  • ローカルの名前解決の設定によりリモートDNSサーバーを使用する。
    • /etc/resolv.conf
  • 名前解決の実行順序を変更する。
    • getent, /etc/nsswitch.conf, /etc/hosts

主題1.08: システム管理

1.08.1 アカウント管理

重要度は以下のようになっています。

5

概要は以下のようになっています。

  • ユーザアカウントの追加、削除、一時停止、変更ができる。

詳細は以下のようになっています。

  • ユーザおよびグループを追加、変更、削除する。
    • useradd, userdel, usermod
    • groupadd, groupdel, groupmod
    • /etc/default/useradd
  • 新しいユーザアカウント用のスケルトンディレクトリを保守する。
    • /etc/skel/
  • パスワード/グループデータベースにあるユーザ/グループ情報を管理する。これには複数グループの所属も含む。
    • passwd, /etc/passwd, /etc/shadow, /etc/group
    • getent, id

1.08.2 ジョブスケジューリング

重要度は以下のようになっています。

4

概要は以下のようになっています。

  • cronまたはanacronを使用して定期的にジョブを実行したり、atを使用して指定時刻にジョブを実行できる。

詳細は以下のようになっています。

  • cronおよびatでジョブを管理する。
    • /var/spool/cron/
  • ユーザがcronおよびatサービスにアクセスできるよう設定する。
    • /etc/cron.allow, /etc/cron.deny
    • /etc/at.deny, /etc/at.allow
    • at, atq, atrm
    • /etc/cron.{d,daily,hourly,monthly,weekly}/
    • /etc/crontab
  • anacronの設定
    • /etc/anacrontab

1.08.3 ローカライゼーションと国際化

重要度は以下のようになっています。

3

概要は以下のようになっています。

  • システムを英語以外の言語にローカライズできる。スクリプトでLANG=Cが役立つ理由についても理解している。

詳細は以下のようになっています。

  • 国際化(i18n) とローカライゼーション(l10n)の基本を理解している。
  • ロケール設定と環境変数を設定する。
    • LANG, LC_ALL, LC_*
    • /usr/bin/locale
    • iconv, UTF-8, ISO-8859, ASCII, Unicode, ISO-2022-JP

主題1.09: 重要なシステムサービス

1.09.1 システム時刻の管理

重要度は以下のようになっています。

2

概要は以下のようになっています。

  • システム時刻を適切に維持し、NTPやchronyによって時計を同期できる。

詳細は以下のようになっています。

  • システムの日付および時刻を設定する。
    • date
  • ハードウェアの時計に時刻を設定する。
    • hwclock
  • 正しいタイムゾーンを設定する。
    • /usr/share/zoneinfo/, /etc/timezone, /etc/localtime
    • TZ, tzselect, timedatectl
  • 基本的なNTP設定
    • ntpd, ntpdate, ntp.conf
    • chronyd, chronyc, chrony.conf
  • 公的な標準 NTP サーバーを使用できる。
    • pool.ntp.org
  • ntpq コマンドについて知っている。

1.09.2 システムのログ

重要度は以下のようになっています。

5

概要は以下のようになっています。

  • rsyslogデーモンを設定できる。
    • これには、ログ出力を中央のログサーバーに送信するようログデーモンを設定することが含まれる。
    • または中央のログサーバーとしてログ出力を受け入れることも含まれる。
  • systemd のジャーナルサブシステムを使用できる。
  • ログのローテーション、圧縮、削除を自動化できる。

詳細は以下のようになっています。

  • rsyslogデーモンを設定する。
    • rsyslog.conf, rsyslogd
  • systemd のジャーナルの問い合わせ、フィルタ、削除する。
  • 標準的なファシリティ、優先度、およびアクションを理解する。
    • logger, systemd-cat
    • journalctl, /etc/systemd/journald.conf, /var/log/journal/
  • logrotateを設定する。
    • logrotate, /etc/logrotate.conf, /etc/logrotate.d/, /var/log/

1.09.3 メール配送エージェント(MTA)の基本

重要度は以下のようになっています。

2

概要は以下のようになっています。

  • 一般的に使用可能なMTAプログラムについて概要を理解し、ホストで配送とエイリアスの基本的な設定を行える。その他の設定ファイルについては対象外となる。

詳細は以下のようになっています。

  • 電子メールのエイリアスを作成する。
    • /etc/aliases, newaliases
  • 電子メールの配送設定をする。
    • ~/.forward, mail, mailq
  • 一般的に使用可能なMTAプログラムについて知っている(設定は含まない)。
    • postfix, exim

主題1.10: セキュリティ

1.10.1 セキュリティ管理業務の実施

重要度は以下のようになっています。

3

概要は以下のようになっています。

  • システム構成を調べて、ホストのセキュリティをローカルセキュリティポリシーに従わせる方法を知っている。

詳細は以下のようになっています。

  • システムを監査して、SUID/SGIDビットが設定されているファイルを探す。
    • find
  • ユーザのパスワードおよびパスワードエージング情報を設定または変更する。
    • passwd, usermod, chage
  • nmapおよびnetstatを使用して、システムの開いているポートを見つける。
    • ss, netstat, nmap, lsof, fuser
  • ユーザのログイン状況や履歴を把握する。
    • who, w, last
  • ユーザのログイン、プロセス、メモリー使用量を制限する。
    • ulimit
  • 基本的なsudoの設定および利用ができる。
    • su, sudo, /etc/sudoers
  • 自動ログアウトの設定をする。
    • TMOUT

1.10.2 ホストのセキュリティ設定

重要度は以下のようになっています。

3

概要は以下のようになっています。

  • 基本的なレベルのホストのセキュリティの設定方法を知っている。

詳細は以下のようになっています。

  • シャドウパスワードおよびその機能について知っている。
    • /etc/passwd, /etc/shadow, /etc/nologin
  • 使用していないネットワークサービスをオフにする。
    • /etc/xinetd.d/, /etc/xinetd.conf
    • /etc/inetd.d/, /etc/inetd.conf
    • systemctl, /etc/init.d/
    • chkconfig, service
  • Firewallの概要を知っている。
    • iptables, firewalld

1.10.3 暗号化によるデータの保護

重要度は以下のようになっています。

3

概要は以下のようになっています。

  • 公開鍵技術の基本を理解している。
  • 公開鍵技術を使用して、データおよび通信を保護できる。

詳細は以下のようになっています。

  • OpenSSH クライアントの設定および利用ができる。
    • ssh-keygen, ssh-agent, ssh-add
  • 主要な暗号化アルゴリズムと特徴を知っている。
    • rsa, ecdsa, ed25519
  • SSHポート転送について理解している。
  • 基本的なGnuPGの設定および利用ができる。
    • gpg, gpg-agent, ~/.gnupg/

1.10.4 クラウドセキュリティの基礎

重要度は以下のようになっています。

3

概要は以下のようになっています。

  • パブリッククラウドとオンプレミスのLinuxサーバーのセキュリティ対応の差について知っている。
  • パブリッククラウド上にあるLinuxサーバーのリスクを理解できる。

詳細は以下のようになっています。

  • パブリッククラウドの管理機能とLinuxサーバーの機能分担について理解している。
    • 管理コンソール、 ファイアウォール、ルーティング
  • リージョン選択(国内外の制約も含む)の意味を理解している。
  • パブリッククラウドの揮発性ストレージの利用方法を理解している。
  • クラウドサービス事業者の制約による管理
    • メンテナンス、再起動
  • パブリッククラウドの管理コンソール(システムコンソール)へのアクセス経路と認証方式について知っている。
    • インターネット経由でのアクセス、クラウドサービス事業者提供の認証方法
    • 多段階・多要素認証、ワンタイムパスワード

主題1.11: オープンソースの文化

1.11.1 オープンソースの概念とライセンス

重要度は以下のようになっています。

2

概要は以下のようになっています。

  • オープンソースの定義や特徴を知っている。
  • 主要なオープンソースのライセンスについて知っている。

詳細は以下のようになっています。

  • オープンソースの定義を理解している。
    • 自由
    • ソースコード
  • オープンソースの特徴を理解している。
    • 著作物
    • 無保証
    • 継続した開発
    • 多くのライセンスが存在
  • 主要なライセンスの特徴を知っている。
    • GPL, AGPL, LGPL, MPL, BSD系(MIT, Apache V2), パブリックドメイン
    • 改変と再配布

1.11.2 オープンソースのコミュニティとエコシステム

重要度は以下のようになっています。

1

概要は以下のようになっています。

  • オープンソース開発のしくみを知っている。

詳細は以下のようになっています。

  • コミュニティの構成や参加方法を知っている。
    • メーリングリスト、掲示板、開発サイト、開発体制
  • オープンソースエコシステムへの参加について知っている。
    • 使用、紹介、バグ報告

おすすめ記事

1

本気でエンジニアになりたいかたは何からはじめていいかわからないことがあるでしょう。 そんな方に便利なのが、未経験者でもいちからサポートしてくれるプログラミングスクールをおすすめします。未経験者だと難し ...

2

未経験からエンジニアとして転職を目指している人におすすめの転職エージェントを紹介します。 初めてだと未経験だからなにから始めていいかわからない、ほんとにエージェントは相手にしてくれるのか?、と不安にな ...

-エンジニア資格