Raspberry Pi 4でWindowsファイルサーバーを構築

Linux
この記事は約10分で読めます。

 

Raspberry Pi 4でWindowsからアクセスできるファイルサーバーを作ってみました。

 

以前も今回同様にsambaでファイルサーバーを作りましたが、構築後は頭からきれいさっぱり構築手順が消えてなくなります。

 

ということでちゃんとメモしときます。

 

 

                 

環境

 

  • Raspberry Pi 4
    $ cat /etc/os-release
    PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="10"
    VERSION="10 (buster)"
    VERSION_CODENAME=buster
    ID=raspbian
    ID_LIKE=debian
    HOME_URL="http://www.raspbian.org/"
    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"



  • USB経由でSDカードマウント済み
     df -Th | grep sda
    /dev/sda1      vfat        30G   64K   30G    1% /home/pi/SD

 

 

SDカードマウント~フォーマット

 

SDカードのマウントとフォーマットについては以前の記事を見てください。

なお、使用しているSDカードは32GBのものに変更しました。

ファイルサーバー作成

今回は、パスワードなしでアクセスできるものと、ユーザー認証が必要なものの2種類を作成しました。

 

パッケージ インストール

必要なパッケージをインストール

$ sudo apt -y install samba

 

 

バージョン確認

 

 $ smbd -V
Version 4.9.5-Debian

 

パスワードなしでアクセス可能なファイルサーバーの作成

ディレクトリ作成

※root権限で作業してます。

ディレクトリ作成

# mkdir -p /home/samba

 

 

ディレクトリの所有者確認

# ll /home/
合計 8
drwxr-xr-x 16 pi   pi   4096 11月  9 10:22 pi
drwxr-xr-x  2 root root 4096 11月  9 10:50 samba

 

作成した/home/sambaの所有者がrootになっているので、”nobody nogroup”に変更します。

ディレクトリの所有者変更

# chown nobody:nogroup /home/samba/

 

再度、ディレクトリの所有者確認

# ll /home/
合計 8
drwxr-xr-x 16 pi     pi      4096 11月  9 10:22 pi
drwxr-xr-x  2 nobody nogroup 4096 11月  9 10:50 samba

無事、所有者変更ができました。

 

 

設定ファイルのバックアップ

 

バックアップのために、/etc/samba/smb.confをコピーしときます。

# cp -p  /etc/samba/smb.conf /etc/samba/smb.conf.old

# ll /etc/samba/smb.conf*
-rw-r--r-- 1 root root 8629 11月  9 10:26 /etc/samba/smb.conf
-rw-r--r-- 1 root root 8629 11月  9 10:26 /etc/samba/smb.conf.old

 

 

編集内容

# cat /etc/samba/smb.conf
[global]
dos charset = CP932  
unix charset = UTF8
security = user
enscript passwords = yes
map to guest = Bad User
passdb backend = tdbsam
ntlm auth = yes
 
[share]
path = /home/samba/
browsable =yes
writable = yes
guest ok = yes
guest only = yes
read only = no
create mode = 0777
directory mode = 0777

shareという名前でパスワードなしでアクセスできるファイルサーバーを設定しました。

 

サービス再起動

# systemctl restart smbd.service 

アクセス確認

 

Windows10からアクセスしてみます。

『share』が表示されました。

 

 

パスワードなしでアクセスでき、ファイルの書き込みもできました。

 

書き込んだ内容をRaspberry Piから見ることもできました。

$ cat /home/samba/新しいテキスト\ ドキュメント.txt 
dfasdggfhkaugkefa

意味のない文字列ですが。。。

 

既存ユーザーをsambaアクセスユーザーとして設定する

今回はユーザー:piをsambaアクセス可能なユーザーとして設定します。

先ほどのだれでもアクセス可能なディレクトリとは異なるディレクトリに、piのみアクセス可能なファイルサーバーを設定します。

 

# pdbedit -a pi
Unknown parameter encountered: "enscript passwords"
Ignoring unknown parameter "enscript passwords"
Unknown parameter encountered: "enscript passwords"
Ignoring unknown parameter "enscript passwords"
new password:
retype new password:
Unix username:        pi
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1811212592-3493324344-1103245892-1000
Primary Group SID:    S-1-5-21-1811212592-3493324344-1103245892-513
Full Name:            
Home Directory:       \\raspberrypi\pi
HomeDir Drive:        
Logon Script:         
Profile Path:         \\raspberrypi\pi\profile
Domain:               RASPBERRYPI
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    火, 09 11月 2021 11:10:11 JST
Password can change:  火, 09 11月 2021 11:10:11 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

 

 

ディレクトリ作成

せっかくSDカードをマウントしているのでSDカード内にディレクトリを作成しました。

$ mkdir -p /home/pi/SD/sd_samba

 

/etc/samba/smb.confの編集

/etc/samba/smb.confに以下の内容を追記します。

[share2]
path = /home/pi/SD/sd_samba
browsable =yes
writable = yes
guest ok = no
guest only = no
read only = no
create mode = 0777
directory mode = 0777

/etc/samba/smb.confをcatした内容

$ cat /etc/samba/smb.conf
[global]
dos charset = CP932
unix charset = UTF8
security = user
enscript passwords = yes
map to guest = Bad User
passdb backend = tdbsam
ntlm auth = yes
 
[share]
path = /home/samba/
browsable =yes
writable = yes
guest ok = yes
guest only = yes
read only = no
create mode = 0777
directory mode = 0777

[share2]
path = /home/pi/SD/sd_samba
browsable =yes
writable = yes
guest ok = no
guest only = no
read only = no
create mode = 0777
directory mode = 0777

piをsambaアクセスできるようにする

# pdbedit -a pi
Unknown parameter encountered: "enscript passwords"
Ignoring unknown parameter "enscript passwords"
Unknown parameter encountered: "enscript passwords"
Ignoring unknown parameter "enscript passwords"
new password:
retype new password:
Unix username:        pi
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1811212592-3493324344-1103245892-1000
Primary Group SID:    S-1-5-21-1811212592-3493324344-1103245892-513
Full Name:            
Home Directory:       \\raspberrypi\pi
HomeDir Drive:        
Logon Script:         
Profile Path:         \\raspberrypi\pi\profile
Domain:               RASPBERRYPI
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    火, 09 11月 2021 11:10:11 JST
Password can change:  火, 09 11月 2021 11:10:11 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

 

 

サービス再起動

# systemctl restart smbd.service 

アクセス確認

感想

sambaでファイルサーバーを作ったことは何度かあるのですが、参考にするページによって記述内容がいろいろありとても迷います。

まあそれだけsambaで実現できることが多く柔軟性の高い仕組みということだと思います。

勉強することはまだまだたくさんあるのでコツコツと続けていこうと思います。


Raspberry Piのはじめ方 (日経BPパソコンベストムック)


WIMAXIT 7インチ Raspberry Pi用タッチモニター IPS 1024X600 HDMI端子/Raspberry Pi 4/3/2/1 Model B A+ B+ BB Black Banana Pi Windows10/8/7対応


Raspberry Pi 4 8GB(技適マーク入)MicroSDHCカード128G/Raspbianシステムプリインストール/カードリーダ /5.1V/3A Type-C スイッチ付電源/MicroHDMI-to-HDMIケーブルライン/三つヒートシンク/簡単に取り付けケース/日本語取扱説明書/12ヶ月保証


エレコム micro HDMI ケーブル 1m 4K×2K対応 スーパースリム ブラック DH-HD14SSU10BK

コメント

タイトルとURLをコピーしました