GNU/Linux >> Linux の 問題 >  >> Linux

Linuxスキルを高めるための13の演習

多くの作成者は、Enable Sysadminリーダーに、ホームラボ環境を構築する理由、またはvirsh、Ansible、さらにはコンテナーを使用してラボ環境を作成するためのガイダンスを提供しています。それで、ホームラボが自分に適していることがわかり、記事を使用して優れたセットアップを構築したので、次は何ですか?

私が教えるときは、Linuxの知識を高めたり、認定試験の準備をしたりするために使用できる論理的な順序で提案されたスキルを提供する、自分のペースで学習できるラボワークブックを生徒に提供します。この記事のワークブックを変更して、光沢のある新しいLinuxラボ環境に関係する13のことを説明しました。

これは膨大なガイドラインのセットです。さらに、ステップバイステップの説明はありません。実際、それがポイントです。現実の世界と同じように、これらのタスクを実行する方法がまだわからない場合は、これらのタスクを調べて自分で学ぶ必要があります。

一部のタスクをカバーするEnableSysadminの記事があります。教訓は、これらすべての答えを知っている必要があるということではなく、見つける方法を知っている必要があるということです。 これらすべての答え。すべてのセクションを実行する必要はありませんが、他のセクションに依存しているものもあります。

1。 Linuxを選択

ホームラボは多くの目的を果たすことができ、ラボを使用して何を達成したいかについてのアイデアが必要です。

  • Linuxで何ができるかを調べているだけの場合は、CentOSStreamまたはFedoraをインストールすると柔軟な環境が提供されます。これらのディストリビューションのいずれかをスペアコンピューター、Raspberry Piにインストールするか、仮想マシン(VM)またはコンテナーとしてインストールできます。
  • 目的地から旅を始めたい場合は、サポートされているプラ​​ットフォームにRed Hat Enterprise Linux(RHEL)をインストールできます。これにより、エンタープライズ品質のLinuxを使い始めることができます。つまり、セットアップを完了すると、本番環境に移行する準備が整います。

これらのディストリビューションはすべてFedoraから派生しているため、インストールプロセスは、どちらを選択しても基本的に同じです。開始方法がわからない場合は、紹介ガイドに従うことができます。この情報を使用して、次のタスクでインストールするディストリビューションを選択し、Linuxランドスケープをよりよく理解してください。

2。少なくとも3つのディストリビューションをインストールする

  • 個別のブート、変数、ホーム、スワップ、およびファイルシステムのルートパーティションを作成します(合計5つのパーティション)。将来のタスクのために、少なくとも100MBの空の未使用のパーティション化されていないハードディスクスペースを残してください。
  • 選択したディストリビューションで使用できるデスクトップグラフィカルユーザーインターフェイス(GUI)を選択します。
  • インストール中にユーザーを作成し、そのユーザーを管理者にします。これにより、ユーザーにsudoが付与されます 権限。
  • インストールが完了したら、組み込みのヘルプ機能を調べます。
    • マニュアルページを使用してfstabを調査します ファイル。
    • さまざまなマニュアルページセクションの違いは何ですか?管理者は主にセクション1、5、および8を使用します—なぜですか?
    • マニュアルページ内でキーワード検索を行うにはどうすればよいですか?
    • /usr/share/docにあるもの ?
    • 利用可能なGUIヘルプファイルを調べます。
  • Vimチュートリアルを完了します(コマンドはvimtutorです )Vimに慣れるため。必要に応じてNanoを使用できます。 確実に これらのアクティビティを続行する前に、構成ファイルを作成、開く、編集、保存、および閉じることができます。
  • tzselectを使用して、特定のタイムゾーンのインストールを構成してみてください コマンド。
  • プライマリラボコンピューターとして1つのインストールを選択します。それを「サーバー」として指定し、2番目のインストールを「クライアント」として選択します。残りのアクティビティでは、これら2つのシステムを使用します。

[学習中および作業中は、Linuxコマンドのチートシートを常に手元に置いてください。 ]

3。ユーザー権限を調整する

  • インストール時に作成したユーザーアカウントを使用してログインします。 sudoを使用する システム全体の管理タスクを実行する必要がある場合にroot権限を取得するコマンド。これは、Linux管理における重要なベストプラクティスです。
  • sudoを使用して、ユーザーアカウントに割り当てられている権限を調整します 指図。 /etc/sudoersを編集する必要があります visudoを使用してファイルを作成する コマンド。

