Skip to content

Instantly share code, notes, and snippets.

@jirwin

jirwin/main.go Secret

Created July 19, 2016 19:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jirwin/608abc7f2bd64a78fe8fcfae83199bcc to your computer and use it in GitHub Desktop.
Save jirwin/608abc7f2bd64a78fe8fcfae83199bcc to your computer and use it in GitHub Desktop.
package main
/*
#cgo solaris CFLAGS: -D_POSIX_PTHREAD_SEMANTICS
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
#include <stdlib.h>
static int mygetpwuid_r(int uid, struct passwd *pwd,
char *buf, size_t buflen, struct passwd **result) {
return getpwuid_r(uid, pwd, buf, buflen, result);
}
static int mygetpwnam_r(const char *name, struct passwd *pwd,
char *buf, size_t buflen, struct passwd **result) {
return getpwnam_r(name, pwd, buf, buflen, result);
}
*/
import "C"
import (
"fmt"
"syscall"
)
func main() {
var pwd C.struct_passwd
var result *C.struct_passwd
bufSize := C.sysconf(C._SC_GETPW_R_SIZE_MAX)
if bufSize == -1 {
// DragonFly and FreeBSD do not have _SC_GETPW_R_SIZE_MAX.
// Additionally, not all Linux systems have it, either. For
// example, the musl libc returns -1.
bufSize = 1024
}
if bufSize <= 0 || bufSize > 1<<20 {
fmt.Printf("user: unreasonable _SC_GETPW_R_SIZE_MAX of %d", bufSize)
return
}
buf := C.malloc(C.size_t(bufSize))
defer C.free(buf)
var rv C.int
uid := 60001
// mygetpwuid_r is a wrapper around getpwuid_r to
// to avoid using uid_t because C.uid_t(uid) for
// unknown reasons doesn't work on linux.
rv = C.mygetpwuid_r(C.int(uid),
&pwd,
(*C.char)(buf),
C.size_t(bufSize),
&result)
if rv != 0 {
fmt.Printf("user: lookup userid %d: %d %s", uid, rv, syscall.Errno(rv))
return
}
if result == nil {
fmt.Printf("User not found")
return
}
fmt.Printf("User found: %s (%s)\n", C.GoString(pwd.pw_gecos), C.GoString(pwd.pw_name))
}
execve("./main", ["./main"], [/* 25 vars */]) = 0
brk(0) = 0x21f4000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfef3000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=25683, ...}) = 0
mmap(NULL, 25683, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f39dfeec000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 a\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=101168, ...}) = 0
mmap(NULL, 2212496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f39dfab5000
mprotect(0x7f39dfacd000, 2093056, PROT_NONE) = 0
mmap(0x7f39dfccc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f39dfccc000
mmap(0x7f39dfcce000, 12944, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f39dfcce000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\v\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1754856, ...}) = 0
mmap(NULL, 3863680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f39df705000
mprotect(0x7f39df8ab000, 2093056, PROT_NONE) = 0
mmap(0x7f39dfaaa000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a5000) = 0x7f39dfaaa000
mmap(0x7f39dfab0000, 17536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f39dfab0000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfeeb000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfee9000
arch_prctl(ARCH_SET_FS, 0x7f39dfee9740) = 0
mprotect(0x7f39dfaaa000, 16384, PROT_READ) = 0
mprotect(0x7f39dfccc000, 4096, PROT_READ) = 0
mprotect(0x784000, 4096, PROT_READ) = 0
mprotect(0x7f39dfef4000, 4096, PROT_READ) = 0
munmap(0x7f39dfeec000, 25683) = 0
set_tid_address(0x7f39dfee9a10) = 877
set_robust_list(0x7f39dfee9a20, 24) = 0
rt_sigaction(SIGRTMIN, {0x7f39dfabab90, [], SA_RESTORER|SA_SIGINFO, 0x7f39dfac60f0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f39dfabac30, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f39dfac60f0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0x21f4000
brk(0x2215000) = 0x2215000
sched_getaffinity(0, 8192, {1, 0}) = 16
mmap(0xc000000000, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc000000000
munmap(0xc000000000, 65536) = 0
mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfea9000
mmap(0xc820000000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc820000000
mmap(0xc81fff8000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc81fff8000
mmap(0xc000000000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xc000000000
mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfe99000
clock_gettime(CLOCK_MONOTONIC, {44, 936478135}) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [], 8) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 936614971}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 936651825}) = 0
sigaltstack(NULL, {ss_sp=0, ss_flags=SS_DISABLE, ss_size=0}) = 0
sigaltstack({ss_sp=0xc820002000, ss_flags=0, ss_size=32672}, NULL) = 0
gettid() = 877
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGHUP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGHUP, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGILL, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGILL, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGTRAP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTRAP, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGABRT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGABRT, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGBUS, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGBUS, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGFPE, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGFPE, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGUSR1, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGUSR1, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGSEGV, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSEGV, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGUSR2, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGUSR2, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPIPE, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGALRM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGALRM, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSTKFLT, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGURG, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGURG, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGXCPU, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGXCPU, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGXFSZ, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGXFSZ, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGVTALRM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGVTALRM, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGPROF, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPROF, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGWINCH, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGWINCH, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGIO, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGIO, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGPWR, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPWR, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGSYS, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSYS, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRTMIN, NULL, {0x7f39dfabab90, [], SA_RESTORER|SA_SIGINFO, 0x7f39dfac60f0}, 8) = 0
rt_sigaction(SIGRTMIN, NULL, {0x7f39dfabab90, [], SA_RESTORER|SA_SIGINFO, 0x7f39dfac60f0}, 8) = 0
rt_sigaction(SIGRTMIN, {0x7f39dfabab90, [], SA_RESTORER|SA_STACK|SA_SIGINFO, 0x7f39dfac60f0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, NULL, {0x7f39dfabac30, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f39dfac60f0}, 8) = 0
rt_sigaction(SIGRT_1, NULL, {0x7f39dfabac30, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f39dfac60f0}, 8) = 0
rt_sigaction(SIGRT_1, {0x7f39dfabac30, [], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x7f39dfac60f0}, NULL, 8) = 0
rt_sigaction(SIGRT_2, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_2, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_3, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_3, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_4, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_4, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_5, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_5, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_6, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_6, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_7, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_7, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_8, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_8, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_9, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_9, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_10, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_10, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_11, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_11, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_12, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_12, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_13, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_13, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_14, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_14, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_15, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_15, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_16, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_16, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_17, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_17, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_18, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_18, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_19, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_19, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_20, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_20, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_21, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_21, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_22, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_22, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_23, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_23, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_24, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_24, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_25, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_25, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_26, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_26, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_27, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_27, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_28, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_28, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_29, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_29, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_30, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_30, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_31, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_31, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
rt_sigaction(SIGRT_32, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_32, {0x4589a0, ~[], SA_RESTORER|SA_STACK|SA_RESTART|SA_SIGINFO, 0x4589c0}, NULL, 8) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941129144}) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f39def04000
mprotect(0x7f39def04000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f39df703fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f39df7049d0, tls=0x7f39df704700, child_tidptr=0x7f39df7049d0) = 878
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfe59000
clock_gettime(CLOCK_MONOTONIC, {44, 941404573}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941436365}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941466660}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941501601}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941532775}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941563027}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941595626}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941626462}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941656925}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941687055}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941717257}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941747334}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941777558}) = 0
clock_gettime(CLOCK_MONOTONIC, {44, 941807658}) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], [], 8) = 0
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f39de703000
mprotect(0x7f39de703000, 4096, PROT_NONE) = 0
clone(child_stack=0x7f39def02fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7f39def039d0, tls=0x7f39def03700, child_tidptr=0x7f39def039d0) = 879
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x78a108, FUTEX_WAIT, 0, NULL) = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=384, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfef2000
read(3, "# /etc/nsswitch.conf:\n\npasswd: "..., 4096) = 384
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7f39dfef2000, 4096) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=25683, ...}) = 0
mmap(NULL, 25683, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f39dfeec000
close(3) = 0
open("/lib64/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\"\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=47056, ...}) = 0
mmap(NULL, 2144040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f39de4f7000
mprotect(0x7f39de502000, 2093056, PROT_NONE) = 0
mmap(0x7f39de701000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f39de701000
close(3) = 0
mprotect(0x7f39de701000, 4096, PROT_READ) = 0
munmap(0x7f39dfeec000, 25683) = 0
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=177, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfef2000
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 177
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7f39dfef2000, 4096) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=25683, ...}) = 0
mmap(NULL, 25683, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f39dfeec000
close(3) = 0
open("/lib64/libnss_usrfiles.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\35\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=46832, ...}) = 0
mmap(NULL, 2143408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f39de2eb000
mprotect(0x7f39de2f6000, 2093056, PROT_NONE) = 0
mmap(0x7f39de4f5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f39de4f5000
close(3) = 0
mprotect(0x7f39de4f5000, 4096, PROT_READ) = 0
munmap(0x7f39dfeec000, 25683) = 0
open("/usr/share/baselayout/passwd", O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
fstat(3, {st_mode=S_IFREG|0644, st_size=1696, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f39dfef2000
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 1696
read(3, "", 4096) = 0
close(3) = 0
munmap(0x7f39dfef2000, 4096) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=25683, ...}) = 0
mmap(NULL, 25683, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f39dfeec000
close(3) = 0
open("/lib64/libnss_sss.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \30\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=39152, ...}) = 0
mmap(NULL, 2134800, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f39de0e1000
mprotect(0x7f39de0ea000, 2093056, PROT_NONE) = 0
mmap(0x7f39de2e9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7f39de2e9000
close(3) = 0
mprotect(0x7f39de2e9000, 4096, PROT_READ) = 0
munmap(0x7f39dfeec000, 25683) = 0
futex(0x7f39de2ea048, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/var/lib/sss/mc/passwd", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
futex(0x7f39de2ea0c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/var/lib/sss/mc/passwd", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
fstat(-1, 0x7ffc8a979ae0) = -1 EBADF (Bad file descriptor)
socket(PF_LOCAL, SOCK_STREAM, 0) = 3
fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl(3, F_GETFD) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
connect(3, {sa_family=AF_LOCAL, sun_path="/var/lib/sss/pipes/nss"}, 110) = -1 ENOENT (No such file or directory)
close(3) = 0
write(1, "user: lookup userid 60001: 2 no "..., 54user: lookup userid 60001: 2 no such file or directory) = 54
exit_group(0) = ?
+++ exited with 0 +++
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment