【CentOS7】インストール後作業

[スポンサーリンク]


CentOS7をインストール後にすること


先日、WindowsServer2019のHyper-V環境の仮想マシンに、CentOS7をインストールしました

【WindowsServer2019】【CentOS7】Hyper-V上にCentOS7をインストール
CentOS8をインストールしようとしたのですが・・・Hyper-VでLinuxマシンをインストールしていきたいと思います今回は、CentOS8をインストールする気だったのですが、結論から言うと、諦めてCen...

CentOS7などのLinuxをイントール後に、実施したほうがいいこととして、2つ作業を実施したいと思います

①パッケージのアップデート
②rootユーザのssh接続無効化

ClamAVのようなウィルス対策ソフトのインストールもした方がいいのですが、何を使おうか迷っているので、また今度(汗)

[スポンサーリンク]


パッケージのアップデート


CentOS7にインストールされているパッケージの、アップデートを実行します

今回は初回イントール後で、なにもアプリケーション等は動作していません
なので、カーネルも含めて、アップデートしていきます
もし実運用中のサーバで、アプリケーションとカーネルの依存関係に問題がある場合等は、除外が必要です

下記サイトのような方法で、アップデートの対象から、カーネルを除外する対処が可能です

https://server.etutsplus.com/update-centos-7-to-latest-release/

カーネルはLinuxOSの根幹部分です

広義の場合は、カーネル=OSの意味で記載しているサイトなどもあります
正確には、シェルやデスクトップ環境などもあるので異なりますが
(この辺りも勉強していかなければ)

Linuxでカーネルのアップデートを行うのは、WindowsUpdateを行うのと同じようなイメージです


インストール後のカーネルのリリース番号、バージョン情報を確認


unameコマンドで、現在のカーネルのリリース番号、バージョン情報を確認します

unameコマンドは、システム情報を確認するコマンドとなります
unameコマンドの使い方を確認してみます

今回は、allオプションで、カーネルのリリース番号、バージョン情報を確認します

インストールに使用したisoファイルが、以前にセカンドPCを作成した時のインストーラーでした
なので2018年の古いバージョンです
早速、バージョンを上げないとダメですね

因みにallオプションを使った場合の表示内容は、ヘルプの記載の項目が順番に表示されます
・カーネル名

・ホスト名

# uname -n localhost.localdomain

・カーネルリリース番号

# uname -r 3.10.0-862.el7.x86_64

・カーネルのバージョン

# uname -v #1 SMP Fri Apr 20 16:44:24 UTC 2018

・ハードウェア名

・プロセッサの種類

・ハードウェアプラットフォーム

・オペレーティングシステムの名前


yumコマンド、rpmコマンドの違いについて


yumコマンドでパッケージのアップデートを実施します
Linuxで、パッケージのアップデートする場合に使用するコマンドは、rpmとyumがあります

ざっくり言うとrpmコマンドは、パッケージ単体のインストール、アップデートなどをする場合に使用します
rpmコマンドは、rpmファイルを使用したパッケージ管理が出来ます
rpmファイル(.rpm)は、Red Hat社が開発した、ソフトフェアに関連するファイルを纏めたパッケージファイルです

yum(Yellowdog Updater Modified)コマンドは、同じくRed Hat社が開発したパッケージ管理ツールです
yumコマンドは、rpmコマンドを拡張した、高機能なツールです

yumコマンドがrmpコマンドより拡張された機能の例の1つとして、リポジトリとパッケージを管理する保管場所の概念があります
このリポジトリを確認することで、パッケージの更新情報や依存関係を知ることが出来ます
従って、yumコマンドでは、パッケージの依存関係を合わせて、インストールすることが出来ます

例えば、あるアプリケーションAを事項する為には、パッケージAと依存関係のあるパッケージBの2つが必要です
rpmコマンドではパッケージA、パッケージBそれぞれインストールが必要でした
yumコマンドでは、依存関係まで管理出来るので、パッケージAをインストールしようとすると、パッケージBも必要として判断してインストールしてくれます

下記サイトなどに、分かり易く説明されています

【初心者にもわかる】rpmとyumの違いと使い分け一通り
はじめて勉強したときパッケージ管理のrpmとyumは違いがよくわからないかもしれない。rpmは個々のパッケージを、yumは依存関係をまとめて管理できるものだ。このページではrpmとyumの違いについてもう少し詳しく説明しよう。

yumコマンドのキャッシュ削除について


アップデート前に、yumのキャッシュを削除する必要がある場合があります
yumが、キャッシュに残った古い情報を元に動作することで、最新にアップデート出来なかったりすることで、アップデートが不完全であったり、失敗したりすることがあります

今回は、初回アップデートであるので、不要ですが勉強の為に実行してみます

また、yumコマンドがキャッシュを使用しない設定の場合も、削除は不要です

キャッシュの使用有無の設定は、/etc/yum.confファイルを確認すると分かります
keepcacheの値が、”1″の場合は有効で、パッケージをキャッシュに残します
“0”の場合は無効で、キャッシュに残さない設定となります

