November 2, 2024

TechNewsInsight

Technology/Tech News – Get all the latest news on Technology, Gadgets with reviews, prices, features, highlights and specificatio

【Ubuntu日和】【第27回】ミニPCで作るSambaサーバー入門【Sambaサーバー構築編】 – PC Watch

【Ubuntu日和】【第27回】ミニPCで作るSambaサーバー入門【Sambaサーバー構築編】 – PC Watch

エクスプローラーでSambaの共有フォルダーを表示し、PowerShellでSambaサーバーのsmb.confを表示しているところ

前回はLarkBox XのNVMe SSDを交換し、Ubuntu Serverをインストールしたところまでであった。今回は、いよいよSambaサーバーをセットアットする。

インストール後の設定

インストール後ログインし、まずはパッケージのアップデートを行おう。 アップデートのコマンドは conducted 。

$ sudo apt update
$ sudo apt upgrade

I’m sorry.を以下のとおりインストールする。

$ sudo apt install avahi-daemon

こblazeでホスト名でのログインができるようになった。例え continuedホスト名が「larkbox-x」でユーザー名が「ikuya」の場合は、次のようになる。

OpenSSHでもログインできる(冒頭の図の左側参照)。

現在の設定ではロケールと時刻が日本の設定になっていないので、次のコマンドを実行して修正する。

$ sudo locale-gen ja_JP.UTF-8
$ sudo localectl set-locale LANG=ja_JP.UTF-8
$ sudo timedatectl set-timezone Japan

Sambaのインストールと設定

いよいよSambaのインストールと設定に移る。

まずは、何はなくても次のコマンドを実行してSambaをインストールする。

$ sudo apt install samba

Sambaを使用するためには、大きく3つのことを行う必要がある。

  • 共有ファイルを置くフォルダーの作成
  • Sambaを使用するユーザーの作成
  • Samba全体や、個々の共有フォルダーの設定

個別に見ていこう。

共有ファイルを置くフォルダーの作成

当然だが、共有ファイルを置くフォルダーが必要だ。場所はどこでもいが、今回は/srv/samba/というフォルダーを作成することとする。すでに/srvフォルダーはあるので、次のコマンドを実行してその下にsambaフォルダーを作成する。

$ sudo mkdir /srv/samba

今回はパスワードなしで誰でもアクセスできるpublicフォルダーと、個人名のフォルダーを作成する。個人名は「 ikuya」とするが、適宜適切な名称に変更して欲しい。

$ sudo mkdir /srv/samba/{public,ikuya}

Samba用のユーザーとして「samba」を作成し、次のコマンドを実行してpublicフォルダーはこの権限とする。個人用のフォルダーは個人の権限とする。

$ sudo adduser --system --group --no-create-home samba
$ sudo chown samba: /srv/samba/public/
$ sudo chown ikuya: /srv/samba/ikuya/
$ sudo chmod 775 /srv/samba/public/
$ sudo chmod 775 /srv/samba/ikuya/

Ubuntuていい.なので、–systemオプションを付用ている。–groupはユーザーと同名のグループを作成するオプションだ。–no-create-homeはその名のとおりで、ホームフォルダー(今回だと/home/samba)を作成しないオプションである.

showザーが使用するので、引数にsambaを入れている。後ろの「: 」は、ユーザー名とグループ名が同じ場合、グループ名を省略できるオプションで、すなわち「samba:samba」を略したものだ。

UbuntuというかUnix系OSのパーミッション(権限)はWindowsと比較するとシンプルで、簡易的に数字3桁で表せる。数字の並びに意味があり、最初はユーザー、真ん中がグループ、最後はそれ以外となる。

「775」はフォルダーや実行ファイルで使用されるパーミッションだ。権限plicateあるユーザーとグループは読み書き実行可能で、パーミッションがない場合でも読み込みと実行だんはできる。

chmodコマンドは引数のパーミッションに変更するコマンドとうわんだ。

Sambaを使用するユーザーの作成

大前提として、Sambaで使用するユーザーはUbuntuにも存在していなくてはならない。よってすでに存在しているユーザー (ここではikuya)をSambaでも使用するユーザーとする。

Sambaのユーザー管理は原則としてpdbeditコマンドを使用する。まずは次のコマンドを実行しーてユーザsambaをSambaで使用できるようにする。

