システム管理者: Linux サーバーの運用と管理
1 min read

システム管理者: Linux サーバーの運用と管理

として Linux システム管理者Linux サーバーを効果的かつシームレスに運用および管理するには、基本的な管理概念をしっかりと理解する必要があります。

この記事で RHCSA シリーズでは、プロフェッショナルのようにタスクを実行するために知っておく必要のある重要な概念にスポットライトを当てます。

Linux マルチユーザー ターゲットでのログインとユーザーの切り替え

熟練したLinuxユーザーや初心者が知っておくべき基本的なスキルの1つは、 システム上のユーザーを管理する。

システムにログインするには、ssh 構文を使用します。

ssh root@server-IP
OR
ssh -l user@server-IP

ログインしたら、コマンドを使用して現在ログインしているユーザーを確認できます。

whoami
SSH ユーザーログイン
SSH ユーザーログイン

 

上記の出力からわかるように、私は次のユーザーとしてログインしています。 レイバイブ

さらに、次のような追加情報も入手できます。 ユーザID (ユーザーID)と 性同一性障害 (グループID)を使用して id 指示。

id
LinuxでユーザーIDを見つける
LinuxでユーザーIDを見つける

Linuxユーザーは、 /etc/passwd ファイル。コマンドを入力すると、ユーザーのリストを表示できます。

cat /etc/passwd
Linux でユーザーを一覧表示する
Linux でユーザーを一覧表示する

/etc/passwd ファイルにはシステム ユーザーと通常のユーザーの両方が含まれます。

別のユーザーに切り替えるには、コマンドを使用するだけです。

su username

たとえば、ユーザーを切り替えるには テクミント、 走る。

su tecmint

再度、現在ログオンしているユーザーを確認するには、コマンドを実行します。

whoami
ユーザーログインの切り替え
ユーザーログインの切り替え

システムユーザーは、 /sbin/ノーログイン ユーザー情報の詳細の末尾にサフィックスが付きます。これは、それらのユーザー名に切り替えてログオンに使用することはできないことを意味します。

通常のユーザーに切り替えてログインできるのは、 バイナリ 末尾に、シェル ユーザーであることを示す文字列があります。

Linux でのシステムの起動、再起動、シャットダウンをマスターする

このセクションでは、システムを再起動およびシャットダウンする方法について説明します。

Linux システムの再起動

システムを root ユーザーとして再起動するには、次に示すいずれかのコマンドを試してください。

reboot
systemctl reboot
shutdown -r now
init 6 
telinit 6

最後の2つのコマンドは、システムに実行レベルを切り替えるよう指示します。 6 システムが自動的に再起動します。

Linux システムのシャットダウン

Linux システムをシャットダウンするには、root ユーザーとして次のいずれかのコマンドを実行します。

halt
systemctl halt
poweroff
systemctl poweroff
shutdown -h now
init 0
telinit 0

システムを手動で異なるターゲットに起動する

の出現前 システム システムを簡単に表示できます ランレベル – 現在では ターゲット の中に /etc/inittab ファイル。

現在のランレベルを表示するには、次のコマンドを実行するだけです。 ランレベルただし、これはもう使われていません。Systemdは「ターゲット‘ 代わりに ランレベル

デフォルトのターゲットを確認するには、 systemctl コマンド。

systemctl get-default

利用可能なすべてのターゲットを表示するには、コマンドを実行します。

systemctl list-units --type target --all
Linux のすべてのターゲットを一覧表示する
Linux のすべてのターゲットを一覧表示する

デフォルトのターゲットを設定するには、次の構文を使用します。

systemctl set-default TARGET.target

例えば、 グラフィカル ターゲットの場合、構文は次のようになります。

systemctl set-default  graphical.target

次に、再起動して新しいターゲットを起動します。

ブートプロセスを中断して Linux システムにアクセスする

システムを少し調整したい場合は、一時的に 起動プロセスを中断する そして殻を手に入れる。 ルートユーザーのパスワードを忘れた システムに問題があり、それをリセットしてアクセスできるようにしたい場合、どうすればよいでしょうか?

これを達成するには、まず e キーボードの グラブ2 メニューが表示されます。

