Raspberry Pi公式ブログにとても分かり易くSambaの構築方法が載っていたので、当サイト(ラズパイダ)としてもまとめてみます。
環境が整っていてSambaをインストールするには目次のSambaをインストールから読み進めてください。
インストールの前に
Sambaをインストールする前の状態は、Raspbianが書き込まれ初回ウィザードによるセットアップも終了しているものとします。
Raspbianのインストールはこちらも参考にしてください。
Raspberry Pi で使うSDカードのフォーマット方法とOSの書き込み方法
Raspberry Pi の初期設定(RASPBIAN JESSIE WITH DESKTOP)
ネットワーク環境は有線LAN接続ならケーブルを繋げればOKです。Wi-Fiの場合は自宅のルーターに参加するように設定してください。
最も簡単なのは、キーボード、マウス、およびモニターを使用し、有線LANでネットワークに接続している場合です。
もちろん、SSH接続で周辺機器を繋がないヘッドレスインストールでも同じようにSambaをインストールできます。
Raspberry Pi zero W のヘッドレスインストール(キーボードやマウスなしでRaspbianをインストールする方法)
Sambaをインストール
コマンドでインストールする方法でご紹介します。
デスクトップ環境があるなら端末から、SSH接続ならば接続後にそのまま進めてください。
sudo apt-get update sudo apt-get upgrade sudo apt-get install samba
updateとupgradeは初めに実行しておきましょう。ダウンロード先やアプリケーションを最新にすることで要らぬエラーを出さないためにも重要です。少し待ち時間があります。その後、sambaをインストール指定します。
この際、元記事ではsamba-common-binが指定してありますが、特に問題無いのでsambaだけでOKです。
インストール前にY/Nの質問にY+ENTERでインストール開始です。時間は少しかかります。
専用の共有ディレクトリを作成
他のマシンから閲覧、編集などのアクセスするディレクトリ(フォルダ)を作成します。分かり易いように名前を付け新たに作成しましょう。
この時、デフォルトユーザーであるpi以下に作れば、権限(パーミッション)は設定しなくてOKになります。別の場所の場合は権限(パーミッション)を適切に与えないとなりません。
piディレクトリ以下で良い場合
sudo mkdir /home/pi/share
今回、シェアする意味でshareとしました。別に何でも構いません。
※mkdirはメイクディレクトリ()の意味で
\ Raspberry Pi 4はメモリー8GBが最新 /
Sambaの設定ファイル(.conf)に追記
Sambaの設定はsmb.confに記述することで可能です。通常は特別なインターフェイスはありません。
と、その前にバックアップをしておくと、後で間違えて分からなくなったとき、一発で元に戻せますからやっておきましょう。
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
「私、失敗しないので」という人はすっ飛ばしてくださいw

nanoで開いて編集する
sudo nano /etc/samba/smb.conf
開いたconfファイルの最終行に追記します。
[share]
comment = Share
path = /home/samba/share
public = yes
read only = no
browsable = yes
force user = pi
設定項目の詳細はSamba公式ドキュメントをご覧ください。最低限はこの7行でOKです。
項目について
confに設定する項目を少しご説明すると、
force user = pi
強制的にという意味で、どういうユーザーでログインしても内部的にpiでログインして接続します。そのユーザー名とパスワードを求められます。
逆に以下のようなセットで設定するとユーザーpi以外にログインできません。
available = yes
valid users = pi
パスワードなしでアクセスするためにユーザーguestを許可したい場合は以下です。
guest ok = yes
Public〜とguest〜は同じような意味合いのパラメータ設定です。使い分けることも可能です。
一般的には該当のフォルダを共有にして、それをパスワードなしでもアクセスできるように、書き込みも出来るようにしたい場合(つまり誰でも)は以下のようにまとめて設定します。
public = yes
writable = yes
guest ok = yes
guest only = yes
上記の例は guest only = yes にもしてあるので、特定のユーザーではない誰でもといった形です。
パスワード
samba.confで指定したフォルダを、他のマシンからネットワーク項目でディレクトリが見えればアクセス可能です。

ただ、Sambaに接続する際のパスワードを追加した方がより良いと思います。
sudo smbpasswd -a pi
私もよく困惑することに、sambaはRaspbianOSのログインと同じpiで説明されているので非常に分かりにくいと思っています。
最初からsambaへ接続するには全く別のユーザーIDとパスワードであればね・・・。面倒に思っても、sambaでアクセスできるユーザーを別に作成して、それのIDとパスワードでアクセスさせる方法も良いでしょう。
confファイルのチェック
これもあなたがドクターXならばすっ飛ばしてください!
testparm
このtestparmコマンドは非常にシンプルなconfファイルのチェックプログラムです。
Loaded services file OK.と出ればOKです。エラーが出ていたらそこを直してください。全角スペースやらスペルミスなどが見つかると思いますよ。エラーを発見するためという用途です。
Sambaサービスの再起動
システムではなくサービスだけを再起動します。
sudo systemctl restart smbd
よくserviceコマンドで記述がありますが、大抵は古い情報です。私も本当に理解はしていませんけど、現在はsystemctlが一般的になりました。
他のサービスで、serviceコマンドが通らない事案もあって、気をつけていますけど全く慣れない・・・。
最後に・・・情報は鮮度が大事
このラズパイダでもコマンド関係は記述が二転三転している箇所があるかと思います。その場合は・・・、
更新日が新しい方が正しいと思ってください! ええ、直します。ごめんなさい。

以上、非常に盛り上がっているSambaのインストール&設定の現場からお届けしました!
コメント