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

Linux システム管理者として成功するために知っておくべき 20 のこと

Linux システム管理者は、Linux を利用した IT インフラストラクチャの管理を担当する人々です。これは、現代の企業が最も求めているポジションの 1 つです。競争力のあるシステム管理者は常に需要が高く、やりがいのある職場でのメリットが得られます。しかし、システム管理者として成功するには何が必要でしょうか?システム管理を試してみたい経験豊富な Linux ユーザーなら、このガイドが最適です。今日は、Linux 管理者になるための重要な側面について説明します。このガイドから、競争力のあるシステム管理者が知っておくべきことがわかります。

システム管理者の地位に就くために習得すべきこと

経験豊富なシステム管理者は、最も高給のコンピューター サイエンスの仕事の 1 つを非常に簡単に獲得できます。したがって、システム管理者として雇われたい場合は、読み続けて最新の Linux システム管理者の要件を確認してください。これらすべてを知らなくても心配しないでください。それらを参考にして、今日から練習を始めてください。

1.環境の設定

Linux システム管理者は、企業の要件に従ってカスタム環境をセットアップする義務があります。ほとんどの Linux ユーザーが最初に行うことの 1 つであるため、この作業に慣れている必要があります。環境要件はジョブごとに異なりますが、何らかの方法でタスクに適応する必要があります。ただし、多くの場合、すでに稼働中のシステムになってしまいます。必要なサービスを中断することなく、好みに合わせてシステムを調整してください。

環境設定の重要な側面には、パーティショニング、暗号化、BIOS 設定、およびストレージ構成が含まれます。さらに、ほとんどの企業は、企業サーバーに関する一連の厳格なガイドラインに従います。これには、ネットワーク構成、セキュリティ ファイアウォール、IDS 構成などが含まれます。以下のセクションでは、これらの多くについて詳しく説明します。

2.ユーザーとグループの管理

ユーザー管理は、Linux システム管理者のもう 1 つの主要な責任です。通常、IT システムには多数のユーザーがいて、それぞれが異なる役割を持っています。したがって、ユーザーが意図したとおりにシステムを使用できるようにする必要があります。ユーザーのシステムへのアクセスが多すぎたり少なすぎたりしないようにしてください。ユーザーの役割に基づいてアクセス権を割り当てる必要があり、この点に関しては、強固なユーザー ポリシーが必須です。

システム管理者として、新しいユーザーの作成、グループの設定、ファイルのアクセス許可、およびその他のユーザー空間属性を担当します。また、ユーザーが強力で安全なパスワードを使用していることを確認する必要もあります。パスワードの有効期限、PAM モジュール、およびログイン失敗時のロックを必ず設定してください。また、適切な setuid、setgid、およびスティッキー ビットを構成することにより、効果的なアクセス制御戦略を組み込む必要があります。

3.パッケージのインストールと構成

Linux はそのアプリケーションをパッケージとしてバンドルします。デフォルトでは、ほとんどのシステムには基本的なツールの選択セットが付属しています。ただし、他のすべての必要なパッケージをインストールし、それらを構成および管理するのは、システム管理者の責任です。パッケージ管理には多大な労力がかかるため、プロのシステム管理者は、生産性を高めるために些細なプロセスの自動化を試みる必要があります。

apt、dpkg、yum、packman などの標準的なパッケージ マネージャーとともに、Linux Cron ジョブについて十分に理解している必要があります。さらに、Linux システム管理者は、多くの場合、リポジトリを使用してパッケージをインストールまたは更新する必要があります。したがって、それがどのように機能するかを確認してください。パッケージ管理の知識がほとんどないまったくの初心者の場合は、このガイドに進んで、Linux にソフトウェアをインストールする方法を学習してください。パッケージの構成には、インストールよりも多くの作業が必要になることが多いことに注意してください。

4. Linux シェル