4。テキストエディタを使用する

  • Vimを使用して認定研究計画を作成します。 Linuxスキル開発の一環として実行する予定のタスクを一覧表示します。
  • Nanoテキストエディタを使用して、3つ(またはそれ以上)のリソースを一覧表示します。
  • GUIテキストエディタの使用に自信がある3つのLinuxスキルと自信がない3つのLinuxスキルをリストします。このアクティビティ全体でGUIエディタを使用するのはこれだけです。

5。ユーザーとグループを管理する

  • /etc/skelを使用します ユーザーアカウントを追加する前にプロファイル設定を定義するディレクトリ。
  • /etc/login.defsを使用してパスワードとアカウントの有効期限を設定します ユーザーアカウントを追加する前にファイルします。次のパスワード要件を使用します。
    • パスワードは90日後に有効期限が切れ、5日間の警告期間があります。
  • コマンドラインを使用して、後のアクティビティで使用する5つのユーザーアカウントを作成します。これらのアカウントを使用して、権限と所有権を試してみます。各ユーザーに一意の名前を付けますが、すべて同じパスワードを設定します(自分の正気のため)。
  • コマンドラインを使用して、架空の部門に基づいて、営業、マーケティング、人材、IT、エンジニアリングの5つのグループを作成します。上から1人のユーザーを各グループに配置します。
  • sudoを使用して、システムを再起動する機能を1人のユーザーのみに委任します 。

6。ファイルの管理

  • ファイルシステムのルートに各部門(営業、マーケティング、人材、IT、エンジニアリング)のディレクトリを作成します。
  • 各グループが独自の部門ディレクトリにのみアクセスできるように、標準のLinux権限と所有権を構成します。たとえば、販売グループは/salesにアクセスできます。 ディレクトリですが、他の部門のディレクトリにはありません。
    • 前の手順を完了してテストした後、マーケティング部門が/salesへの読み取りアクセスを許可するようにACL権限を構成します ディレクトリ。
    • ACL権限を使用して、1つのユーザーアカウントに/ITへの読み取り権限を付与します ディレクトリ。
    • /marketingでSGIDとスティッキービットを設定します ディレクトリ。
  • 既存の2つのユーザーアカウントがマーケティンググループのメンバーになっていることを確認します。
    • 各アカウントを使用して、/marketingに1つのファイルを作成します ディレクトリ。
    • これらのアカウントの1つが、他のアカウントによって作成されたファイルを削除できるかどうかをテストします(スティッキービットのため、削除できないはずです)。
  • unchangeable.txtというファイルを作成します 、不変属性を設定してから、ファイルを削除します。
  • ファイルリンクを構成します。
    • LinksTest.txtという名前のファイルを作成します /optで ディレクトリを作成し、/tmpにそのディレクトリへのハードリンクを作成します。 ディレクトリ。 Vimを使用して、/opt/LinksTest.txtを介してファイルにテキスト行を追加します パスをクリックし、/tmp/LinksTest.txtを使用してファイルの内容を表示します ファイルパス。
    • /tmp/LinksTest.txtへのシンボリックリンクを作成します rootユーザーのホームディレクトリにあり、ファイルの内容を表示します。
    • /tmp/LinksTest.txtを削除します ファイルを作成し、/root/LinksTest.txtを介してファイルの内容を表示してみます。 シンボリックリンク。
  • /tmpに10個のファイルを作成します ディレクトリを作成し、tarを使用します およびgzip ファイルをバンドルして圧縮します。
    • 10個の元のファイルを削除してから、tarballから復元します。
  • findを使用します 部門ディレクトリでテストファイルを検索するコマンド。このタスクは、最初にrootユーザーとして、次にディレクトリを所有するグループのメンバーであるユーザーとして、最後にディレクトリを所有するグループのメンバーではないユーザーとして実行します。
  • コマンドラインでのみ、ISOイメージのマウントとアンマウントを練習してください。
  • ファイルをISOからLinuxインストール上のディレクトリにコピーします。
  • LVMの構成:
    • 残りの空のハードディスクドライブスペースのそれぞれ50MBの2つのセクションを、LVMが使用する物理ボリューム(PV)として指定します。
    • これらをPVに結合して単一のボリュームグループにし、100MBの単一の論理ボリューム(LV)を構成します。
    • このLVのマウントポイントとして機能するディレクトリを作成し、/etc/fstabにエントリを追加します。 システムの起動時にマウントされるようにします。

