[indiana-discuss] Samba (SUNWsmbs) in non-global zone on 2008.05
Greg
opensolaris-forums at noogies.org
Mon Jun 2 16:55:42 PDT 2008
Hi guys,
my first post. Thanks to all for such a valuable resource that these forums are!
I'm having an issue running samba in a non-global zone on indiana.
It seems the smbd binary has some smarts to detect that its running in a non-global zone, and will not start.
# svcadm enable -r network/smb/server
# svcs network/smb/server
STATE STIME FMRI
maintenance 19:58:59 svc:/network/smb/server:default
# cat /var/svc/log/network-smb-server\:default.log
[ Jun 2 19:58:57 Enabled. ]
[ Jun 2 19:58:59 Executing start method ("/usr/lib/smbsrv/smbd start"). ]
svc.startd could not set context for method: setppriv: Not owner
[ Jun 2 19:58:59 Method "start" exited with status 96. ]
I though this may be the issue with sys_smb privilege required to run in a zone, so I've added 'set limitpriv=default,sys_smb' to my zone configuration and rebooted it. Samba still will not start.
Trying to run the smbd process manually gives
# /usr/lib/smbsrv/smbd start
smbd: non-global zones are not supported
and a truss
# truss /usr/lib/smbsrv/smbd start
execve("/usr/lib/smbsrv/smbd", 0x08047E98, 0x08047EA4) argc = 2
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFF0000
resolvepath("/usr/lib/ld.so.1", "/lib/ld.so.1", 1023) = 12
resolvepath("/usr/lib/smbsrv/smbd", "/usr/lib/smbsrv/smbd", 1023) = 20
sysconfig(_CONFIG_PAGESIZE) = 4096
xstat(2, "/usr/lib/smbsrv/smbd", 0x08047B48) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
xstat(2, "/usr/lib/smbsrv/libumem.so.1", 0x080472F8) Err#2 ENOENT
xstat(2, "/lib/libumem.so.1", 0x080472F8) = 0
resolvepath("/lib/libumem.so.1", "/lib/libumem.so.1", 1023) = 17
open("/lib/libumem.so.1", O_RDONLY) = 3
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFEFB0000
mmap(0x00010000, 208896, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEF70000
mmap(0xFEF70000, 94273, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFEF70000
mmap(0xFEF98000, 19618, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 98304) = 0xFEF98000
mmap(0xFEF9D000, 22624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFEF9D000
munmap(0xFEF88000, 65536) = 0
memcntl(0xFEF70000, 28732, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
xstat(2, "/usr/lib/smbsrv/libc.so.1", 0x080472F8) Err#2 ENOENT
xstat(2, "/lib/libc.so.1", 0x080472F8) = 0
resolvepath("/lib/libc.so.1", "/lib/libc.so.1", 1023) = 14
open("/lib/libc.so.1", O_RDONLY) = 3
mmap(0xFEFB0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFEFB0000
mmap(0x00010000, 1380352, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEE10000
mmap(0xFEE10000, 1271415, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 3, 0) = 0xFEE10000
mmap(0xFEF57000, 31538, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 3, 1273856) = 0xFEF57000
mmap(0xFEF5F000, 5760, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFEF5F000
munmap(0xFEF47000, 65536) = 0
memcntl(0xFEE10000, 208308, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
mmap(0x00010000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEF90000
munmap(0xFEFB0000, 32768) = 0
getcontext(0x08047900)
getrlimit(RLIMIT_STACK, 0x080478F8) = 0
getpid() = 5329 [5328]
lwp_private(0, 1, 0xFEF92A00) = 0x000001C3
setustack(0xFEF92A60)
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEFB0000
sysconfig(_CONFIG_PAGESIZE) = 4096
sysi86(SI86FPSTART, 0xFEF5FC98, 0x0000133F, 0x00001F80) = 0x00000001
fxstat(2, -1, 0x08047D88) Err#9 EBADF
sysconfig(_CONFIG_NPROC_ONLN) = 4
issetugid() = 0
issetugid() = 0
brk(0x0807B000) = 0
brk(0x0808B000) = 0
getuid() = 0 [0]
getpid() = 5329 [5328]
open("/proc/5329/psinfo", O_RDONLY) = 3
fstat64(3, 0x08047960) = 0
read(3, "\0\0\00201\0\0\0D114\0\0".., 336) = 336
close(3) = 0
mmap(0x00010000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDF0000
getuid() = 0 [0]
getuid() = 0 [0]
open64("/var/run/name_service_door", O_RDONLY) = 3
fstat64(3, 0x080479C0) = 0
fcntl(3, F_SETFD, 0x00000001) = 0
door_info(3, 0xFEF5879C) = 0
door_call(3, 0x08047BB8) = 0
getuid() = 0 [0]
getuid() = 0 [0]
door_info(3, 0x08047B50) = 0
door_call(3, 0x08047BB8) = 0
xstat(2, "/usr/lib/smbsrv/libsmb.so.1", 0x08047478) = 0
resolvepath("/usr/lib/smbsrv/libsmb.so.1", "/usr/lib/smbsrv/libsmb.so.1", 1023) = 27
open("/usr/lib/smbsrv/libsmb.so.1", O_RDONLY) = 4
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 4, 0) = 0xFEDE0000
mmap(0x00010000, 245760, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDA0000
mmap(0xFEDA0000, 138090, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 4, 0) = 0xFEDA0000
mmap(0xFEDD2000, 38241, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 4, 139264) = 0xFEDD2000
munmap(0xFEDC2000, 65536) = 0
memcntl(0xFEDA0000, 42176, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4) = 0
xstat(2, "/usr/lib/smbsrv/libc.so.1", 0x080473E8) Err#2 ENOENT
xstat(2, "/usr/lib/smbsrv/libnsl.so.1", 0x08047178) Err#2 ENOENT
xstat(2, "/lib/libnsl.so.1", 0x08047178) = 0
resolvepath("/lib/libnsl.so.1", "/lib/libnsl.so.1", 1023) = 16
open("/lib/libnsl.so.1", O_RDONLY) = 4
mmap(0xFEDE0000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0xFEDE0000
mmap(0x00010000, 692224, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFECF0000
mmap(0xFECF0000, 579129, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 4, 0) = 0xFECF0000
mmap(0xFED8E000, 20645, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 4, 581632) = 0xFED8E000
mmap(0xFED94000, 18400, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFED94000
munmap(0xFED7E000, 65536) = 0
memcntl(0xFECF0000, 109104, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4) = 0
munmap(0xFEDE0000, 32768) = 0
sigfillset(0xFEF5F340) = 0
brk(0x0809B000) = 0
xstat(2, "/usr/lib/smbsrv/libscf.so.1", 0x08047438) Err#2 ENOENT
xstat(2, "/lib/libscf.so.1", 0x08047438) = 0
resolvepath("/lib/libscf.so.1", "/lib/libscf.so.1", 1023) = 16
open("/lib/libscf.so.1", O_RDONLY) = 4
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 4, 0) = 0xFEDE0000
mmap(0x00010000, 172032, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFECC0000
mmap(0xFECC0000, 98844, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 4, 0) = 0xFECC0000
mmap(0xFECE9000, 2049, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 4, 102400) = 0xFECE9000
munmap(0xFECD9000, 65536) = 0
memcntl(0xFECC0000, 21292, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4) = 0
mmap(0x00000000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFEF50000
munmap(0xFEDE0000, 32768) = 0
issetugid() = 0
issetugid() = 0
xstat(2, "/lib/libuutil.so.1", 0x080473E8) = 0
resolvepath("/lib/libuutil.so.1", "/lib/libuutil.so.1", 1023) = 18
open("/lib/libuutil.so.1", O_RDONLY) = 4
mmap(0x00010000, 32768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 4, 0) = 0xFEDE0000
mmap(0x00010000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFECA0000
mmap(0xFECA0000, 26268, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 4, 0) = 0xFECA0000
mmap(0xFECB7000, 1187, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 4, 28672) = 0xFECB7000
munmap(0xFECA7000, 65536) = 0
memcntl(0xFECA0000, 7888, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(4) = 0
munmap(0xFEDE0000, 32768) = 0
open("/etc/svc/volatile/repository_door", O_RDONLY) = 4
fstat64(4, 0x08047BE0) = 0
getpid() = 5329 [5328]
door_call(4, 0x08047C18) = 0
close(4) = 0
fcntl(5, F_SETFD, 0x00000001) = 0
door_info(5, 0x08047D70) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CD8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CF8) = 0
getpid() = 5329 [5328]
door_call(5, 0x08047CA8) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CF8) = 0
getpid() = 5329 [5328]
door_call(5, 0x08047C68) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CF8) = 0
getpid() = 5329 [5328]
door_call(5, 0x08047C68) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047CE8) = 0
getpid() = 5329 [5328]
door_call(5, 0x08047C58) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047D18) = 0
brk(0x080AB000) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047D28) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047D28) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047D28) = 0
getpid() = 5329 [5328]
getpid() = 5329 [5328]
door_call(5, 0x08047D48) = 0
close(5) = 0
getuid() = 0 [0]
zone_lookup(0x00000000) = 6
fstat64(2, 0x08046E00) = 0
smbd: write(2, " s m b d : ", 6) = 6
non-global zones are not supportedwrite(2, " n o n - g l o b a l z".., 34) = 34
write(2, "\n", 1) = 1
_exit(95)
Any idea's? I presume the zone_lookup() call is checking if the zone is global or not.
--
This message posted from opensolaris.org
More information about the indiana-discuss
mailing list