Linux シェルは、基盤となるシステムへのコマンド ベースのインターフェイスを提供します。システム管理者としてのキャリアを追求したい場合、これは知っておくべき最も重要なことの 1 つです。 Linux は、従来のシェルと最新のシェルの両方を含む多数のシェルをサポートしています。少なくともそのうちの 1 つに習熟し、他のいくつかを理解している必要があります。今日の管理者が一般的に使用するシェルには、Bash シェル、Zsh、Tcsh、Fish などがあります。

シェルは、コマンドとシェル スクリプトを解釈します。システム管理者として、さまざまな種類のスクリプトの作成を担当します。バックアップの取得、ログの監視、自動化などのシステム メンテナンス タスク用のシェル スクリプトを作成できる必要があります。初心者がより上手に使えるように、Linux シェル スクリプトに関する以前のガイドを用意しました。

5. Linux ファイルシステム

ファイルシステムは、Linux システムの中核に位置しています。管理者は、ファイルシステムとその操作について深く理解していることが不可欠です。 Unix システムは主にファイルシステムを重視しているため、ほとんどのシステム操作はこれを反映するように設計されています。ファイルシステムの階層、さまざまなファイルシステムの種類、権限などについて学ぶ必要があります。 Linux ファイルシステムをマスターしなければ、システム管理者として成功することはできません。

幸いなことに、Unix ファイルシステムの基礎を教えてくれる優れたリソースがたくさんあります。さまざまなファイルシステム属性と標準コマンドについて知りたい場合は、Linux ファイルシステムに関する以前のガイドを参照してください。また、Kernighan &Pike による「The UNIX Programming Environment」を読むことをお勧めします。 .著者は UNIX プロジェクトに直接関与しており、ファイルシステムに関する設計のアイデアと歴史的な洞察を本の中で提供しています。

6.ネットワークの構成と管理

Linux システム管理者は、優れたネットワーク機能を備えている必要があります。実際、多くのシステム管理者は勤務時間のほとんどをネットワークの構成と管理に費やしています。 TCP/IP プロトコル、ルーティング、スイッチング、ブリッジング、DNS などの基本的なネットワークの概念を詳細に理解している必要があります。多くの場合、既存のネットワークの管理だけでなく、新しいネットワークの設定も担当します。

また、管理者は、ifconfig、ip、netstat などの標準的な Linux ネットワーク ツールの使用に習熟している必要があります。通常、使用するツールは正確なタスクによって異なります。したがって、システム管理者は柔軟で、必要なツールが何であれ学習する準備ができている必要があります。さらに、優れたネットワーク機能を持つだけでは十分ではありません。最善のセキュリティ プラクティスを実装し、侵入者から IT インフラストラクチャを常に安全に保つ必要があります。

7.データ ストレージの管理

システム管理者として、企業の IT インフラストラクチャのデータ ストレージを管理する責任があります。データ ストレージは幅広いトピックであり、非常に重要です。機密情報を台無しにしたくはありません。そのため、適切なストレージ ソリューションをセットアップし、効果的に管理できる必要があります。パーティショニングとディスク暗号化の基本を学びます。また、信頼できる LVM スキームを設定できるはずです。

企業データを便利にバックアップし、将来の使用のために保存する必要があります。さまざまな RAID 構成モデルを学び、企業の要件に基づいて適用します。また、多くの企業では、NAS や SAN サーバーなどのネットワーク ベースのストレージ ソリューションをセットアップする必要があります。以前のガイドから、Linux に最適な NAS および SAN ソリューションのいくつかを見つけることができます。さらに、管理者は堅牢なディスク監視システムを実装できる必要があります。

8.仮想化テクノロジー

最近のすべての大企業は、何らかの形で仮想化を使用しています。そのため、Linux システム管理者は、このテクノロジの操作にかなり慣れているはずです。簡単に言えば、仮想化とは、単一の物理マシン上で複数のオペレーティング システム インスタンスを実行する機能を指します。ハードウェア コストを削減するだけでなく、システムのスケーリングも容易になります。

