Help us understand the problem. What is going on with this article?

リモートワークで使えるRaspberry Piで作るファイル共有サーバ

はじめに

本記事はRaspberry Piを使用し、家庭内でファイル共有サーバを構築する方法について記載しています。

リモートワークを行うために会社からWindowsのPCが配付されたとします。
デザイナーを例にすると、会社から配付されたWindowsにあるデータを自宅のMacにコピーして作業したい場合は、ファイル共有を行う手段として何らかの方法が必要になります。

Dropbox等オンラインストレージサービスでファイル共有を行うこともできますが、そんなときに便利なのが自宅で使えるファイル共有サーバです。

Raspberry PiにSambaを導入し、ファイル共有サーバを構築することでWindowsやMacなどで簡単にファイル共有ができます。

Samba.png

SMB

SMB(Server Message Block)は、Windowsコンピュータの間でファイル共有やプリンタ共有などを行うためのプロトコルです。

下位のプロトコルとしてNetBIOSを使用します。また、SMBを拡張したCIFSというプロトコルも存在します。CIFSは直接、TCP/IPを利用します。

Sambaの構築

  • Sambaのインストール
    $ sudo apt-get install samba samba-common-bin
  • 共有フォルダの作成
    $ sudo mkdir /var/samba
  • 共有フォルダへアクセスするユーザの作成
    $ sudo useradd smbuser
  • パスワードの設定
    $ sudo passwd smbuser
  • 権限変更
    $ sudo chown smbuser:smbuser /var/samba/
  • Sambaのアクセス設定
    $ sudo pdbedit -a smbuser
  • 共有フォルダの公開設定
    $ sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.org
    $ sudo vi /etc/samba/smb.conf

/etc/samba/smb.confファイルに以下を追記する。

[share]
   comment = Share Folder
   browseable = yes
   path = /var/samba
   writable = yes
   valid users = smbuser
   force user = smbuser
  • Sambaの再起動
    $ sudo /etc/init.d/samba restart

pdbedit

pdbeditコマンドは、SAM データベース (Samba ユーザーのデータベース) を管理します。
SAM データベース内に保持されるユーザーアカウントを管理するために利用され、 root だけが実行できます。

pdbeditを使用することで、ユーザーアカウントの追加、ユーザーアカウントの削除 、ユーザーアカウントの変更、ユーザーアカウントの一覧表示、ユーザーアカウントのインポートの操作が行えます。

  • データベースのユーザーアカウントを一覧表示
    $ sudo pdbedit -L
smbuser:1001:
  • データベースのユーザーアカウントを一覧表示(詳細)
    $ sudo pdbedit -L -v
---------------
Unix username:        smbuser
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1950213270-485466186-3954191822-1000
Primary Group SID:    S-1-5-21-1950213270-485466186-3954191822-513
Full Name:            
Home Directory:       \\raspberrypi01\smbuser
HomeDir Drive:        
Logon Script:         
Profile Path:         \\raspberrypi01\smbuser\profile
Domain:               RASPBERRYPI01
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    水, 25  3月 2020 15:11:40 JST
Password can change:  水, 25  3月 2020 15:11:40 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

ファイル共有サーバのアクセス

Raspberry Pi側でファイアウォールを有効にしている場合は、Sambaで使用する通信が許可されていることを前提とし、WindowsとMacそれぞれのアクセス方法について記載しています。

Windows

Windows10でSambaにアクセスするためには、SMBのクライアントが必要になります。
Windows 10の場合はSMB 1.0 が無効になっているため、以下の手順でSMBのクライアントを有効にします。

  1. コントロールパネルを開く
  2. プログラムから、[Windows の機能の有効化または無効化]を開く
  3. [SMB 1.0/CIFS クライアント]をチェックを入れて、[OK]をクリックする。
  4. SMBのクライアントを有効化後、エクスプローラーからネットワークで、¥¥<Raspberry PiのIPアドレス>:¥share¥にアクセスする。
  5. 先ほど作成したsmbuserの認証情報を入力するとファイル共有サーバにアクセスできる。

Mac

Macの場合はFinderからアクセスします。

  1. Finderの[移動]から、[サーバへ接続]を選択する。
  2. [サーバアドレス]にsmb://<Raspberry PiのIPアドレス>を入力し、[接続]をクリックする。
  3. 登録ユーザを選択し、先ほど作成したsmbuserの認証情報を入力するとファイル共有サーバにアクセスできる。

おわりに

Raspberry Piを有効活用し、リモートワークに役立てましょう。

Brutus
DevOpsとAIの二刀流を目指す凡人。Python、RaspberryPi、Linux、Docker、k8s、セキュリティ、Oracle Cloud、Terraform、Ansible等について発信しています。登壇、執筆等あれば、Twitterよりメッセージお願いします。
https://brutus.ml/
gauss
株式会社GAUSSは、AIソフトウェアを組み込んだサーバの提供、AIサービス構築のコンサルティング、AIのエンジニア育成をセットにしてサービス提供を展開するスタートアップ企業です。
https://gauss-ai.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした