NSA325 Samba share not working anymore

Options

Hello,

i have a problem that my samba shares are not working anymore. I am using the zyxel samba replacement packages.

http:///var/log/samba # smbstatus -V
Version 3.6.25

http:///var/log/samba # smbstatus -s /opt/etc/samba/ZyXELSambaReplacement.conf
ERROR: invalid DOS charset: 'dos charset' must not be UTF8, using (default value) ASCII instead.
Can't open sessionid.tdb

http:///var/log/samba # cat /opt/etc/samba/ZyXELSambaReplacement.conf
[Global]
#client max protocol = SMB2
max protocol = SMB2

include = /etc/samba/smb.conf

It says dos charset must not be UTF8 but in my

/var/log/samba # cat /etc/samba/smb.conf

There is below global UTF8 configured

[global]
workgroup = WORKGROUP
server string = NSA325
netbios name = NSA325
dos charset = UTF8
display charset = UTF8
unix charset = UTF8
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
guest account = pc-guest
map to guest = Bad User
write ok = yes
force create mode = 777
force directory mode = 777
force security mode = 777
force directory security mode = 777
auth methods = guest sam_ignoredomain
max log size = 50
host msdfs = yes
lanman auth = yes
kernel oplocks = no
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=131072 SO_RCVBUF=131072
use mmap = yes
max xmit = 131072
min receivefile size = 128k
unix extensions = no
wide links = Yes
oplocks = yes
level2 oplocks = no
max smbd processes = 128
printing = cups
printcap = /etc/printcap
load printers = yes
use sendfile = yes
passdb backend = smbpasswd
veto files = /.grive*/

So I am wondering what is the problem with my samba shares. I am not sure. We had an power failure last week maybe this lead to a corruption?

Does anyone have an idea how I can fix my shares?

