Ubuntu 20.04でサーバー構築 4:sambaのインストール

1.インストールとユーザー登録

家庭LANの中で、通常作業で使用するWindows PCとサーパートとの間でファイルをやりとりするに為にsambaをインストールします。

yuu@web2:~$ sudo apt install samba

sambaのインストールが完了したらsambaのユーザーを登録してパスワードを設定します。ユーザーは予めこのサーバーに登録されているユーザーである必要があります。

yuu@web2:~$ sudo pdbedit -a yuu
new password:
retype new password:

登録が完了すると登録ユーザー情報が表示されます。
サーバーを再起動してsambaの状態を確認します。

yuu@web2:~$ sudo service smbd status

インストールしたそのままで、boot時の自動起動が設定されているようです。
sambaのconfigファイルをデフォルトのままでもWindows PCからサーバーPC(WEB2)が見えるようになりました。まだ何も設定していないのでサーバーPC内のフォルダを見ることは出来ません。

2.共有フォルダーの作成

sambaでのファイル共有を一般に開放することは無いので必ずしも共有ディレクトリを作る必要は無いのですが、非公開ファイルとweb上に公開するファイルのやりとりを区別するために共有ファイルを作ります。
share フォルダは /home の下に作りました。
chmod コマンドで /home/share フォルダーのアクセス権限を変更します。

uu@web2:~$ sudo mkdir /home/share
yuu@web2:~$ sudo ls /home
share yuu
yuu@web2:~$ sudo chmod 777 /home/share
yuu@web2:~$ sudo ls -la /home
合計 16
drwxr-xr-x 4 root root 4096 2月 9 22:29 .
drwxr-xr-x 20 root root 4096 2月 9 11:51 ..
drwxrwxrwx 2 root root 4096 2月 9 22:29 share
drwxr-xr-x 4 yuu yuu 4096 2月 6 22:03 yuu
yuu@web2:~$

3.フォルダー共有の設定

(1)ネットワークインターフェイスの確認

yuu@web2:~$ sudo ip address show

サーバーに2つ有るLANポートの内、enp2s0f0 を使用しています。
ip アドレスは、192.168.11.65/24。
この情報を以下の設定で使用します。

(2)smb.conf の編集

yuu@web2:~$ sudo nano /etc/samba/smb.conf

(3)[global] セクションへの追記
文字化けを防ぐためにキャラクターセットを追加。
workgroupe 名はWindows PC からサーバーが見えているので取り合えず変更無し。

#====================== Global Settings =======================

[global]
dos charset = CP932   # 追記
unix charset = UTF-8   # 追記
## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP

# server string is the equivalent of the NT Description field
server string = %h server (Samba, Ubuntu)

Networking の項目を以下のように編集する。

#### Networking ####

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
; interfaces = 127.0.0.0/8 eth0
interfaces = 192.168.11.0/24 enp2s0f0 # 追記

(4)ホームディレクトリの設定
[homes]セクションのコメントアウトを解除して編集します。

# [homes]セクションのセミコロンを削除して有効化する
[homes]
comment = Home Directories # セミコロンを外す
# 次の行のセミコロンを外す
browseable = no# By default, the home directories are exported read-only. Change the
# next parameter to ‘no’ if you want to be able to write to them.
; read only = yes# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
; create mask = 0700
create mask = 0755    # 追記# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.

; directory mask = 0700
directory mask = 0755    # 追記

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# Un-comment the following parameter to make sure that only “username”
# can connect to \\server\username
# This might need tweaking when using external authentication schemes
valid users = %S    # セミコロンを外す

(5)共有ディレクトリの設定
smb.conf ファイルの末尾に共有ディレクトリの設定セクションを追記します。

[share]
path = /home/share
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777

(6)設定の有効化
編集した smb.conf を保存終了してsamba を再起動。
正常に起動していることを確認します。smb.conf に構文間違いがあるとエラーになって再起動が失敗します。

yuu@web2:~$ sudo systemctl restart smbd nmbd
yuu@web2:~$ sudo service smbd status

(7)ファイアウォール(ufw)の設定
ufw を利用可能なアプリケーションを確認します。

yuu@web2:~$ sudo ufw app list
[sudo] yuu のパスワード:
利用可能なアプリケーション:
Apache
Apache Full
Apache Secure
OpenSSH
Samba

samba の利用を登録します。

yuu@web2:~$ sudo ufw allow in “Samba”
ルールを追加しました
ルールを追加しました (v6)

ufw への登録を確認します。

yuu@web2:~$ sudo ufw status
状態: アクティブTo Action From
— —— —-
Apache ALLOW Anywhere
OpenSSH ALLOW Anywhere
Samba ALLOW Anywhere
Apache (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Samba (v6) ALLOW Anywhere (v6)

(8)Windows PCからの共有接続確認
Windows PC のエクスプローラからネットワークを確認すると、サーバーPCとその下のshare フォルダーが見えます。この段階でshare フォルダーには読書可能です。
自分のホームディレクトリを共有するにはログインが必要です。
エクスプローラから、\\サーバー名\ユーザ名 でログインします。
ログインすると、サーバーPCの下に、ユーザーディレクトリが現れ、読書可能になります。

(9)Ubuntu起動時の自動実行設定
OSを再起動したときにsambaを自動実行するように設定します。

yuu@web2:~$ sudo systemctl enable smbd nmbd
Synchronizing state of smbd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable smbd
Synchronizing state of nmbd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nmbd

 

カテゴリー: サーバー タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です