debianをWindowsのファイルサーバーにする

概要

debianWindows用のファイルサーバーとして利用できるようにします。 ユーザー認証はSambaのローカルユーザーで行います。 今回は、sambaのhomes機能を利用して、ユーザーごとに自分専用のフォルダのみアクセスできるようにします。

環境

ソフトウェア

  • Debian 11 (bullseys)
  • Samba 4.13

サーバーの設定

1. samba のインストール

# apt install samba

2. 設定ファイルの作成

オリジナルファイルを別名で保存

# mv /etc/samba/smb.conf /etc/samba/smb.conf.org

設定ファイルを作成する。 パラメータについてはこちらのサイトが詳しい。

/etc/samba/smb.conf

[global]
   workgroup = WORKGROUP

   dos charset = CP932
   unix charset = UTF-8

   log file = /var/log/samba/log.%m

   max log size = 1000

   logging = file

   panic action = /usr/share/samba/panic-action %d

   server role = standalone server
   obey pam restrictions = yes
   unix password sync = yes

   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

   pam password change = yes

   map to guest = never
   usershare allow guests = no

[homes]
   comment = Home Directories
   path = /data/homes/%S
   browseable = no
   writable = yes
   valid users = %S

3. samba ユーザーの作成

sambaのユーザーとUNIXユーザーは別で管理されているが、実際のファイルの書き込みはUNIXユーザーで行われるため、UNIXユーザーと同じユーザー名でsambaユーザーを作成する。

# pdbedit -a <ユーザー名>

4. データディレクトリの作成

# mkdir -p /data/homes/<ユーザー名>
# chown -R <ユーザー名> /data/homes/<ユーザー名>
# chmod 700 /data/homes/<ユーザー名>

Windows PCからの接続

Windows ユーザー名/パスワードと、UNIXユーザー名/パスワードが一致していれば、アカウント情報を聞かれることなくアクセスすることが出来る。 異なる場合は、資格情報をWindowsにあらかじめ設定しておく。

1. コントロールパネルを開く

Windowsキー → control と入力 → コントロールパネルを選択 f:id:infrablogger:20211108161631p:plain

2. 資格情報マネージャを開く

f:id:infrablogger:20211108161806p:plain

f:id:infrablogger:20211108161859p:plain

f:id:infrablogger:20211108162051p:plain

アドレスには、ホスト名かIPアドレス、ユーザー名/パスワードにはsambaユーザーのユーザー名/パスワードを入力 f:id:infrablogger:20211108162307p:plain

3. サーバーにアクセスする

エクスプローラーで、以下のアドレスを開く \<ホスト名> または <IPアドレス>

フォルダが見えて、ファイルが書き込めれば完了です。 f:id:infrablogger:20211108162551p:plain