All Replies

  • Mijzelf
    Mijzelf Posts: 2,642  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    Options

    That is amazing. I wrote that package something like 10 years ago, and as far as I can remember this issue never popped up before. except for 2 weeks ago:

    For him reinstalling the SambaReplacement package worked, but actually I have no idea where this suddenly comes from. A power outage can corrupt files, but the SambaReplacement package contains of only 2 files. The start script and /opt/etc/samba/ZyXELSambaReplacement.conf. The latter looks good, and if the first one was corrupted, you'd get a syntax error.

  • eric1905
    eric1905 Posts: 3
    Friend Collector First Comment
    edited May 15
    Options

    I just posted the global section.

    I just removed the existing file and rebooted. The file was recreated by the system.

    The whole file looks like this:

    ~ # cat /etc/samba/smb.conf
    [global]
    workgroup = WORKGROUP
    server string = NSA325
    netbios name = NSA325
    dos charset = UTF8
    display charset = UTF8
    unix charset = UTF8
    security = user
    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
    guest account = pc-guest
    map to guest = Bad User
    write ok = yes
    force create mode = 777
    force directory mode = 777
    force security mode = 777
    force directory security mode = 777
    auth methods = guest sam_ignoredomain
    max log size = 50
    host msdfs = yes
    lanman auth = yes
    kernel oplocks = no
    socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=131072 SO_RCVBUF=131072
    use mmap = yes
    max xmit = 131072
    min receivefile size = 128k
    unix extensions = no
    wide links = Yes
    oplocks = yes
    level2 oplocks = no
    max smbd processes = 128
    printing = cups
    printcap = /etc/printcap
    load printers = yes
    use sendfile = yes
    passdb backend = smbpasswd
    veto files = /.grive*/

    [printers]
    path = /i-data/md0/.media/samba
    public = yes
    guest ok = yes
    browseable = yes
    writable = no
    printable = yes
    use client driver = yes

    [admin]
    path = /i-data/md0/admin
    valid users = "admin"
    follow symlinks = yes
    strict allocate = yes
    vfs objects = full_audit
    full_audit:prefix = %S
    full_audit:success = unlink rmdir mkdir rename close
    full_audit:failure = none
    full_audit:priority = notice

    [Daten Jasmin]
    path = /i-data/93698f22/Daten Jasmin
    valid users = nobody "eric"
    follow symlinks = yes
    strict allocate = yes
    ; NO Action-log or Recycle-Bin

    [Brunnebutzer]
    path = /i-data/93698f22/BB
    valid users = nobody "eric"
    follow symlinks = yes
    strict allocate = yes
    ; NO Action-log or Recycle-Bin

    [Brunnebutzer sync]
    path = /i-data/93698f22/BB sync
    valid users = nobody "eric"
    follow symlinks = yes
    strict allocate = yes
    ; NO Action-log or Recycle-Bin

    [test]
    path = /i-data/93698f22/test
    valid users = "eric"
    follow symlinks = yes
    strict allocate = yes
    ; NO Action-log or Recycle-Bin

    [Jasmin]
    path = /etc/zyxel/storage/sysvol/.system/autoshare_sata/Jasmin
    valid users = "admin"
    follow symlinks = yes
    strict allocate = yes
    ; NO Action-log or Recycle-Bin

    What looks strange to me is:

    valid users = nobody "eric"

    The test share I created yesterday to test if a new share is working. There it is only

    valid users = "eric"

    I then removed the zyxel replacement package and reinstalled it

    su
    opkg remove zyxel-samba-replacement
    opkg update
    opkg install zyxel-samba-replacement

    When executing

    /opt/etc/init.d/S08samba stop

    I get
    sh: /opt/etc/init.d/S08samba: Permission denied

    so I added the +x and then it worked

    ~ # /opt/etc/init.d/S08samba stop
    ~ # chmod a-x /opt/etc/init.d/S08samba
    ~ # chmod a+x /opt/etc/init.d/S09ZyXELSambaReplacement
    ~ # /opt/etc/init.d/S09ZyXELSambaReplacement start
    Stopping Samba daemons: nmbd smbd.

    But the share is still not working and

    smbstatus -s /opt/etc/samba/ZyXELSambaReplacement.conf

    is still giving me the

    ERROR: invalid DOS charset: 'dos charset' must not be UTF8, using (default value) ASCII instead.
    Can't open sessionid.tdb

  • Mijzelf
    Mijzelf Posts: 2,642  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    Options

    But the share is still not working

    Is samba running?

    ps | grep smb
    

    or maybe

    ps -A | grep smb
    

    depending on the invoked ps.

    As said I have no idea what causes this, but I'm certainly not a samba specialist. Maybe @django_alexander has an idea?

  • eric1905
    eric1905 Posts: 3
    Friend Collector First Comment
    Options

    It looks like samba is not running

    ~ # ps | grep smb

    ~ # ps -A | grep smb

    ps: invalid option -- 'A'

    BusyBox v1.17.2 (2017-06-21 16:20:33 CST) multi-call binary.

    Usage: ps

    The log files look like this:

    /var/log/samba # cat log.nmbd

    [2024/05/15 16:56:35,  0] nmbd/nmbd.c:857(main)

      nmbd version 3.5.6 started.

      Copyright Andrew Tridgell and the Samba Team 1992-2010

    [2024/05/15 16:56:59.567166,  0] nmbd/nmbd_become_lmb.c:395(become_local_master_stage2)

      *****

      Samba name server NSA325 is now a local master browser for workgroup WORKGROUP on subnet 192.168.3.6

      *****

    [2024/05/15 17:01:13.871028,  0] nmbd/nmbd.c:71(terminate)

      Got SIGTERM: going down...

    /var/log/samba #

    /var/log/samba #

    /var/log/samba # cat log.smbd

    [2024/05/15 16:56:34,  0] smbd/server.c:1123(main)

      smbd version 3.5.6 started.

      Copyright Andrew Tridgell and the Samba Team 1992-2010

  • DominikLOL
    DominikLOL Posts: 19  Freshman Member
    10 Comments Friend Collector
    Options

    i had to reinstall entware-ng as a whole with many reboots to get back smb1 working and then putting the replacement back in, that's how i fixed it, but this issue seems to pop up more more after some time of running, no idea why

  • DominikLOL
    DominikLOL Posts: 19  Freshman Member
    10 Comments Friend Collector
    Options

    maybe it could be something related to entware-ng?

  • Mijzelf
    Mijzelf Posts: 2,642  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    Options

    Nothing has changed serverside. ZyXEL hasn't updated the firmware for years, nor is Entware-ng, or my SambaReplacement package. So I suppose (one of) you client has got an update which kills samba.

    I suppose it is possible to enable a more extensive logging in smb.conf and/or ZyXELSambaReplacement.conf. Read the samba manual for that. Maybe samba will log why it quits. But when it just crashes, it won't log that, of course.

    When samba crashes, it will refuse to start again, because the pid file in /var/lock or something like that is still there, telling samba it's still running. Unfortunately this happens silently.

  • DominikLOL
    DominikLOL Posts: 19  Freshman Member
    10 Comments Friend Collector
    Options

    could this get fixed by just remaking that file on restart? cuz even with restart it doesn't fix the issue, only when i completely remove entware-ng and reinstall it from ground up

  • Mijzelf
    Mijzelf Posts: 2,642  Guru Member
    First Anniversary 10 Comments Friend Collector First Answer
    Options

    could this get fixed by just remaking that file on restart?

    The file doesn't have to be remaked, it has to be deleted. In Linux it is common practice for a daemon to write a pid file, containing the process id of the daemon. This is used to be able to communicate with the running daemon. '/etc/init.d/samba —reload' reads the pid file to be able send a signal to the daemon, and 'samba —stop' could read it to send a kill signal.

    And the starting daemon can see the existing pid file and decide not to continue.

    Just by removing the pid file you could start a daemon twice. Or restart it when it crashed without cleaning up the pid file.

    I don't know it's name. But I'd expect something like smb<something>.pid in /var/* or /opt/var/*. As a reboot doen't work, it won't be /var/, which is a ramdisk.

Consumer Product Help Center