システム管理者: Linux サーバーの運用と管理
として Linux システム管理者Linux サーバーを効果的かつシームレスに運用および管理するには、基本的な管理概念をしっかりと理解する必要があります。
この記事で RHCSA シリーズでは、プロフェッショナルのようにタスクを実行するために知っておく必要のある重要な概念にスポットライトを当てます。
Linux マルチユーザー ターゲットでのログインとユーザーの切り替え
熟練したLinuxユーザーや初心者が知っておくべき基本的なスキルの1つは、 システム上のユーザーを管理する。
システムにログインするには、ssh 構文を使用します。
ssh root@server-IP OR ssh -l user@server-IP
ログインしたら、コマンドを使用して現在ログインしているユーザーを確認できます。
whoami
上記の出力からわかるように、私は次のユーザーとしてログインしています。 レイバイブ。
さらに、次のような追加情報も入手できます。 ユーザID (ユーザーID)と 性同一性障害 (グループID)を使用して id 指示。
id
Linuxユーザーは、 /etc/passwd ファイル。コマンドを入力すると、ユーザーのリストを表示できます。
cat /etc/passwd
の /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
デフォルトのターゲットを設定するには、次の構文を使用します。
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使用率とメモリ使用率。
の改良 トップコマンド それは htop コマンド 詳細なリアルタイムのシステム パフォーマンス統計と、各プロセスがメモリと CPU に与える影響を表示します。
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm dnf install htop htop
終了または プロセスを強制終了する、その ピッド (プロセスID) またはプロセス名:
kill PID
たとえば、PID 1091 のプロセスを強制終了するには、次を実行します。
kill 1091
たとえば、プロセス名を使用してプロセスを強制終了するには、firefox は次の構文を使用します。
kill firefox
Linux でプロセス スケジュールを調整する方法
スケジューラはカーネルの一部であり、CPU によって次に実行される実行可能なプロセスを決定します。
スケジューラは、主に 2 つのカテゴリのスケジューリング ポリシーを提供します。
- 通常のポリシー
- リアルタイムポリシー
リアルタイム スケジューリング ポリシーは、次の 2 つのサブカテゴリで構成されます。
- スケジュール – 同じ優先度のタスクの場合、このポリシーはラウンドロビン モデルを使用します。このポリシーでは、タスクに等しい実行時間間隔が割り当てられます。
- スケジューリングFIFO – 同じ優先度のタスクの場合、次のタスクを実行する前に最初のタスクが譲歩する必要があります。
のために 普通 ポリシーとして、次のものがあります。
- スケジュール_その他 – これは、通常のタイムシェアリングに使用されるデフォルトのタイムシェアリング スケジューラ ポリシーです。
あるポリシーから別のポリシーに切り替えるには、 チャート コマンドは、PIDが 1091 使用する スケジュール情報 で表される -f
優先度のフラグ 10。
chrt -f -p 10 1091
以下のコマンドは同じプロセスPIDを設定します 1091 使用する スケジュール_その他 で表される -o
フラグ。
chrt -0 -p 10 1091
Linux システム ログを見つけて理解する方法
従来、システムログファイルは ログ ディレクトリとその他のログ ファイルおよびその保存ファイル パスは、示されているとおりです。
- 監査ログ – SELinuxイベントを保存する
- メールログ – メール関連のメッセージを保存します
- ログファイル – 起動ログメッセージを保存します
- /var/log/セキュア – 認証関連のログを保存します
- /var/log/cron – cronジョブに関するログを保存します
- ログファイル – Apache Webサーバーに関するログを保存します
- ログファイル – sssdサービスに関するログを保存します
systemdシステムでログファイルを表示するには、 コマンド journalctl。
ジャーナルctl コマンドは、以下のログを照会して表示します。 ジャーナルは、ログ データを収集して保存する systemd デーモンです。これにより、管理者はシステムの関連ログの概要を把握しやすくなります。
journalctl
前回の起動以降のすべてのイベントログを表示するには、 -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!