debianをWindowsのファイルサーバーにする
概要
debian をWindows用のファイルサーバーとして利用できるようにします。 ユーザー認証は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 と入力 → コントロールパネルを選択
2. 資格情報マネージャを開く
アドレスには、ホスト名かIPアドレス、ユーザー名/パスワードにはsambaユーザーのユーザー名/パスワードを入力
3. サーバーにアクセスする
エクスプローラーで、以下のアドレスを開く \<ホスト名> または <IPアドレス>
フォルダが見えて、ファイルが書き込めれば完了です。