を押した後、 e キーの グラブ2 メニューをスクロールして、 linux そして、行末に次の文を追加します。 rhgb quiet 最後に追加します:

ブートメニューを編集する
ブートメニューを編集する

rd.break 起動プロセスの早い段階で中断をトリガーし、 enforcing=0 SELinuxのpermissiveモードを有効にします( selinux=0

次に、 Ctrl + X システムを再起動します。

プロンプトが次のように変わります。

switch_root:/#

次に、 /sysroot 読み取りおよび書き込みモードのパーティション。

switch_root:/# mount -o remount, rw /sysroot

次にchrootを実行します /sysroot

switch_root:/# chroot /sysroot

次のコマンドを実行して、root のパスワードを変更できます。

sh-4.4# passwd root

入力するよう求められます 新しい ルートパスワードを入力し、後で確認します。

最後に、ファイルを読み取り専用としてマウントします。

sh-4.4#  mount -o remount,ro /
新しいルートパスワードを設定する
新しいルートパスワードを設定する

2 回終了すると、システムが再起動します。これで、新しく設定したパスワードを使用して、root ユーザーとしてログインできるようになります。

ログインに成功したら、コマンドを実行します。

restorecon /etc/shadow
setenforce 1

Linux でリソースを大量に消費するプロセスを見つけて終了する

メモリを大量に消費するプロセスは、CPU と RAM に過度の負担をかけ、重要なアプリケーションやアプリケーションのフリーズや突然の終了を引き起こす可能性があります。これを回避するには、Linux システムで実行されているプロセスを監視し、それらを停止する方法を知ることが重要です。

一見すると 実行中のプロセス次のコマンドを実行します:

top

の トップコマンド システム上で実行中のプロセスのリアルタイムビューと、その他の指標を表示します。 システム稼働時間、 負荷平均、 CPU使用率とメモリ使用率。

Linux の実行中のプロセスを表示する
Linux の実行中のプロセスを表示する

の改良 トップコマンド それは htop コマンド 詳細なリアルタイムのシステム パフォーマンス統計と、各プロセスがメモリと CPU に与える影響を表示します。

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install htop
htop
htop インタラクティブ プロセス ビューアー
htop インタラクティブ プロセス ビューアー

終了または プロセスを強制終了する、その ピッド (プロセスID) またはプロセス名:

kill PID

たとえば、PID 1091 のプロセスを強制終了するには、次を実行します。

kill 1091

たとえば、プロセス名を使用してプロセスを強制終了するには、firefox は次の構文を使用します。

kill firefox

Linux でプロセス スケジュールを調整する方法

スケジューラはカーネルの一部であり、CPU によって次に実行される実行可能なプロセスを決定します。

スケジューラは、主に 2 つのカテゴリのスケジューリング ポリシーを提供します。

  1. 通常のポリシー
  2. リアルタイムポリシー

リアルタイム スケジューリング ポリシーは、次の 2 つのサブカテゴリで構成されます。

  1. スケジュール – 同じ優先度のタスクの場合、このポリシーはラウンドロビン モデルを使用します。このポリシーでは、タスクに等しい実行時間間隔が割り当てられます。
  2. スケジューリングFIFO – 同じ優先度のタスクの場合、次のタスクを実行する前に最初のタスクが譲歩する必要があります。

のために 普通 ポリシーとして、次のものがあります。

  • スケジュール_その他 – これは、通常のタイムシェアリングに使用されるデフォルトのタイムシェアリング スケジューラ ポリシーです。

あるポリシーから別のポリシーに切り替えるには、 チャート コマンドは、PIDが 1091 使用する スケジュール情報 で表される -f 優先度のフラグ 10

chrt -f -p 10 1091

以下のコマンドは同じプロセスPIDを設定します 1091 使用する スケジュール_その他 で表される -o フラグ。

chrt -0 -p 10 1091
chrt コマンド オプション
chrt コマンド オプション

Linux システム ログを見つけて理解する方法

従来、システムログファイルは ログ ディレクトリとその他のログ ファイルおよびその保存ファイル パスは、示されているとおりです。

  • 監査ログ – SELinuxイベントを保存する
  • メールログ – メール関連のメッセージを保存します
  • ログファイル – 起動ログメッセージを保存します
  • /var/log/セキュア – 認証関連のログを保存します
  • /var/log/cron – cronジョブに関するログを保存します
  • ログファイル – Apache Webサーバーに関するログを保存します
  • ログファイル – sssdサービスに関するログを保存します

systemdシステムでログファイルを表示するには、 コマンド journalctl。

ジャーナルctl コマンドは、以下のログを照会して表示します。 ジャーナルは、ログ データを収集して保存する systemd デーモンです。これにより、管理者はシステムの関連ログの概要を把握しやすくなります。

journalctl
Journald からログを一覧表示する
Journald からログを一覧表示する

前回の起動以降のすべてのイベントログを表示するには、 -b 示されているオプション。

journalctl -b

今日記録されたすべてのイベント ログを表示するには、コマンドを使用します。

journalctl --since=today

最新のメッセージを表示するには、実行します。

journalctl -f

ブート サマリーを表示するには、プロセスを実行します。

systemd-analyze

起動時に各プロセスが費やした時間を表示するには、次のコマンドを実行します。

systemd-analyze-blame

Linux でシステム ログを保存する方法

前のサブトピックでは、関連するシステムログを表示できました。 ジャーナルctlただし、デフォルトでは、システム ログは再起動後には保存されません。

したがって、ログを保存または永続的に保管できるようにするには、いくつかの調整を行う必要があります。

まず、ジャーナルディレクトリを作成します ログ

mkdir /var/log/journal

これの唯一の欠点は、ハードディスク上で多くのスペースを占有する可能性があることです。

ディスクスペースの使用を制限するには、 ジャーナル ファイル。

vim /etc/systemd/journald.conf

見つける SystemMaxUse 属性を設定し、ディスク容量の最大使用量を定義します。この場合、最大容量を次のように定義しています。 100MB

ディスクサイズの設定
ディスクサイズの設定

次に、変更を保存して構成ファイルを終了します。

最後に、変更を有効にするために以下のコマンドを実行します。

systemctl restart systemd-journald

ネットワーク サービスを開始、停止、ステータスを確認する方法

次に、ネットワーク サービスを管理する方法を見てみましょう。

サービスの開始と停止

たとえば、サービスを開始および停止するには パスワード次の構文を使用します。

systemctl start sshd.service
systemctl stop sshd.service

サービスのステータスを確認する

サービスの状態を確認するには、たとえば、ssh が実行されているかどうかを確認するには、実行します。

systemctl status sshd.service

サービスを再起動または再ロードする

サービスを再起動するには、次のいずれかのコマンドを使用します。

systemctl restart name.service
systemctl try-restart name.service
systemctl reload name.service

たとえば、ssh を再起動するには、いずれかのコマンドを実行します。

systemctl restart sshd.service

サービスを有効化または無効化する

システムの起動時にサービスが開始されるように構成します。

systemctl enable service.name

起動時にサービスが自動的に開始されないようにするには、次のコマンドを実行するだけです。

systemctl disable service.name

実行中のすべてのサービスの一覧

すべてのサービスを一覧表示するには、コマンドを実行します。

systemctl list-units --type service

Linux システム間で安全にファイルを転送する

あるシステムから別のシステムへファイルを送信するときに、ファイルのプライバシーと機密性を保つには、 scp コマンドの略 安全なコピー実験室 このコマンドは SSH プロトコルを利用して送信中にファイルを暗号化し、侵入者を寄せ付けないようにします。

構文は次のとおりです。

scp /path/to/file  username@remote-IP address:/destination path

例えば、 Linuxの基礎 現在の作業ディレクトリからリモートLinuxシステムへ /tmp ディレクトリで、次のコマンドを実行します。

scp linux_fundamentals.pdf [email protected]:/tmp

接続を続行するかどうかの確認と、リモート システムのパスワードの入力を求められます。その後、ファイルはリモート システム上の指定されたディレクトリに保存されます。

結論

さまざまな実行中のサービスと操作を効率的に運用および管理するために、すべてのシステム管理者が理解しておく必要があるコア概念とスキルについて説明しました。

このガイドが皆様にとって有益であり、システム管理スキルをさらに向上させるきっかけとなることを願っています。

Hope this help!

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *