ラズベリーパイで共有フォルダ作成
今回は「家庭内LANのみで閲覧・書き込みができる共有フォルダの作成」を行う。
1. Sambaのインストール
ラズベリーパイのターミナルにて以下のコマンドを入力し、Sambaをインストールする。
sudo apt update
sudo apt install samba samba-common-bin -y
(-yをつけると「Yes/No」を自動でYesにして進む)
※ダウンロードに失敗したとき
sudo apt update
sudo apt --fix-broken install
sudo apt install samba samba-common-bin -y
(更新→途中で止まったインストールを修復→改めてSambaをインストール)
※ロックファイルが残っている場合
(ex.”Could not get lock /var/lib/dpkg/lock”)
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a
2. 共有用ディレクトリの作成
共有したいフォルダを作る。
<例> /home/pi/shared を共有する場合:
mkdir -p /home/pi/shared
権限を設定する。
Sambaからアクセスできるように、所有者をpi(自身)にしておく。
sudo choun -R pi:pi /home/pi/shared
pi:piの部分には、自身のユーザ名を入力する。
/以降は、共有したいパスを入力する。
※755とは
共有フォルダの権限
700:ユーザのみアクセス(ユーザにのみフル権限)
755:ユーザのみアクセス(誰でも中を見られる)
777:誰でもアクセス可能
※所有者、パーミッションを確認する方法
共有フォルダが/home/pi/sharedの場合
ls -ld /home/pi/shared
出力例:
drwxrwxr-x 2 pi pi 4096 9月 23 10:00 /home/pi/shared
読み方:
・pi pi →左が所有者、右がグループ(どちらもユーザになっているのが理想)
・drwxrwxr-x →権限の部分
r=読む(read)
w=書く(write)
x=実行(実際は「中に入れる」)
3. Sambaの設定
設定を開く。
sudo nano /etc/samba/smb.conf
最下部に以下を追記する。
[Share]
path = /home/pi/shared ※共有したいパス
browseable = yes
writable = yes
read only = no
guest ok = no
valid users = pi ※ユーザ名
force user = pi ※ユーザ名
create mask = 0644
directory mask = 0755
[Share]→ネットワークで見える共有名
path→実際のフォルダの場所
writable = yes→書き込み許可
guest ok = no→ゲストアクセス禁止(セキュリティ強化)
valid users = pi→アクセスできるユーザ
testparm
設定ファイルにタイプミスや余分なスペースがないかチェックできる。
必須ではないが、行っておくとよい。
Samba用にユーザを登録する。(ex.pi)
sudo smbpasswd -a pi
パスワードを聞かれるので、ラズベリーパイ用とは別に、Samba用のパスワードを設定する。
設定を反映させるためSambaを再起動させる。
sudo systemctl restart smbd
sudo systemctl enable smbd
4. Windows PCにて接続テスト
今回は接続テストにWindowsを使用する。
Sambaに対応するために設定(とインストール、再起動)が必要。
①設定
コントロールパネル→プログラム→Windowsの機能の有効化または無効化
「SMB 1.0/CIFS ファイル共有のサポート」にチェックを入れる。
②インストール
自動的にインストールが始まる。
③Windows再起動
メッセージに従って再起動する。
再起動完了後、接続テストを試みる。
エクスプローラーのアドレスバーに入力:
\\raspberrypi\Share
もしくは:
\\ラズベリーパイのIPアドレス\Share
設定したユーザ名、パスワードを入力すると接続できる。
5. Tips
ターミナルの出し方(ショートカット)
Ctrl+Alt+T
ターミナル入力画面
↑キーにて以前入力したコマンドを参照することができる。
ターミナル入力画面にて
cd ../
一階層上に移動
ls
現在いるディレクトリの中身(ファイルやフォルダ一覧)を表示するコマンド。
何も表示されない=その場所にファイルがない(ということもある)。
IPアドレスの調べ方
ターミナルに以下を入力
hostname -I
毎回変わる可能性があるが、設定次第で固定にできる。
→ dhcpcd.confを編集して固定
sudo nano /etc/dhcpcd.conf
※何も表示されない場合は、dhcpcdがインストールされていない(代わりにNetworkManagerが管理している可能性がある)ため、別の方法を試す。
確認方法:
systemctl status NetworkManager
もしNetworkManagerが有効なら、固定IPはNetworkManagerの設定から行うのがよい。
dhcpcd.confの最下部に以下を入力
interface wlan0 ※Wi-Fiの場合。有線なら「interface eth0」
static ip_address=192.168.1.50/24 ※「192.168.1.50」は空いていそうなアドレスにするのが安全。
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
保存(Ctrl+O → Enter → Ctrl+X)して再起動(sudo reboot)すれば固定される。
再起動後に以下を入力し、設定したIP(上記なら「192.168.1.50」)になっていればOK。
hostname -I
→ NetworkManagerを設定
GUIの設定にて簡単に固定できる。
ファイアウォールが有効な場合は、ポート445を開放する必要がある。
sudo ufw allow 445
ラズパイの多くはデフォルトでファイアウォール無効のため、特に設定していなければ気にしなくて大丈夫。
コマンドがない場合:ラズパイOSにufw(Uncomplicated Firewall)がインストールされていない
①ufwをインストールする場合
sudo apt update
sudo apt install ufw -y
sudo ufw allow 445
sudo ufw enable
②そもそもファイアウォールが不要な場合
家庭内LANだけで使う場合、ラズパイはデフォルトでファイアウォール無効のため、何もしなくてもWindowsなどからアクセスできることが多い。
コメント