仮想化を実装するには、主に 2 つの方法があります。最初の方法は、ハイパーバイザー ベースの仮想マシンを利用します。これらはスタンドアロン システムとして機能しますが、かなりの量の CPU リソースを使用します。 2 つ目の方法は、LXC や Docker などのコンテナー化されたテクノロジーを使用して、OS レベルの抽象化を提供します。これにより、企業は 1 台のマシンで数百、さらには数千の異なるサービスを実行できます。システム管理者は、両方のテクノロジーに関する実用的な知識を持っていることが期待されます。

9.バックアップの管理

データは成功への原動力であり、現代の企業は大量のさまざまなデータを扱っています。システム管理者として、このデータを保護する責任があります。データを保護するための最初のステップは、バックアップを取ることです。 Linux の標準的なバックアップ ユーティリティと、一般的に使用されるバックアップ ポリシーに精通している必要があります。多くの企業は、バッキング プロセスをブートストラップするために何らかの有料のバックアップ ソリューションを使用しています。

エンタープライズ バックアップの作成と管理に関しては、バックアップ メディア、ソフトウェア、ポリシーなどを考慮する必要があります。ハードウェアのコストを低く抑えながら、最適なバックアップの機会を提供する計画を考案する必要があります。この分野に比較的慣れていない場合は、簡単なバックアップ方法に慣れておいてください。 tar ユーティリティ、マルチレベル バックアップ、圧縮バックアップ、および自動化ポリシーの使用について学習します。

10.災害復旧

小規模から中規模のオフィスで働いている場合、システム管理と並行して追加の作業を担当する可能性があります。多くの成長中の企業は、専任の災害復旧専門家を雇用しておらず、サービスが中断した場合にサポートを提供するシステム管理者に依存しています。そのため、IT 業界で使用されているさまざまな災害復旧モデルについて簡潔に理解しておく必要があります。

まず、組織全体でデータとサービスの整合性を確保できる必要があります。これには、事前に計画を立て、財政的にも技術的にも実行可能な IT 評価ポリシーを実装する必要があります。管理者は、潜在的な混乱を非常に迅速に特定し、数分以内にサービスを実行する準備ができている必要があります。いつでも災害シミュレーションを実行および分析して、できるだけ早くサービスを復旧する方法を学ぶことができます。

11.セキュリティ管理

セキュリティは、IT ジョブの最も重要な側面の 1 つです。 Linux システム管理者は、何らかの方法でエンタープライズ インフラストラクチャのセキュリティを確保する必要があります。 IT の世界には、セキュリティに関連するものがたくさんあります。ユーザー認証から Web サーバー、脆弱なサービスから悪意のある攻撃者まで、対処すべきことはたくさんあります。企業のセキュリティを管理するための最初のルールは、実績のある Linux 強化方法を実装することです。

システム管理者は、エスカレーションにつながる前に、破損したサービスを特定してパッチを適用できる必要があります。多くのパッケージの最新の更新は新しい機能を提供しますが、多くの場合不安定です。そのため、代わりに安定版を使用する必要があります。ネットワーク セキュリティは、システム管理者のもう 1 つの主要な責任です。 Linux IPtables と IDS/IPS ツールを利用して、堅固な IP セキュリティを実装してみてください。 Linux 向けの最高のオープンソース セキュリティ ツールに関するガイドを確認してください。

12.ハードウェア管理

多くの企業はフルタイムのコンピューター技術者に投資せず、ハードウェア管理をシステム管理者にのみ依存しています。これは、小規模で成長中の企業で働く専門家に特に当てはまります。この場所にいることに気付いた場合は、問題を賢く解決する準備ができている必要があります。幸いなことに、ほとんどのシステム管理者は、ハードウェアの問題が発生するとすぐに特定できる以上の能力を備えています。

さらに、障害のあるハードウェアを交換したり、自分で修正したりする必要はありません。障害のあるコンポーネントについて管理者に通知し、実行可能な代替案を提案するだけです。システムのハードウェア リソースに関する全体的な深い知識が、このような問題の鍵となります。

13.メモリ管理

今日のシステムにはレガシー マシンのようなリソース制限はありませんが、管理者はシステムを最大限に活用する必要があります。メモリ管理は、すべての Linux システム管理者にとって不可欠なタスクです。カーネルのさまざまなメモリ管理機能について明確な考えを持っている必要があります。これには、仮想メモリ、ページング、プロセス アドレス空間、メモリ マッピング、NUMA ポリシーなどの実用的な知識が含まれます。

