plant-raspberrypi3のブログ

ラズベリーパイ3とPythonに挑戦して、植物を愛でたり画像を加工したりします。最近はscikit-imageの勉強してます。

ラズパイをsambaサーバー化

ずいぶん前のエントリーで実施した旨書いていたのですが、久しぶりに見直したらSSH接続のほうの参照先のリンクが切れて参照できなくなっていたので、やばい!と思い、引用そのままですが備忘録としてメモ。

各コードの説明については引用元を参照してください。

引用元: www.virment.com

準備

$ sudo apt-get install samba

#ユーザを作成
$ useradd -m user1

#user1をsambaユーザとして登録
$ pdbedit -a user1
#パスワードを設定
new password:
retype new password:
Unix username: user1
NT username:
  (以下略)

#グループの作成
$ groupadd group1

#グループにメンバーの追加
$ gpasswd -a user1 group1
$ gpasswd -a user2 group1

#共有用ディレクトリの作成と設定
$ mkdir /home/public
$ chgrp group1 /home/public/

#アクセス権の設定
$ chmod -R 774 /home/public/

sambaの設定ファイルの編集

$ vi /etc/samba/smb.conf

設定ファイルの中身。

[global]
 
## Browsing/Identification ###
workgroup = WORKGROUP
→ ワークグループ名の設定
 
dos charset = CP932
→ Windowsマシンとの通信時に使用する文字コードの指定
 
unix charset = utf-8
→ Unixマシンとの通信時に使用する文字コードの指定
 
unix extensions = no
→ Macから接続する場合には必要 (詳細は未調査です)
 
hosts allow = 192.168.1.0/255.255.255.0
→ sambaサーバへのアクセスを許可するIPアドレスの指定
 
### Debugging/Accounting ###
log level = 1
→ 出力するログのレベルを指定。
  数値は010まで指定可能。数値が大きいほど詳細なログを出力
 
log file = /var/log/samba/log.%m
→ ログの保存場所の指定。%mはアクセスしてきたユーザマシン名に
  置き換わる変数。つまりこの場合はユーザマシン毎にログを出力する
 
max log size = 1000
→ ログファイルの最大サイズの指定。単位はキロバイト。
  左の場合は最大1MB。1MBを越えると、ログファイル末尾に
 「.old」が付けられて新しいログファイルが作成される。
  すでに「.old」が存在していた場合は削除されて上書きされる
 
###### Authentication ######
map to guest = never
→ ゲスト認証の無効化。有効にする場合は「never」ではなく
 「bad user」を記述

 #============= Share Definitions =============#
[homes]
comment = Home Directories
→ ディレクトリの説明に記述されるコメント
 
browseable = no
→ ディレクトリを共有一覧に表示しないための設定。
  例えばwindowsの場合は「ネットワーク」上に表示されない。
  表示する場合は「yes」を記述
 
writable = yes
→ ファイルへの書き込み許可の指定。
  書き込みを許可しない場合は「no」を記述
 
valid users = %S
→ ディレクトリにアクセス可能なユーザの指定。
  この場合はアクセスしてきたユーザが各自のディレクトリならば
  アクセス可能で、自分以外のユーザはアクセス不可。
  %Sはアクセスしてきたユーザ名に置き換わる変数。
 
[public]
path = /home/public
→ 共有ディレクトリのパス
 
browseable = yes
writable = yes
valid users = @group1
→ ディレクトリにアクセス可能なユーザをグループで指定。
  グループを指定する場合はグループ名に@を付けて指定する。
  この場合はgroup1に属するユーザのみがpublicにアクセス可能になる。

ファイアウォールの設定を確認

UDPの137番、138番、TCPの139番、445番のポートを許可する設定になっているかを確認する