🦍

Samba でファイルサーバーを構築する

2024/04/29に公開

ネットワーク上の複数のコンピューターへディレクトリやファイルを共有できるようにするため、ファイルサーバーを構築する手順を説明します。

🛠️ 事前準備

デバイスやソフトウェアは以下を用いる。

  • 💻 サーバ機(Ubuntu Server)
  • 💿 Samba

1. スーパーユーザーになる

管理者権限でコマンドを実行できるようにする。

🖥️ terminal
# su を差し上げる
sudo su -

2. パッケージリストの更新

利用可能な最新のパッケージ情報を取得し更新しておく。

🖥️ terminal
# パッケージリストを更新する
apt update

# 既存のパッケージを更新する
apt upgrade

🎭 作業手順

1. Samba のインストール

関連する依存関係と共にパッケージをインストールする。

🖥️ terminal
# パッケージのインストール
apt install samba

# サービスの起動状態を確認
systemctl status smbd

2. 共有ディレクトリを作成する

ネットワーク上から認証不要でフルアクセスできるようにする。

🖥️ terminal
# ディレクトリの作成(-v:作成したディレクトリの情報を表示)
mkdir -v /media/shared

# 誰でも読み書きできる権限を設定
chmod 777 /media/shared

# 設定ファイルのバックアップ
cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak

# 設定ファイルの編集(セクションは末尾に追記)
vi /etc/samba/smb.conf
📄 smb.conf
#### Networking ####
# 接続元をローカルに制限(コメントアウトを解除)
;   interfaces = 127.0.0.0/8 eth0
   interfaces = 127.0.0.0/8 eth0 192.168.0.0/24

;   bind interfaces only = yes
   bind interfaces only = yes

# 共有ディレクトリの設定
[shared]
path = /media/shared
public = yes
browseable = yes
writable = yes
guest only = yes
force create mode = 0666
force directory mode = 0777

ℹ️ アクセス制御したい場合の設定方法

ユーザー認証でアクセスできるようにする。

🖥️ terminal

# ユーザーの作成(既存のアカウントを利用する場合は不要)
adduser [username]

# Samba用パスワードの作成
smbpasswd -a [username]

# ディレクトリの作成(-v:作成したディレクトリの情報を表示)
mkdir -v /media/secure

# 誰でも読み書きできる権限を設定
chmod 777 /media/secure

# 設定ファイルへの追記
tee -a /etc/samba/smb.conf <<EOF >/dev/null

# 制御ディレクトリの設定
[secure]
path = /media/secure
browsable = yes
writable = yes
guest ok = no
valid users = [username]
EOF

⛳️ 動作確認

1. 設定内容の反映

設定ファイルに加えた変更内容を適用する。

🖥️ terminal
# サービスの再起動
systemctl restart smbd

2. 共有ディレクトリへのアクセス

他のPC端末からネットワークを介して smb://[サーバーのIPアドレス] に接続し、共有ディレクトリ内のファイルの読み書きができるかどうかを確認する。

Discussion