必要に応じて、スワップ スペースを作成して割り当てることができるはずです。場合によっては、異なるオペレーティング システム間でスワップを共有することさえあります。そのため、バッファ キャッシュと仮想メモリだけでなく、スワップについても学習してください。リソースに制約のあるプラットフォームで作業している場合、メモリ管理はより重要になります。したがって、IT 環境でメモリ関連の問題を処理する準備ができている必要があります。

14.自動化

自動化は、現代の IT ジョブの主要な部分になっています。システム管理者も、ゲームをレベルアップするためにこれを採用しています。効率的な自動化により、労働時間の生産性が向上し、反復的なタスクがなくなります。さらに、最近の DevOps の進歩により、システム管理者はこれまで以上に自動化を真剣に考えるようになりました。ここまでで、Linux Cron ジョブとシェル スクリプトに精通しているはずです。これらのシンプルなツールを使用して、作業の多くの側面を自動化できます。

タスクをより適切に自動化できるようにするには、パターンを見つけることに鋭い目が必要です。タスクをカテゴリに分類し、個別に取り組むためのソリューションを考案してみてください。機能の自動化は簡単にリファクタリングでき、将来のカスタマイズ機能を提供します。実績のある自動化モデルの 1 つは、トリガー、アクション、およびスケジュールの観点から手元のタスクをレイアウトすることです。 ansible などの専門的な自動化ツールについても学習することをお勧めします。

15.トラブルシューティング

Linux システム管理者は、不要に思える問題の解決にかなりの時間を費やします。これはトラブルシューティングであり、選択した Linux ディストリビューションが何であれ、システム管理の不可欠な部分です。人は経験を積むことでトラブルシューティングが上手になります。これが、企業が上級システム管理者に最高額を支払う理由です。彼らは通常、特定の問題が発生している理由と、根本的な問題を修正するための最短ルートを知っています。

トラブルシューティングは、多くの初心者ユーザーが不快に感じる分野の 1 つです。問題解決能力を向上させる唯一の方法は、自分の仕事にもっと時間を費やすことです。システムを使用すればするほど、直面する問題が増えます。幸いなことに、新しい問題を解決するたびに、それを将来の同様の問題への参照として使用できます。これが、初心者が実用的な Linux 認定資格またはコースを修了することをお勧めする理由です。

16.モニタリング

システムとネットワークの監視は、プロのシステム管理者にとって日常的なタスクです。成功したい場合は、信頼性に注意する必要があります。効果的な監視により、管理者は潜在的な失敗を未然に防ぎ、問題をできるだけ早く解決できます。 IT プロフェッショナルは、いくつかの監視方法を使用します。ログや電子メールの監視など、反復的なタスクを自動化する必要があります。ここでの最も単純な問題でさえ、何時間にもわたるビジネス サービスを混乱させる可能性があるため、ネットワークのようなものにはより注意が必要です。

他に監視する項目には、ユーザー アクティビティ、ファイル システム、メモリ、CPU 使用率などがあります。幸いなことに、これを支援する堅牢な監視ツールが多数用意されています。 Linux df コマンドを使用してファイルシステムを監視できる一方で、top/htop などのツールを使用するとリソースの監視が容易になります。

17.ドキュメンテーション

ドキュメンテーションは、システム管理者の仕事の大きな部分を占めています。 Linux システム管理者としての成功を左右する重要な役割を果たします。ただし、多くの人、特に初心者は、自分の役割とインフラストラクチャの変更を文書化するのが難しいと感じています。公開ドキュメントや内部または組織のドキュメントなど、さまざまな種類のドキュメントがあります。議論は後者に留めます。

システム管理者は、ネットワーク構成と技術的な詳細を明確に文書化する必要があります。企業は、将来の新入社員が余分な手間をかけずに既存のシステムで作業できるように、これを要求しています。さらに、詳細なドキュメントにより、管理者は今後の混乱を解決できます。書類作成の方法は人によって異なります。スタッフをセクションに分類するのが好きです。私のドキュメントの共通部分には、ネットワーク情報、リソース、サードパーティ ツール、コマンド、およびサポート情報が含まれます。

18.コミュニケーション

効果的なコミュニケーションは、あらゆる職業で成功するために不可欠です。ただし、IT プロフェッショナルは、同僚、特に技術者以外の人と関わるのが難しいと感じることがよくあります。多くのシステム管理者は、HR やビジネスの担当者とのコミュニケーションは、実際の技術的な作業よりもはるかに難しいと言うでしょう。これはイライラする可能性があり、仕事の満足度を損なう可能性があります.そのため、コミュニケーションの努力を増やす必要があります。

効果的なコミュニケーションの鍵は、聴衆を知ることです。技術的なバックグラウンドを持たない人は、なぜ何かが壊れているのか、なぜ特定のモデルを主張しているのかをほとんど理解できません。彼らが理解できる言語を使って彼らと話す必要があります。人付き合いが苦手だと大変かもしれません。ただし、ほとんどの場合と同様に、コミュニケーション スキルは努力を重ねるほど向上します。

19.教育

他のコンピュータ サイエンスの仕事と同様に、システム管理者のポジションには特定の教育資格が必要です。ほとんどの企業は、CS または関連分野の学士号を要求する可能性があります。これにより、システム プログラミング、ネットワーキング、データベース管理などを実行する受験者の能力が証明されます。一部の企業は、特に高給の職について、修士号を要求することさえあります。

ただし、独学のシステム管理者である場合や、学位を取得していない場合でも、気を落とさないでください。 IT企業は通常、学位よりもスキルのある人を好みます。まったく関係のない分野から Linux の世界にやってきた多くのプロの管理者を知っています。学歴に関係なく、ポジションの技術的要件を満たすことができれば、仕事を得る可能性が高くなります。

20.認定

認定資格は、Linux システム管理者のキャリアにおいて極めて重要な役割を果たします。これは、管理者を開始する場合に特に重要です。前職の経験がない場合は、将来の雇用主に対して信頼できることを証明する必要があります。ここで、証明書が役に立ちます。広く受け入れられている Linux 認定資格は、日常の IT 問題に取り組む能力を証明します。さらに、多くの上級システム管理職は、特定の資格を明示的に要求しています。

初心者に最適な認定には、さまざまな Red Hat 認定や、CompTIA や LPIC などがあります。最初のシステム管理者の仕事を探している人には、RHCSA (Red Hat 認定システム管理者) または RHCE (Red Hat 認定エンジニア) をお勧めします。上級管理者は、Microsoft Certified Solutions Expert (MCSE) や Offensive Security Certified Professional (OSCP) などの専門コースから選択できます。

結末

Linux システム管理者の仕事は、過去 10 年間で大きく変化しました。現代のシステム管理者は、この要求の厳しい業界で成功するために、技術的なスキルだけでなく対人能力も備えている必要があります。さらに、新しいテクノロジーやトレンドの出現により、変化に適応する必要があります。幸いなことに、コアスキルをしっかりと理解していれば、この分野で長い道のりを歩むことができます.私たちの編集者は、あなたがやりがいのあるシステム管理者の仕事に就くのに役立つ20のことを概説するこのガイドを準備しました.努力を続ける必要があり、すぐにそこにたどり着きます.


Linux
  1. Linuxシステム自動化のための10のAnsibleモジュール

  2. Linuxとは何ですか?非技術ユーザー向けガイド

  3. システム統計:知っておくべきLinux統計コマンド

  1. Linuxシステム管理者認定試験の準備方法

  2. Linuxシステム管理者になる:販売からシステム管理者まで

  3. 信頼性の高いLinuxシステム自動化のための8つのヒント

  1. ManjaroLinuxをインストールした後に行うべき6つの重要なこと

  2. 3システム管理者に役立つLinuxコマンド

  3. Linux – Dmesgで何をgrepするかを知る方法は?