Raspberry PIにSambaをインストール

#1.Sambaとは
Sambaとは、UNIX系OSとWindows（Windows NT、Windows 2000系）との間で、ネットワーク上のファイルやプリンタの共有などを実現するソフトウェアです。

#2.目的
Windows からアクセス可能なファイルサーバーとします。

#3.インストール
##①コマンド実行
```bash
pi@raspberrypi:~$ sudo apt-get install -y samba
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libmicrodns0
これを削除するには 'sudo apt autoremove' を利用してください。
以下の追加パッケージがインストールされます:
  attr ibverbs-providers libboost-regex1.67.0 libcephfs2 libgfapi0 libgfrpc0 libgfxdr0 libglusterfs0 libibverbs1 librados2 python-dnspython python-gpg
  python-ldb python-samba python-tdb samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools
提案パッケージ:
  bind9 bind9utils ctdb ldb-tools ntp | chrony smbldap-tools ufw winbind heimdal-clients
以下のパッケージが新たにインストールされます:
  attr ibverbs-providers libboost-regex1.67.0 libcephfs2 libgfapi0 libgfrpc0 libgfxdr0 libglusterfs0 libibverbs1 librados2 python-dnspython python-gpg
  python-ldb python-samba python-tdb samba samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools
アップグレード: 0 個、新規インストール: 21 個、削除: 0 個、保留: 5 個。
18.2 MB のアーカイブを取得する必要があります。
この操作後に追加で 62.7 MB のディスク容量が消費されます。
取得:1 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf python-dnspython all 1.16.0-1 [90.1 kB]
取得:2 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf python-ldb armhf 2:1.5.1+really1.4.6-3 [33.1 kB]
取得:3 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf python-tdb armhf 1.3.16-2+b1 [16.0 kB]
取得:4 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf python-samba armhf 2:4.9.5+dfsg-5+deb10u1+rpi1 [1,794 kB]
取得:5 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf samba-common all 2:4.9.5+dfsg-5+deb10u1+rpi1 [170 kB]                         
取得:6 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf samba-common-bin armhf 2:4.9.5+dfsg-5+deb10u1+rpi1 [570 kB]                   
取得:7 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf tdb-tools armhf 1.3.16-2+b1 [26.9 kB]                                         
取得:8 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf samba armhf 2:4.9.5+dfsg-5+deb10u1+rpi1 [1,010 kB]                            
取得:9 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf attr armhf 1:2.4.48-4 [39.4 kB]                                               
取得:10 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libibverbs1 armhf 22.1-1 [43.5 kB]                                           
取得:11 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf ibverbs-providers armhf 22.1-1 [20.2 kB]                                     
取得:12 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libboost-regex1.67.0 armhf 1.67.0-13+deb10u1 [430 kB]                        
取得:13 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf librados2 armhf 12.2.11+dfsg1-2.1+rpi1 [2,337 kB]                            
取得:14 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libcephfs2 armhf 12.2.11+dfsg1-2.1+rpi1 [380 kB]                             
取得:15 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libglusterfs0 armhf 5.5-3 [2,724 kB]                                         
取得:16 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libgfxdr0 armhf 5.5-3 [2,488 kB]                                             
取得:17 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libgfrpc0 armhf 5.5-3 [2,506 kB]                                             
取得:18 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libgfapi0 armhf 5.5-3 [2,524 kB]                                             
取得:19 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf python-gpg armhf 1.12.0-6 [275 kB]                                           
取得:20 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf samba-dsdb-modules armhf 2:4.9.5+dfsg-5+deb10u1+rpi1 [345 kB]                
取得:21 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf samba-vfs-modules armhf 2:4.9.5+dfsg-5+deb10u1+rpi1 [400 kB]   
18.2 MB を 1分 56秒 で取得しました (157 kB/s)                                                                                                                
パッケージを事前設定しています ...
以前に未選択のパッケージ python-dnspython を選択しています。
(データベースを読み込んでいます ... 現在 153927 個のファイルとディレクトリがインストールされています。)
.../00-python-dnspython_1.16.0-1_all.deb を展開する準備をしています ...
python-dnspython (1.16.0-1) を展開しています...
以前に未選択のパッケージ python-ldb を選択しています。
.../01-python-ldb_2%3a1.5.1+really1.4.6-3_armhf.deb を展開する準備をしています ...
python-ldb (2:1.5.1+really1.4.6-3) を展開しています...
以前に未選択のパッケージ python-tdb を選択しています。
.../02-python-tdb_1.3.16-2+b1_armhf.deb を展開する準備をしています ...
python-tdb (1.3.16-2+b1) を展開しています...
以前に未選択のパッケージ python-samba を選択しています。
.../03-python-samba_2%3a4.9.5+dfsg-5+deb10u1+rpi1_armhf.deb を展開する準備をしています ...
python-samba (2:4.9.5+dfsg-5+deb10u1+rpi1) を展開しています...
以前に未選択のパッケージ samba-common を選択しています。
.../04-samba-common_2%3a4.9.5+dfsg-5+deb10u1+rpi1_all.deb を展開する準備をしています ...
samba-common (2:4.9.5+dfsg-5+deb10u1+rpi1) を展開しています...
以前に未選択のパッケージ samba-common-bin を選択しています。
.../05-samba-common-bin_2%3a4.9.5+dfsg-5+deb10u1+rpi1_armhf.deb を展開する準備をしています ...
samba-common-bin (2:4.9.5+dfsg-5+deb10u1+rpi1) を展開しています...
以前に未選択のパッケージ tdb-tools を選択しています。
.../06-tdb-tools_1.3.16-2+b1_armhf.deb を展開する準備をしています ...
tdb-tools (1.3.16-2+b1) を展開しています...
以前に未選択のパッケージ samba を選択しています。
.../07-samba_2%3a4.9.5+dfsg-5+deb10u1+rpi1_armhf.deb を展開する準備をしています ...
samba (2:4.9.5+dfsg-5+deb10u1+rpi1) を展開しています...
以前に未選択のパッケージ attr を選択しています。
.../08-attr_1%3a2.4.48-4_armhf.deb を展開する準備をしています ...
attr (1:2.4.48-4) を展開しています...
以前に未選択のパッケージ libibverbs1:armhf を選択しています。
.../09-libibverbs1_22.1-1_armhf.deb を展開する準備をしています ...
libibverbs1:armhf (22.1-1) を展開しています...
以前に未選択のパッケージ ibverbs-providers:armhf を選択しています。
.../10-ibverbs-providers_22.1-1_armhf.deb を展開する準備をしています ...
ibverbs-providers:armhf (22.1-1) を展開しています...
以前に未選択のパッケージ libboost-regex1.67.0:armhf を選択しています。
.../11-libboost-regex1.67.0_1.67.0-13+deb10u1_armhf.deb を展開する準備をしています ...
libboost-regex1.67.0:armhf (1.67.0-13+deb10u1) を展開しています...
以前に未選択のパッケージ librados2:armhf を選択しています。
.../12-librados2_12.2.11+dfsg1-2.1+rpi1_armhf.deb を展開する準備をしています ...
librados2:armhf (12.2.11+dfsg1-2.1+rpi1) を展開しています...
以前に未選択のパッケージ libcephfs2:armhf を選択しています。
.../13-libcephfs2_12.2.11+dfsg1-2.1+rpi1_armhf.deb を展開する準備をしています ...
libcephfs2:armhf (12.2.11+dfsg1-2.1+rpi1) を展開しています...
以前に未選択のパッケージ libglusterfs0:armhf を選択しています。
.../14-libglusterfs0_5.5-3_armhf.deb を展開する準備をしています ...
libglusterfs0:armhf (5.5-3) を展開しています...
以前に未選択のパッケージ libgfxdr0:armhf を選択しています。
.../15-libgfxdr0_5.5-3_armhf.deb を展開する準備をしています ...
libgfxdr0:armhf (5.5-3) を展開しています...
以前に未選択のパッケージ libgfrpc0:armhf を選択しています。
.../16-libgfrpc0_5.5-3_armhf.deb を展開する準備をしています ...
libgfrpc0:armhf (5.5-3) を展開しています...
以前に未選択のパッケージ libgfapi0:armhf を選択しています。
.../17-libgfapi0_5.5-3_armhf.deb を展開する準備をしています ...
libgfapi0:armhf (5.5-3) を展開しています...
以前に未選択のパッケージ python-gpg を選択しています。
.../18-python-gpg_1.12.0-6_armhf.deb を展開する準備をしています ...
python-gpg (1.12.0-6) を展開しています...
以前に未選択のパッケージ samba-dsdb-modules:armhf を選択しています。
.../19-samba-dsdb-modules_2%3a4.9.5+dfsg-5+deb10u1+rpi1_armhf.deb を展開する準備をしています ...
samba-dsdb-modules:armhf (2:4.9.5+dfsg-5+deb10u1+rpi1) を展開しています...
以前に未選択のパッケージ samba-vfs-modules:armhf を選択しています。
.../20-samba-vfs-modules_2%3a4.9.5+dfsg-5+deb10u1+rpi1_armhf.deb を展開する準備をしています ...
samba-vfs-modules:armhf (2:4.9.5+dfsg-5+deb10u1+rpi1) を展開しています...
libibverbs1:armhf (22.1-1) を設定しています ...
libboost-regex1.67.0:armhf (1.67.0-13+deb10u1) を設定しています ...
ibverbs-providers:armhf (22.1-1) を設定しています ...
attr (1:2.4.48-4) を設定しています ...
samba-vfs-modules:armhf (2:4.9.5+dfsg-5+deb10u1+rpi1) を設定しています ...
samba-common (2:4.9.5+dfsg-5+deb10u1+rpi1) を設定しています ...
Creating config file /etc/samba/smb.conf with new version
libglusterfs0:armhf (5.5-3) を設定しています ...
python-ldb (2:1.5.1+really1.4.6-3) を設定しています ...
tdb-tools (1.3.16-2+b1) を設定しています ...
update-alternatives: /usr/bin/tdbbackup (tdbbackup) を提供するために自動モードで /usr/bin/tdbbackup.tdbtools を使います
python-tdb (1.3.16-2+b1) を設定しています ...
samba-dsdb-modules:armhf (2:4.9.5+dfsg-5+deb10u1+rpi1) を設定しています ...
python-dnspython (1.16.0-1) を設定しています ...
python-gpg (1.12.0-6) を設定しています ...
libgfxdr0:armhf (5.5-3) を設定しています ...
librados2:armhf (12.2.11+dfsg1-2.1+rpi1) を設定しています ...
python-samba (2:4.9.5+dfsg-5+deb10u1+rpi1) を設定しています ...
libcephfs2:armhf (12.2.11+dfsg1-2.1+rpi1) を設定しています ...
samba-common-bin (2:4.9.5+dfsg-5+deb10u1+rpi1) を設定しています ...
Checking smb.conf with testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Done
libgfrpc0:armhf (5.5-3) を設定しています ...
samba (2:4.9.5+dfsg-5+deb10u1+rpi1) を設定しています ...
グループ sambashare (グループ ID 116) を追加しています...
完了。
Samba is not being run as an AD Domain Controller: Masking samba-ad-dc.service
Please ignore the following error about deb-systemd-helper not finding those services.
(samba-ad-dc.service masked)
Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /lib/systemd/system/nmbd.service.
Failed to preset unit: Unit file /etc/systemd/system/samba-ad-dc.service is masked.
/usr/bin/deb-systemd-helper: error: systemctl preset failed on samba-ad-dc.service: No such file or directory
Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /lib/systemd/system/smbd.service.
libgfapi0:armhf (5.5-3) を設定しています ...
systemd (241-7~deb10u3+rpi1) のトリガを処理しています ...
man-db (2.8.5-2) のトリガを処理しています ...
libc-bin (2.28-10+rpi1) のトリガを処理しています ...
pi@raspberrypi:~$
```