今回の環境では、”0″となっていました


yumコマンドでパッケージのアップデート


初回アップデートなので、いきなりアップデートをしていきます
実際に運用しているサーバなどの場合は、check-updateコマンドで実行して、アップデート対象を確認してから実行した方がいいですね

今回は、yオプションを付けて、全てのパッケージをアップデートしていきます
yオプションは、すべての問い合わせに「yes」で答えるオプションです

yオプションを付けない場合は、パッケージをアップデートするか確認されます
check-updateコマンドの結果、アップデートしたくないパッケージなどがあった場合は、「no」と答えるアップデートしないことが可能です

yumコマンドの使い方を確認してみます

では、アップデートを実行します


アップデート後のカーネルのリリース番号、バージョン情報を確認


unameコマンドで、カーネルのリリース番号、バージョン情報を確認し、アップデートが成功しているか確認してみます

カーネルのリリース番号:「3.10.0-862.el7.x86_64」→「3.10.0-1062.4.3.el7.x86_64」
カーネルのバージョン:「#1 SMP Fri Apr 20 16:44:24 UTC 2018」→「#1 SMP Wed Nov 13 23:58:53 UTC 2019」
無事にアップデートにより、カーネルが更新されています


リリースファイルでのLinuxOSのリリースバージョンの確認方法


LinuxOSのリリースバージョンは、リリースファイルを確認することでも確認出来ます
リリースファイルは、下記のパスになります

CentOSの場合は、RedHat系なので、下記コマンドで確認出来ます

主なディストリビューションのリリースファイルは下記で確認出来ます ・RedHat系

・Ubuntu系

cat /etc/lsb-release

・Fedora系

cat /etc/fedora-release

・Debian系

cat /etc/debian_version

[スポンサーリンク]


rootユーザのssh接続無効化


次は、rootユーザのssh接続無効化をします
rootユーザは最高権限を有するユーザですが、特性上ユーザ名は自明で、パスワードが流出するだけでログイン出来てしまいます

WindowsServerで、管理者ユーザを新規作成しAdministratorグループに追加し、Administratorユーザを無効化したのと同じような作業をします

【WindowsServer2019】インストール後作業
WindowsServer2019をインストール先日、AIR540をケースとして、衣替えしたセカンドPCを使って行きたいと思いますセカンドPCはWindowsServer2019として、勉強してい...

管理用ユーザをwhellグループに追加


管理に使用するユーザをwhellグループに追加して、sudo権限を付与します

sudo権限は、スーパーユーザ(root)の特権レベルで、全てコマンドを実行出来る権限で、rootユーザと同じ動作が可能になる権限です

そして、whellグループはRedHat系にあるデフォルトで作成されるグループです
既定では、sudo権限をもつグループとして作成されます

sodouserについては、/etc/sudoersで管理されています
%whellの記載が、コメントアウト「#]されていなければ、whellグループのユーザは全てのコマンドが実行できます

WindowsServerでいうAdministratorグループと同じようなグループになります

usermodコマンドを使用して、wheelグループに管理に使用するユーザを追加します
今回は、-Gオプションで、補助グループとしてwheelグループに追加しました

getentコマンドを使用して、ユーザがwhellグループに追加されていることを確認します

getentコマンドは、データベース(ファイル)に対し、キーで検索するコマンドです
今回は、データベース「group」に、キー「wheel」で検索します

「グループ名:パスワード:ユーザID:ユーザ名」が表示されます
パスワードはシャドウパスワードで、実際のパスワードは表示されません

無事、管理用のユーザがwhellグループに追加出来ました

次回このユーザでログインすれば、全てのコマンドが実行出来ます
既にログイン状態の場合は、一度ログアウトして、再ログインが必要です

因みに、getentコマンドは、「group」以外のデータベースも検索出来ます
例えば、「passwd」データベースを検索することで、パスワードに関する情報を確認も出来ます


rootユーザでのssh接続の無効化


ssh接続に関する設定は、/etc/ssh/sshd_configにあります
このconfigの中の、PermitRootLoginという項目で、rootユーザのssh接続可否が定義されています

既定では、該当の項目はコメントアウトされていて、設定自体が無効となっています

今回は、この項目を「no」に変更して、rootユーザでのssh接続を無効(許可しない)にします
重要なconfig設定なので、変更前にバックアップを取得しておきます

PermitRootLoginの項目のコメントアウト(#)を外します
そして、値を「no」とすることで、接続許可を奪います

最後に、設定変更した内容を反映する為に、sshのサービスを再起動します

これで、rootユーザでのsshの接続が無効されています
実際にssh接続が出来なくなっていることを確認して、完了です

[スポンサーリンク]

[スポンサーリンク]
▼オンラインで、初心者のプログラミングへの挑戦も、SE職のスキルアップも▼

コメント

タイトルとURLをコピーしました