[テスト準備に関するその他のアドバイスについては、RedHatリモート試験の準備eBookをダウンロードしてください。 ]

7。ソフトウェアの管理

  • rpmを使用します ソフトウェアを管理するコマンド:
    • rpmを使用します インストールされているすべてのソフトウェアのインベントリを作成し、このインベントリリストをテキストファイルにリダイレクトするコマンド。
    • rpmを使用してRPMパッケージをインストールします 指図。たとえば、zshをインストールします パッケージ。必要に応じてパッケージをダウンロードします。
    • rpmを使用します zshに関する情報を取得するコマンド パッケージ化してから、rpmを使用します パッケージをアンインストールします。
  • dnfを使用します ソフトウェアを管理するコマンド:
    • dnfを使用してRPMパッケージをインストールします 指図。たとえば、kshをインストールします パッケージ。
    • dnfを使用します kshに関する情報を取得するコマンド パッケージ化してから、dnfを使用します パッケージをアンインストールします。
  • コンパイルする必要のあるソフトウェアを見つけてダウンロードします。ソフトウェアをコンパイルするプロセスを実行します。 (GitLab、GitHub、Sourceforgeは人気のある開発リポジトリです。)
  • MD5チェックサムを含むソフトウェアをダウンロードして、その整合性を検証します。ダウンロード後、MD5の結果をWebサイトの結果と比較します。

8。 CLIとGUIを起動します

  • systemdを使用してコマンドラインインターフェイス(CLI)で起動するようにラボマシンの1つを構成し、再起動して成功したことを確認します。
  • 再起動したり、デフォルト設定を変更したりせずに、systemdを使用してGUIを起動します。
  • デフォルトでGUIを起動するようにVMを再構成してから、再起動して成功したことを確認します。
  • CLIを再度起動するようにVMを構成してから、再起動して成功したことを確認します。

9。ハードウェアの管理

  • 次のコマンドを使用して、ラボコンピューターのハードウェア情報を文書化します。dfducat /proc/cpuinfocat /proc/meminfodevicespartitionsifconfigip addrcat /etc/fstabuname –a
  • これらのコマンドからの出力をテキストファイルに転送します(このドキュメントを合理的に整理するために必要な数のテキストファイルを作成します)。両方の>を使用する および>> データを整理します。
  • dmesgをリダイレクトします テキストファイルに出力してから、grepを使用します ファイル内の「メモリ」または「CPU」への参照を表示するユーティリティ。このファイルは他に何を教えてくれますか?

10。スクリプトを作成する

  • インターネットで、役立つと思われる3つ以上の簡単なスクリプトを検索してください。
    • 「ドットスラッシュ」(./)を使用する目的は何ですか )スクリプトを実行するときにスクリプトの前にありますか?
    • 「sh-bang」の目的は何ですか(#!/bin/bashなど) )スクリプトの先頭にありますか?
  • Vimを使用してこれらのスクリプトを編集します。 GUIエディタを使用しないでください。
  • JimHallのLearnBashの記事を読んでから、システム管理者向けのDavidBothのBashスクリプトをダウンロードしてください。
  • バックアップスクリプトを作成して使用し、前に作成した部門ディレクトリの内容をバックアップします。
    • cronを使用して、バックアップスクリプトを1時間ごとに実行するようにスケジュールします。 。動作することがわかったらすぐに設定を解除してください!
  • GitHubで無料のアカウントを作成し、そこにスクリプトを保存してバージョン管理を可能にします。

[Linuxcronチートシートをダウンロードします。 ]

11。システムおよびネットワークサービスを構成する

  • OSIモデルの7つの層を文書化します(これは、一般的なネットワーキングの知識と見なされます)。
  • 少なくとも1つのLinuxシステムのIPアドレスとMACアドレスをnetworking.txtというファイルに記録します rootユーザーのホームディレクトリにあります。このIPアドレスはどのクラスですか?
  • /etc/hostsを編集します 名前によるping機能を許可するために使用可能なVM上のファイル。
  • ネットワークに接続されているVMが2つ以上ある場合は、SSH接続を確立します。
    • キーベースの認証専用にSSHを設定します。
    • SSHサーバーごとにそのサーバーのホスト名をリストするバナーメッセージを設定します。 (つまり、1つのVMを管理ワークステーションとして設定し、残りのVMをサーバーとして設定してから、SSH接続を使用して1つのワークステーションからすべての管理を実行します。)SSH接続用にファイアウォールを構成する必要がある場合があります。
  • tracerouteを実行します IPアドレス8.8.8.8に送信し、出力をtraceroutegoogle.txtというファイルに記録します。 rootユーザーのホームディレクトリに保存されます。 tracepathを使用してプロセスを繰り返します コマンド。
  • 一方のVMを静的IPアドレスを持つDHCPサーバーとして構成し、もう一方をDHCPクライアントとして構成します。
    • pingを使用する 2つのVM間の接続を確認します。
  • HTTPやFTPなど、このセクションでテストするすべてのネットワークサービスのファイアウォールでポートを開きます。
    • firewall-cmdを使用します Firewalldサービスを管理するコマンド。ディストリビューションは別のファイアウォールサービスを使用している可能性があるため、適切なコマンドを使用してください。
  • Apache Webサーバーをインストールして有効にします(Apacheのプロセスはhttpdと呼ばれます )。
    • multi-user.targetで自動的に起動するようにApacheを設定します およびgraphical.target 構成。
    • VMの1つでホストされるテストWebサイトを作成します。 index.htmlを作成する必要があります ウェブページ。 Webサイトが他のVMから利用可能であることを確認します。
    • psの組み合わせを使用する およびgrep Apacheに関するプロセス情報を表示します(httpd )プロセス。
  • vsFTPdサーバーソリューションをインストールして構成し、vsFTPdサービスが自動的に開始するように設定します。
    • テストFTPサイトを利用可能にして、そこからファイルをダウンロードできることを確認します。
  • 上記のHTTPおよびFTPサービスのrsyslogログファイルを表示します。
  • GRUB2メニューファイルをカスタマイズして、ディストリビューションがデフォルトのメニューエントリ(通常はベンダーによって指定されたディストリビューションの正式な名前を表示する)ではなく、ブートメニューで「MyLinuxDistro」と表示されるようにします。
  • topを使用する プロセスを放棄するコマンド。
  • systemd-analyzeの出力をリダイレクトします コマンドをテキストファイルに入力し、起動に最も時間がかかる3つのサービスをメモします。
  • /proc/cpuinfoの内容を確認します ファイルを作成し、CPUのモデル名を文書化します。
  • /proc/meminfoの内容を確認します ファイルを作成し、システムのメモリの総量を文書化します。

12。忘れたルートパスワードを回復する

  • GRUB2の起動プロセスを中断して、rootユーザーのパスワードをリセットします。時間をかけて、この構成を活用するのにどれくらいの時間がかかりましたか?フルディスク暗号化を使用してLinuxをインストールした場合、これは機能しません。したがって、このタスクを実行できる場合は、暗号化を有効にする必要があります。

13。 GUIを調査する

  • さまざまなディストリビューションで利用できるさまざまなGUIを調べてください。これらは、使用しているディストリビューションと選択したインストールオプションによって異なります。さまざまなGUI内で、職場や家庭でなじみのある、または役立つ機能を見つけてください。
  • パソコンの使い方を考えてみましょう。 Linux上で実行される便利なオープンソースアプリケーションはありますか?たとえば、ミュージシャンはレコーディングソフトウェアをよく使用しますが、その目的でLinuxで利用できるソフトウェアは何ですか。またはゲームはどうですか?デジタル写真と画像編集?
  • さまざまなFedoraスピンの説明をオンラインで読んでください。

まとめ

これらは単なる提案です。試験の目的リスト、職務記述書、学習ガイド、およびその他のリソースからタスクを追加して、自分の道に来る可能性のあるものすべてに完全に備えるようにします。これは膨大なタスクリストであることを認識しています。象を食べるのと同じように、一度に一口ずつアプローチします。


Linux
  1. Linuxで独自のテクノロジーを構築する

  2. LinuxでBashプロンプトをWinterize

  3. Linuxシステムのファイアウォールにセキュリティを強化する

  1. Linuxで独自のコンテナを構築する

  2. コマンドラインスキルを磨くための10のチュートリアル

  3. Linuxでのネットワーク接続の確認

  1. データを消去するための4つのLinuxツール

  2. LynisでLinuxセキュリティをスキャンする

  3. Linuxターミナルで冒険に出かけましょう