[Samba] smbmount not exiting

Karin Spaink kspaink at xs4all.nl
Wed Oct 1 22:46:11 GMT 2003


The following scriptlet, containing a wrong password among the
mount options,

  #!/bin/bash
  /bin/mount -t smbfs -o  \
  "netbiosname=mymachine,workgroup=group,username=user, \
  password=wrongpasswd,ro,debug=4" //machine/c /mnt/dir
  /bin/echo "Exit $?"

returns invariably

  mount.smbfs started (version 2.2.7a-security-rollup-fix)
  added interface ip=192.168.0.53 bcast=192.168.0.255 nmask=255.255.255.0
  resolve_lmhosts: Attempting lmhosts lookup for name machine<0x20>
  getlmhostsent: lmhost entry: 127.0.0.1 localhost
  resolve_hosts: Attempting host lookup for name machine<0x20>
  Connecting to 192.168.0.50 at port 139
  3457: session request ok
  3457: session setup failed: ERRDOS - ERRnoaccess (Access denied.)
  SMB connection failed
  Exit 1

However, the exact same code containing the right password
hangs at the end of the line and doesn't return any exit code
at all:

  #!/bin/bash
  /bin/mount -t smbfs -o  \
  "netbiosname=mymachine,workgroup=group,username=user, \
  password=rightpasswd,ro,debug=4" //machine/c /mnt/dir
  /bin/echo "Exit $?"

reports

  mount.smbfs started (version 2.2.7a-security-rollup-fix)
  added interface ip=192.168.0.53 bcast=192.168.0.255 nmask=255.255.255.0
  resolve_lmhosts: Attempting lmhosts lookup for name machine<0x20>
  getlmhostsent: lmhost entry: 127.0.0.1 localhost
  resolve_hosts: Attempting host lookup for name machine<0x20>
  Connecting to 192.168.0.50 at port 139
  3472: session request ok
  3472: session setup ok
  3472: tconx ok

That's all. The share is correctly mounted and accessible, but
the script hangs forever waiting for mount/smbmount to exit.

Substituting smbmount //machine/c /mnt/dir -o [same options]
for the mount command makes absolutely no difference. Increasing
the debug level to 10 gives no additional information after
"tconx ok". The log contains entries like

  [2003/10/02 02:27:34, 0] client/smbmount.c:send_fs_socket(383)
    mount.smbfs: entering daemon mode for service \\machine\c, pid=3487

and nothing else.

Running mount with strace -v -f -s 128 gives the following:

  <snip endless normal-looking output>

  [pid  3493] open("/mnt/machine", O_RDONLY|O_LARGEFILE) = 6
  [pid  3493] ioctl(6, SMB_IOC_NEWCONN, 0xbfffd080) = 0
  [pid  3493] setsid()                    = 3493
  [pid  3493] kill(3492, SIGTERM)         = 0
  [pid  3493] close(6)                    = 0
  [pid  3493] brk(0)                      = 0x811e000
  [pid  3493] brk(0)                      = 0x811e000
  [pid  3493] brk(0x80fe000)              = 0x80fe000
  [pid  3493] brk(0)                      = 0x80fe000
  [pid  3493] close(3)                    = 0
  [pid  3493] open("/dev/null", O_WRONLY|O_LARGEFILE) = 3
  [pid  3493] getrlimit(0x7, 0xbfffd000)  = 0
  [pid  3493] close(0)                    = 0
  [pid  3493] close(1)                    = 0
  [pid  3493] close(2)                    = 0
  [pid  3493] close(4)                    = 0
  [pid  3493] close(5)                    = 0
  [pid  3493] close(6)                    = -1 EBADF (Bad file descriptor)
  [pid  3493] close(7)                    = -1 EBADF (Bad file descriptor)
  [pid  3493] close(8)                    = -1 EBADF (Bad file descriptor)
  [pid  3493] close(9)                    = -1 EBADF (Bad file descriptor)

  <snip 1011 identical lines>

  [pid  3493] close(1021)                 = -1 EBADF (Bad file descriptor)
  [pid  3493] close(1022)                 = -1 EBADF (Bad file descriptor)
  [pid  3493] close(1023)                 = -1 EBADF (Bad file descriptor)
  [pid  3493] dup2(3, 1)                  = 1
  [pid  3493] dup2(3, 2)                  = 2
  [pid  3493] close(3)                    = 0
  [pid  3493] umask(022)                  = 022
  [pid  3493] open("/var/log/samba/smbmount.log",
  O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE, 0666) = 0
  [pid  3493] fstat64(0, {st_dev=makedev(3, 2), st_ino=32770,
  st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096,
  st_blocks=8, st_size=3221, st_atime=2003/10/02-02:28:44,
  st_mtime=2003/10/02-02:27:34, st_ctime=2003/10/02-02:27:34}) = 0
  [pid  3493] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
  -1, 0) = 0x40018000
  [pid  3493] fstat64(0, {st_dev=makedev(3, 2), st_ino=32770,
  st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096,
  st_blocks=8, st_size=3221, st_atime=2003/10/02-02:28:44,
  st_mtime=2003/10/02-02:27:34, st_ctime=2003/10/02-02:27:34}) = 0
  [pid  3493] _llseek(0, 3221, [3221], SEEK_SET) = 0
  [pid  3493] munmap(0x40018000, 4096)    = 0
  [pid  3493] umask(022)                  = 022
  [pid  3493] time(NULL)                  = 1065054607
  [pid  3493] geteuid32()                 = 0
  [pid  3493] write(0, "[2003/10/02 02:30:07, 0]
  client/smbmount.c:send_fs_socket(383)\n", 63) = 63
  [pid  3493] getpid()                    = 3493
  [pid  3493] geteuid32()                 = 0
  [pid  3493] write(0, "  mount.smbfs: entering daemon mode for service
  \\\\machine\\c, pid=3493\n", 69) = 69
  [pid  3493] rt_sigaction(SIGUSR1, {0x804b150, [USR1], SA_RESTORER|SA_RESTART,
  0x420276f8}, NULL, 8) = 0
  [pid  3493] pause(

And there it stops.

All of Samba comes from the Redhat 9 latest updated binary package,
the system is a stock Redhat 9 with updates and the Windows host
is an NT4sp6a machine.

Any ideas anyone what could be wrong?

Z





More information about the samba mailing list