読者です 読者をやめる 読者になる 読者になる

samba 4.3.0でsambaサーバの起動に失敗してた

linux samba

Arch Linuxsambaを使って単純なファイルサーバにしていて、今日の(ほぼ日課のyaourt -Syuaでアップデートしたところsambaのバージョンが上がり4.3.0になりました。それで、他にもアップデートされたのあるしということで再起動してからsambaサーバにアクセスしに行ったらアクセスできなかったんですね。で、なんでだろうと思ってsambaサーバ側のログを確認するとこのようなログが。

[root@brix samba]# systemctl status samba
● samba.service - Samba AD Daemon
   Loaded: loaded (/usr/lib/systemd/system/samba.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2015-09-09 23:54:09 JST; 4s ago
  Process: 1220 ExecStart=/usr/bin/samba $SAMBAOPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 1221 (code=exited, status=1/FAILURE)

Sep 09 23:54:09 brix systemd[1]: Started Samba AD Daemon.
Sep 09 23:54:09 brix samba[1221]: [2015/09/09 23:54:09.455722,  0] ../source4/smbd/server.c:477(binary_smbd_main)
Sep 09 23:54:09 brix samba[1221]:   At this time the 'samba' binary should only be used for either:
Sep 09 23:54:09 brix samba[1221]:   'server role = active directory domain controller' or to access the ntvfs file server with 's... remote'
Sep 09 23:54:09 brix samba[1221]:   You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
Sep 09 23:54:09 brix samba[1221]: [2015/09/09 23:54:09.455949,  0] ../lib/util/become_daemon.c:111(exit_daemon)
Sep 09 23:54:09 brix samba[1221]:   STATUS=daemon failed to start: Samba detected misconfigured 'server role' and exited. Check l... code 22
Sep 09 23:54:09 brix systemd[1]: samba.service: Main process exited, code=exited, status=1/FAILURE
Sep 09 23:54:09 brix systemd[1]: samba.service: Unit entered failed state.
Sep 09 23:54:09 brix systemd[1]: samba.service: Failed with result 'exit-code'.
Hint: Some lines were ellipsized, use -l to show in full.

sambaのsystemdの.serviceは/usr/bin/sambaを使っているけど、sambaのバイナリを使う場合、server roleにactive directory domain controller設定するか、もしくは途中が省略されててよくわからないほうの設定にしろといってますね。もしくはsmbdとかを使えと。

というわけで、smbd.serviceをstartさせたんだけど、これだけだとダメでした。この場合は↓のエラーになります。

[root@brix samba]# systemctl start smbd
Job for smbd.service failed because the control process exited with error code. See "systemctl status smbd.service" and "journalctl -xe" for details.

さて、どうしたものかというところですが、誰か他にも同じ現象の人はいないかとぐぐってみるといました! やはりArch Linuxのユーザーでアップデートによってsambaが動かなくなっていたようです。 見つかったのはArch Linuxのこのスレッドです。(fixed) samba fails starting after upgrade to 4.3 / Pacman & Package Upgrade Issues / Arch Linux Forums

この人は/var/cache/samba/msgを755に変えたと言っていたので同じくpermissionを変えてsmbdをstartさせたところ起動しましたε-(´∀`*)ホッ

[root@brix samba]# chmod 755  /var/cache/samba/msg
[root@brix samba]# systemctl start smbd
[root@brix samba]# systemctl status smbd
● smbd.service - Samba SMB/CIFS server
   Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2015-09-10 00:11:17 JST; 3s ago
  Process: 2922 ExecStart=/usr/bin/smbd -D (code=exited, status=0/SUCCESS)
 Main PID: 2923 (smbd)
   CGroup: /system.slice/smbd.service
           ├─2923 /usr/bin/smbd -D
           ├─2924 /usr/bin/smbd -D
           └─2926 /usr/bin/smbd -D

Sep 10 00:11:16 brix systemd[1]: Starting Samba SMB/CIFS server...
Sep 10 00:11:17 brix systemd[1]: Started Samba SMB/CIFS server.
Sep 10 00:11:17 brix smbd[2923]: [2015/09/10 00:11:17.016926,  0] ../lib/util/become_daemon.c:124(daemon_ready)
Sep 10 00:11:17 brix smbd[2923]:   STATUS=daemon 'smbd' finished starting up and ready to serve connections

自分の場合はsmb.confは弄らずに/var/cache/samba/msgのpermissionを変えたのと、systemdで起動するサービスをsamba.serviceではなくてsmbd.serviceに変えただけです。