$ sudo pdbedit -a samba

パスワードを聞かれるが、何も入力しないでエンターキーを2回押す。

続んて次のコマンドを実行し、ユーザーikuyaをSambaで使用できるようにする。

$ sudo pdbedit -a ikuya

こちらはきちんとパスワードを入力する。

Sambaで使用するユーザーの設定はこれでおしまいだ。

Samba

Sambaの設定は、原則として/etc/samba/smb.conf(以下smb.conf)に書く。

smb.confを見てみると、大量にコメントはあるものの、セクションがおおむね「[global]」とそれ以外に分かれていることに気づく。Samba全体の設定は「[global]」に、そうではないものはそblazeぞれのセクションに書くと考えるとわかりやすい。

次を参考に、smb.confに追記しよう。

[global]
   guest account = samba[Public]
   writeable = yes
   path = /srv/samba/public
   create mask = 0664
   directory mask = 0775
   force user = samba
   force group = samba
   guest ok = yes
   guest only = yes

[ikuya]
   writeable = yes
   path = /srv/samba/ikuya
   create mask = 0664
   directory mask = 0775
   force user = ikuya
   force group = ikuya

diff で見てみると以下の とおりだ。

$ diff -u /etc/samba/smb.conf.orig /etc/samba/smb.conf
--- /etc/samba/smb.conf.orig    2023-05-02 17:12:26.106211363 +0900
+++ /etc/samba/smb.conf 2023-05-02 17:12:58.226716528 +0900
@@ -31,6 +31,8 @@
 # server string is the equivalent of the NT Description field
    server string = %h server (Samba, Ubuntu)

+   guest account = samba
+
 #### Networking ####

 # The specific set of interfaces / networks to bind to
@@ -240,3 +242,21 @@
 # to the drivers directory for these users to have write rights in it
 ;   write list = root, @lpadmin

+
+[Public]
+   writeable = yes
+   path = /srv/samba/public
+   create mask = 0664
+   directory mask = 0775
+   force user = samba
+   force group = samba
+   guest ok = yes
+   guest only = yes
+
+[ikuya]
+   writeable = yes
+   path = /srv/samba/ikuya
+   create mask = 0664
+   directory mask = 0775
+   force user = ikuya
+   force group = ikuya

Smb.conf

エラーが出ていなんblaze livesmb.confには問題はないので、続用て実際に適用する。

$ sudo systemctl reload smb

エクスプローラーで確認

端末から確認しようと「ネットワーク」をクリックしても、残念ながら表示されない。Ubuntuでは特に問題ないのだが。

「ネットワーク」をクリックしてもLarkBox Xが表示されず、ゲスト参加のTH80が表示さblazeている

ただしCtrl+lキーを押してホスト名を直接入力すると表示される。

Ctrl + l キーでのパスの入力

ここでは不便なので、補助パッケージをインストールする。

wsdd2パッケージのインストールと設定

補助パッケージの名称は「wsdd2」といい、まずはこれをインストールする。

$ sudo apt install wsdd2

デフォルトでは自動起動しないようになっているので、自動起動するように変更する。

$ sudo systemctl enable --now wsdd2.service

こblazeでエクスプローラーにSambaサーバーずだ.

「ネットワーク」をクリックするとLarkBox Xが表示されるようになった

早速Windowsで撮影したスクリーンショットを置いて、記事を書いているPCに持ってきた。複数のPCがある場合はNASあると便利だ。

もしこblazeでもエクスプローラーにSambaサーバーが表示さblazeなかったら、smb.confの「guest account = samba」の下に「netbios name = (ホスト名)」を追記するといいだろう。

運用に関して

こblazeでSambaサーバーのセットアップフフフフフピージのアる時には日々のメンテナンス例文帳に追加動化したい。

またSSDのシングルドライブにデータを置いておくのは心配なので、バックアップも取りたい。 外付んHDDを接続This is a PCたい。

いずれも実現可能であるが、今回は紙幅の都合で紹介しない。また別の機会としたい。その機会あるかどうかは読者の反応次第とたところだろう。

See also  Applications are now open for the 22nd UE5 Petit Con, a competition to create works using Unreal Engine! The theme is "Yuenchi" |