1. HOME
  2. ブログ
  3. ナレッジ
  4. 仮想マシンにSambaをインストールしよう

BLOG

ブログ

ナレッジ

仮想マシンにSambaをインストールしよう

 緊急事態宣言の中1年ぶりに都内へ出ました、2週間が経過のココアアプリの結果。

Samba(サンバ)をインストール

いよいよ「Samba(サンバ)」をインストールします。「Samba(サンバ)」はLAN内のファイルサーバーのようにホストOS「Windows10」のファイルエクスプローラーからゲストOS「CentOS」のファイルを共有(追加・修正・削除)できるフリーソフトウェアです。
まずは以前の投稿で追加したユーザーでログインします。
●今回インストールする「Samba」の情報を確認します。古いCentOSでは「dnf」が「yum」でした。

$ dnf info samba

●「Samba」をインストールします。「root」権限の必要なコマンドなので先頭に「sudo」をつけます。

$ sudo dnf install samba

●インストールされた「Samba」を確認します。

$ dnf list installed samba*

●自動起動となっているか確認します。

$ systemctl is-enabled smb nmb

●自動起動するよう設定します。

$ sudo systemctl enable smb nmb

●動作状態を確認します。

$ sudo systemctl status smb nmb

●「Samba」を手動起動します。

$ sudo systemctl start smb nmb

起動できていれば、ホストOS「Windows10」から利用できるように設定変更します。
●共有フォルダ「/free」を作成します。

$ sudo mkdir /free
$ sudo chmod 0777 /free
$ sudo chown nobody:nobody /free

●設定ファイルを「smb.conf.org」としてバックアップします。

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.org

●設定ファイルを「smb.conf.org」から複製します。

$ sudo cp /etc/samba/smb.conf.org /etc/samba/smb.conf

●設定ファイルを編集します。viエディタの使い方こちらに投稿したので参考にしてください。

$ sudo vi /etc/samba/smb.conf

下記のように編集します。

[global]
workgroup = WORKGROUP
server string = CentOS8 SAMBA%v
netbios name = virtual1
security = user
passdb backend = tdbsam
dos charset = CP932
wins support = yes
load printers = no
disable spoolss = yes
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[free]
comment = Share Folder for All Users
path = /free
browsable = yes
read only = No
create mask = 0764

Windowsネットワーク上のホスト名は「virtual1」、「/free」フォルダの共有名「free」・同じグループユーザーのファイルを更新可能、プリンタ共有は無効です。
●設定ファイルをテストします。

$ testparm

●Sambaアクセス用ユーザーを追加します。

$ sudo pdbedit -a wanko
new password:
retype new password:

●「Samba」を再起動すると設定変更が反映されます。

$ sudo systemctl restart smb nmb

これで、ホストOS「Windows10」のファイルエクスプローラーから「\\virtual」へアクセスしたいところですが、タイムアウトするはずです。
CentOSはデフォルトでセキュリティ上の制限がかかっています。ここでは学習用仮想環境なので制限を無効化します。
●ファイヤーウォールが自動起動となっているか確認します。

$ systemctl is-enabled firewalld

●ファイヤーウォール自動起動を無効化します。

$ sudo systemctl disable firewalld.service

●SELINUXを無効化します。

$ sudo mv /etc/selinux/config /etc/selinux/config.org
$ sudo cp /etc/selinux/config.org /etc/selinux/config
$ sudo vi /etc/selinux/config
# 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

中央の「SELINUX=enforcing」を「SELINUX=disabled」に書き換えます。
●SELINUX無効化を反映します。

$ sudo reboot

ゲストOS「CentOS」である仮想マシン再起動後は、ホストOS「Windows10」のファイルエクスプローラーから「\\virtual1」へアクセスできるはずです。お疲れさまでした。

関連記事