Raspberry Piのsambaが急に使えなくなった

タイトルの通りで、sambaが急に停止し接続できなくなりました。結局sambaを再インストールして復活したのですが、原因不明のままです。一応忘備録として残しておきます。

環境

  • Raspberry Pi 1A+
  • Raspbian 12 (bookworm)
  • Linux version 6.1.0-rpi6-rpi-v6 (2023-10-27)

現象

  • sambaをインストールして普通に使えていたのが、ある日突然Windowsエクスプローラからアクセスできなくなった
  • 端末再起動しても変化なし
  • pingsshは通るので、sambaが原因と判断

調査

  • sudo systemctl status sambaする
    • serviceがdisabledでinactiveであった
    • その下のログを見ると、exec-conditionのせいでスキップした、と書いてある
Loaded: loaded (/lib/systemd/system/samba-ad-dc.service; disabled; preset: enabled)
Active: inactive (dead)

systemd[1]: Starting samba-ad-dc.service - Samba AD Daemon...
systemd[1]: samba-ad-dc.service: Skipped due to 'exec-condition'.
systemd[1]: Condition check resulted in samba-ad-dc.service - Samba AD Daemon being skipped.
systemd[1]: samba-ad-dc.service: Consumed 1.256s CPU time.
  • とりあえず、serviceをenableし再起動するが、enabledになるだけで変化なし

    • sudo systemctl enable samba-ad-dc.service
    • sudo systemctl restart samba-ad-dc.service
  • 以下のコマンドでログを見るも有用な情報はなし

    • sudo journalctl -xe
    • sudo nano /var/log/samba/log.smbd
    • sudo nano /var/log/samba/log.nmbd
  • sudo testparmで設定を確認するが、これまで動いてたので当然問題なし

  • ExecConditionに問題があるということで、sudo nano /lib/systemd/system/samba-ad-dc.serviceを見てみる

    • ExecCondition=/usr/share/samba/is-configured sambaの記載があるが、このコマンドは問題なく実行できる*1
    • 試しにExecConditionをコメントアウトして再起動してみると、起動がFailedとなった
      • daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for detailsというエラーメッセージがでる
      • server roleの設定がおかしいと言われたので、一応設定をsudo nano/etc/samba/smb.confで確認してみたが、初期値から変えておらずserver role = standalone serverであり問題なし

最終的な対処

  • sambaを再インストールして無事復活した
sudo apt-get remove --purge samba
sudo apt-get autoremove
sudo apt-get update
sudo apt-get install samba
sudo systemctl restart smbd
sudo systemctl restart nmbd
sudo systemctl status smbd
sudo systemctl status nmbd

*1:振り返ると、ExecConditionのコマンドが権限などの問題でうまく動かなかったのでは、という気もするが、もう再インストールしてしまったので確認のしようがない