Ubuntu 24.04LTSにSambaでファイルサーバーを構築する方法【ユーザー認証・Windows/Mac対応】

, , , ,

本記事は広告が含まれる場合があります。

いつもブログをご覧くださり、ありがとうございます。
少し前から、Linux/ Ubuntu の物理マシンを導入して、サーバー用途で使っています。その時に色々試したトピックをこのブログでもご紹介します。

今回は、Sambaを導入し、LAN内のWindowsやMacからアクセスできるファイルサーバーを構築しました。
Samba専用ユーザー smbuser を作成し、ユーザー名とパスワードで認証して共有フォルダへアクセスできるようにしています。

自分自身の備忘録も兼ねて、Sambaのインストールから共有フォルダの設定、Windows・Macからの接続までの手順をまとめます。

この記事について
本記事に掲載しているユーザー名、IPアドレス、ホスト名、ディレクトリ名などは、実際の環境とは異なる説明用の値に置き換えています。
ご自身の環境に合わせて読み替えてください。

Sambaとは?

Sambaは、LinuxとWindowsなど異なるOS間でファイルやプリンターを共有するためのソフトウェアです。

今回構築する環境では、

               ┌─ Windows
               │
Ubuntu Server ─┤
   Samba       │
               └─ Mac

という形で、Ubuntu Server上に共有フォルダを用意し、LAN内のWindowsとMacの両方からアクセスできるようにします。

市販のNASを利用する方法もありますが、Ubuntu ServerとSambaを組み合わせることで、Linuxマシンをファイルサーバーとして利用できます。

今回構築した環境

今回の環境は以下のとおりです。

  • OS:Ubuntu Server
  • ファイル共有:Samba
  • Ubuntu ServerのIPアドレス:192.168.1.100
  • 共有名:share
  • 共有ディレクトリ:/home/shard
  • Sambaユーザー:smbuser
  • 認証方法:ユーザー名・パスワード

Ubuntu ServerのIPアドレスは、LAN内で変更されないように固定して使用する想定です。

最終的にはWindowsから、

\\192.168.1.100\share

Macから、

smb://192.168.1.100/share

へアクセスできるようにします。

※Sambaユーザーのパスワードはセキュリティ上、記事には掲載しません。


1. Sambaをインストールする

最初にUbuntu Serverのパッケージ情報を更新します。

sudo apt update

続いてSambaをインストールします。

sudo apt install samba

インストール後、Sambaのバージョンを確認します。

smbd --version

バージョン情報が表示されれば、Sambaのインストールは完了です。


2. 共有フォルダを作成する

今回は、

/home/shard

を共有フォルダとして使用します。

ディレクトリが存在しない場合は、以下のコマンドで作成します。

sudo mkdir -p /home/shard

作成したディレクトリを確認します。

ls -ld /home/shard

Sambaでファイルの読み書きを行う場合、Samba側の設定だけでなく、Ubuntu側のファイル・ディレクトリ権限も重要になります。


3. Sambaで使用するユーザーを作成する

今回は、Sambaへのアクセスに使用するユーザーとして、

smbuser

を使用します。

まずLinux側にユーザーが存在するか確認します。

id smbuser

存在しない場合はユーザーを作成します。

sudo adduser smbuser

Sambaのユーザー認証では、Linux側に存在するユーザーをSambaにも登録して使用します。


4. Sambaユーザーとして登録する

smbuser をSambaユーザーとして登録します。

sudo smbpasswd -a smbuser

実行すると、Samba接続時に使用するパスワードを2回入力するよう求められます。

New SMB password:
Retype new SMB password:

パスワードを設定すると、smbuser をSambaの認証ユーザーとして利用できるようになります。


5. Sambaの設定ファイルをバックアップする

Sambaの設定を変更する前に、設定ファイルをバックアップしておきます。

Sambaのメイン設定ファイルは、

/etc/samba/smb.conf

です。

以下のコマンドでバックアップします。

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

設定を間違えた場合に元へ戻せるため、設定ファイルを変更する前にはバックアップしておくと安心です。


6. Sambaの共有設定を追加する

設定ファイルを編集します。

sudo nano /etc/samba/smb.conf

nano が開いたら、ファイルの最後に共有フォルダの設定を追加します。

[share]
comment = share Folder
path = /home/shard
browseable = yes
writable = yes
guest ok = no
read only = no
valid users = smbuser

今回の設定内容は以下のようになります。