##②ユーザの共有フォルダを設定(smb.conf)
```bash
pi@raspberrypi:~$ sudo vi /etc/samba/smb.conf
```

※下記の[printers]の次に[pi]ユーザの共有フォルダを設定します。
各設定パラメータについては省略します。

```bash
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

[pi]
   comment = Welcome to pi Server
   path = /
   browseable = yes
   wriable = yes
   guest ok = no
   force create mode = 0666
   force directory mode = 0777
   read only = no
   create mask =0777
   directory mask = 0777
```

#4.Sambaユーザのパスワード設定
```bash
pi@raspberrypi:~$ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user pi.
pi@raspberrypi:~$
```

#5.Sambaを再起動
```bash
pi@raspberrypi:~$ sudo service smbd restart
pi@raspberrypi:~$
```

#6.Sambaへアクセス
##①IPアドレス確認
```bash
pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.17  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::e1f6:8778:d769:b292  prefixlen 64  scopeid 0x20<link>
        ether dc:a6:32:0c:91:9d  txqueuelen 1000  (イーサネット)
        RX packets 29258  bytes 20306707 (19.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 60087  bytes 68067041 (64.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (ローカルループバック)
        RX packets 33  bytes 1964 (1.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 33  bytes 1964 (1.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

##②IPアドレスへアクセス
下記のアドレスを入力します。
\\\192.168.1.17
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162336/c946d7b2-fba1-a9fd-5101-db681728f051.png)

「pi」ユーザIDとSambaパスワードを一緒に入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162336/9b94e643-03eb-5781-6019-a54d0266b9c2.png)

Sambaでルートフォルダ以下が共有されているので、すべてのフォルダが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/162336/ef86549e-d522-7485-de2f-9153f1ffebaf.png)

#7 一言
これでRaspberryPIとWindowsPC間にファイルの共有ができるようになりました。
コンソールからファイル編集ではなくWindowsでファイル編集し、保存も可能です。

#注意事項
root権限のファイルやディレクトリは編集及び削除ができるように設定するのはあんまりお勧めしないです。