Linuxのテスト環境を作成するときに必ず行う設定のまとめ

検証用にLinuxの環境を構築する際に必ずする設定とその設定方法をまとめ。

rootユーザー直でSSL接続、FTP接続、SELinux、firewalldの無効化など。

最近よくLinux環境を作るので自分用にまとめたものなので、他の方にはあまり役には立たないかも。

スポンサーリンク

設定内容概要

  • rootユーザーで直接SSH接続/自動起動有効化
  • プロキシ設定
  • 時刻同期設定
  • OSの最新化
  • SELinuxの無効化/自動起動無効化
  • Firewallの無効化/自動起動無効化
  • rootでFTP接続/自動起動有効化

Linuxインストール時のオプション

あまり使わないけど、便利なときもあるのでGUI版をインストールする。

その他FTPが選択できたらFTPも入れておく

AlmaLinxu 9だとインストール時にrootユーザーのパスワードを設定する画面でsshでrootユーザーログインを許可するオプションがあるので、オンにしてインストールすると少し手間が省ける。

VMwareを使ったローカルで仮想OSとして作る場合

ホストOSとゲストOSとの間で通信ができるように仮想NICとゲストOSのネットワーク設定を最初に実施する。

詳細は、以下の記事を参照。

VMwareでゲストOSとホストOS間で通信ができてゲストOSでインターネットが使えるようにする方法
インターネットアクセスがプロキシサーバー経由となっている社内LANに接続されたPCというのを前提としています。 VMware Workstation Playerで作成した仮想OS(ゲストOS)とホストOS間で通信ができて、かつゲストOSが...

設定手順等

各設定手順を以下に記載。

SSH接続設定

まず最初にssh接続を設定してTeraTermから接続して色々できるようにしておく。

# vi  /etc/ssh/sshd_config

以下の変更をして上書き保存([ESC]、":q")

PermitRootLogin yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes

コンフィグを変更したら以下のコマンドでsshdを再起動する。

# systemctl restart sshd

sshdの自動起動を設定する場合は、以下のコマンドを実行する。

# systemctl enable sshd

自動起動の状態を確認したいときは、以下のコマンドを実行。

#systemctl is-enabled sshd
enabled

「enabled」と表示されれば、起動時自動起動されるようになっている。

自動起動を設定したい場合は、以下のコマンドを実行する。

# systemctl enable sshd

これでTeraTermからrootユーザーでssh接続できるようになる。

できな場合は、SELinuxかFirewallが原因なので後述する手順でSELinuxとFirewallを無効化する。

プロキシ設定

プロキシ設定をしないとdnfとかyumが使えないので、dnfのコンフィグファイルにプロキシ設定を追記する。

dnfのコンフィグファイルを開いて以下の1行を追記(認証を必要とするプロキシサーバー利用時)して上書き保存する。

proxy=http://ユーザー名:パスワード@プロキシサーバー:ポート番号

例えば、ユーザー名が「sato」、パスワードが「pass123」、プロキシサーバーが「proxy.com」、ポート番号が「8080」だったとすると以下のようになる。

proxy=http://sato:pass123@proxy.com:8080

コンフィグファイルにパスワードを直接書くことになるので、他のユーザーも使用する場合はおすすめしない。

その場合は、exportコマンドで都度プロキシ設定することをおすすめする。

時刻同期

タイムゾーンが「Asia/Tokyo」になっていることを前提とする。

コンフィグファイルを開く。

#vi /etc/chrony.conf

以下の1行を追記して上書き保存する。

server タイムサーバーのIPアドレス iburst

以下のコマンドで時刻同期を再起動する。

# systemctl restart chronyd

以下のコマンドで確認する。

# timedatectl

こんな感じで表示されるので、「System clock synchronized: yes」と表示されていればOK。

Local time: 金 2023-09-01 14:06:11 JST
Universal time: 金 2023-09-01 05:06:11 UTC
RTC time: 金 2023-09-01 05:06:11
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

以下のコマンドで起動時に自動起動するように設定しておく。

# systemctl enable chronyd

OSの最新化

以下のコマンドでOSを最新化する。

# dnf update

[y/N]って聞いてくるから全部"y"で良い。

更新が完了したら「reboot」でOSを再起動する。

SELinuxの無効化/自動起動無効化

起動しているだろうけど、一応今の状態を確認する。

# getenforce

「enforcing」と帰ってきたら起動しているので、無効化する。

一時的な無効化は、以下のコマンドを実行。

# setenforce 0

自動起動されるように設定されているので、コンフィグファイルを修正して無効化する。

# vi  /etc/selinux/config

「SELINUX=enforcing」 を 「SELINUX=disabled」に変更して上書き保存する。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Firewallの無効化/自動起動無効化

Firewallも自動で起動しているはずなので以下のコマンドで停止する。

# systemctl stop firewalld

以下のコマンドで自動起動を無効化する。

# systemctl disable firewalld

rootでFTP接続/自動起動有効化

まずFTP(vsftpd)がインストールされているか確認する。

# dnf list installed vsftpd

インストールされてなかったら以下のコマンドでインストールする。

# dnf -y install vsftpd

以下の2つのファイルをviエディタで開いて、各々「root」の前に「#」を追加してコメントアウト、上書き保存する。

  • ftpusers
  • user_list

※コメントアウトすることでログインを拒否するユーザーから除外される。

以下のコマンドでvsftpdを再起動する。

# systemctl restart vsftpd

以下のコマンドでvsftpdをOS起動時に自動的に起動するように設定する。

# systemctl enable vsftpd

FFFTPなどのFTPソフトからrootでログインできるか確認する。

まとめ

検証でLinuxサーバーを作るときにいつも実施している各種設定についてまとめました。

SELinux、Firewallは、自分以外からアクセスされる可能性がある場合は、無効化せずにsshやFTP接続ができるようにきちんと設定して動作させたほうが良いと思います。

私の場合、自分のPC上のVMwareに仮想OSとして作ることが多いので、自分以外からのアクセスが無いため無効にしても安全という判断のもと無効化しています。

自分用に記事にしたので手順については少し分かりづらいかもしれないですね。

コメント

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