[share] はネットワーク上で使用する共有名です。

path = /home/shard では、Ubuntu Server上の実際の共有ディレクトリを指定しています。

browseable = yes は共有フォルダをネットワーク上から参照できるようにする設定です。

writable = yesread only = no によって、共有フォルダへの書き込みを許可します。

guest ok = no とすることで、ゲストユーザーによるアクセスを許可しません。

さらに、

valid users = smbuser

を設定することで、今回作成した smbuser からのアクセスを許可します。
これにより、不特定のユーザーに共有フォルダを公開するのではなく、Sambaに登録したユーザー名とパスワードを使ってアクセスする構成になります。


7. Sambaの設定を確認する

設定ファイルを保存したら、記述内容に問題がないか確認します。

testparm

設定に大きな問題がなければ、

Loaded services file OK.

などと表示されます。

Sambaの設定ファイルを変更した際には、サービスを再起動する前に testparm を実行しておくと、設定ミスを発見しやすくなります。


8. Sambaを再起動する

設定を反映するため、Sambaを再起動します。

sudo systemctl restart smbd

続いて、Sambaが正常に動作しているか確認します。

sudo systemctl status smbd

active (running) と表示されていれば正常に起動しています。


9. Ubuntu ServerのIPアドレスを確認する

今回のUbuntu Serverでは、LAN内のIPアドレスを、

192.168.1.100

に固定しています。

サーバー側で現在のIPアドレスを確認する場合は、

hostname -I

または、

ip addr

を使用できます。

ファイルサーバーは複数のPCから継続的にアクセスするため、IPアドレスが毎回変わってしまうと不便です。

そのため、固定IPアドレスを設定するか、ルーター側でDHCP予約を設定しておくと管理しやすくなります。


10. WindowsからSambaへ接続する

Windowsでは、エクスプローラーのアドレス欄に、

\\192.168.1.100\share

と入力します。

認証画面が表示されたら、

ユーザー名:smbuser
パスワード:Sambaで設定したパスワード

を入力します。

認証に成功すると、Ubuntu Serverの、

/home/shard

へWindowsからアクセスできます。

頻繁に利用する場合は、Windowsの「ネットワークドライブの割り当て」を利用してドライブとして登録しておくと便利です。


11. MacからSambaへ接続する

Macの場合はFinderを開き、

「移動」→「サーバへ接続」

を選択します。

キーボードでは、

command + K

でも開くことができます。

「サーバへ接続」が表示されたら、

smb://192.168.1.100/share

と入力して接続します。

認証画面では、

ユーザー名:smbuser
パスワード:Sambaで設定したパスワード

を入力します。

認証に成功すれば、FinderからUbuntu Serverの共有フォルダへアクセスできます。


12. ファイルの読み書きを確認する

最後にWindowsまたはMacから実際にファイルを操作して、

  • ファイルを開ける
  • ファイルをコピーできる
  • 新しいフォルダを作成できる
  • ファイルを保存できる
  • ファイルを削除できる

ことを確認します。

共有フォルダは表示できるものの、ファイルを作成・保存できない場合は、Sambaの設定だけでなくUbuntu側のディレクトリ権限を確認します。

ls -ld /home/shard

Sambaでは「Sambaの認証・共有設定」と「Linux側のファイルアクセス権限」の両方が関係するため、書き込みができない場合は両方を確認することがポイントです。


まとめ

今回はUbuntu ServerにSambaをインストールして、LAN内のWindowsやMacからアクセスできるファイルサーバーを構築しました。

今回の構成ではゲストアクセスを許可せず、Sambaユーザー smbuser のユーザー名とパスワードを使ってアクセスするようにしています。
また、Ubuntu ServerのIPアドレスを固定することで、WindowsやMacから毎回同じアドレスでアクセスできるようにしました。

市販のNASを利用する方法もありますが、Ubuntu ServerとSambaを組み合わせれば、余っているPCなどを活用してファイルサーバーを構築できます。
今回のような基本的なファイル共有から始めて、今後はバックアップ、ファイアウォール、複数ユーザーごとのアクセス権限、ストレージの冗長化などについても検討していきたいと思います。

お問い合わせはこちらから

南大阪を中心に活動しているシステムエンジニアです。これまでの経験から、ビジネス課題について一緒になって考え、課題解決のためにサポートさせていただきます。些細なご相談でも構いません。当方に期待することやご相談内容についてお聞かせください。

トップへ戻る