RaspberryPi3 のsmbファイル共有に、別のLinux端末(fedora)からアクセスしてみるがうまくいかない。
fedora> mkdir /media/HDCAU
fedora> chmod 777 /media/HDCAU/
fedora> mount -t cifs //192.168.3.31/HDCA-U /media/HDCAU/ -o username=pi,iocharset=utf8
fedora> sudo mount -t cifs //192.168.3.31/HDCA-U /media/HDCAU/ -o username=pi,iocharset=utf8
Permission denied と出る。chmod 777 したからフォルダ権限には問題はないはず。
このへん参照。
共有したいディスクのフォーマットがNTFSのときはsec=ntlmオプションが効くらしい。
secオプションつけてみる。
fedora> sudo mount -t cifs //192.168.3.31/HDCA-U /media/HDCAU/ -o username=pi,iocharset=utf8,sec=ntlm
メッセージが変わった。No such file or directory となる。手元のfedoraではたった今mkdirしたばかりだし、フォルダが存在しないなんてことはありえない。
そうすると、RaspberryPi3 のsmbファイル共有側の問題か。
まずはsmb.confの確認。
pi3> sudo vim /etc/samba/smb.conf
問題ない。
今度はMacからアクセスを試してみる。
iMac> cmd + k を押して「サーバへ接続」
しかし、名前(ID)をpiやguestにして試してもエラーになる。
パスワードに何を試してもダメ。
止むを得ないので共有親(pi)側のsambaパスワードをリセットすることにする。
pi> sudo smbpasswd pi
エラーとなった。Failed to find entry for user pi.
そうか。smb.confは(別のpiからコピってきたから)存在するけどそもそものsmbユーザーを作っていなかったのが原因だった。
pi> sudo smbpasswd -a pi
smbのユーザー名「pi」が追加された(OSのユーザーとは別モノ)。
もう一度Macからアクセスを試してみる。
iMac> cmd + k を押して「サーバへ接続」
ユーザー名piで試す。
共有が見えた。これで大丈夫。
fedoraからもアクセスしなおす。
fedora> sudo mount -t cifs //192.168.3.31/HDCA-U /media/HDCAU/ -o username=pi,iocharset=utf8,sec=ntlm
コンソールが返ってきた。
マウントされたファイルを確認。
fedora> ls | more
かなり前にWindowsXPの起動ディスクとして使っていた(フォーマットNTFS)だったものだから、$RECYCLE.BINがあったり、autorun.infがあったりする。
<RaspberryPi3 を共有親にした「ファイル共有smb」がうまくいかないときまとめ>
Permission deniedエラーの場合
・マウント先フォルダをchmod 777 してみる
・mountコマンドにsec=ntlmオプションを付けてみる
No such file or directoryエラーの場合
・マウント先フォルダが存在するか確認する
・マウント元(=pi=共有親)の共有名をタイプミスしていないか確認する
・pi(共有親)側のconfファイルを確認する(sudo vim /etc/samba/smb.conf)
・pi(共有親)側のパスワードをリセットしてみる(sudo smbpasswd pi)
Failed to find entry for user pi. エラーの場合
・pi(共有親)側のユーザーを再作成してみる(sudo smbpasswd -a pi)
共有って奥が深い。共有する側、される側それぞれのエラーがありえるから解決方法を検索しにくいし。越えるべきハードル(確認事項)がかなり多い。
・共有親(今回はpi)側で共有したいフォルダのある場所のフォーマットは何か(今回はNTFS)
・共有親(今回はpi)側で設定した共有ユーザー名は何か(OSのユーザー名とは違う)
・共有親(今回はpi)側で設定した共有パスワードは何か(OSのパスワードとは違う)
・共有親(今回はpi)側の/etc/samba/smb.confは見直ししたか
・共有親(今回はpi)側でsmbpasswd pi してみたか
・共有親(今回はpi)側でsmbpasswd -a pi してみたか
・共有クライアント(今回はfedora)で、マウント先フォルダにchmod 777 したか。
・共有クライアント(今回はfedora)のmountコマンドにsec=ntlmオプションをつけたか
・共有クライアントをLinuxではなくMacにしてみる(今回はiMac)
・共有クライアントをLinuxではなくWindowsにしてみる(今回は試してない)