lkml.org 
[lkml]   [1998]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: showstopper race condition in sync() ??? [2.1.119|120]
    On 16 Sep 1998, Michael Shields wrote:

    > > "strace passwd" shows that passwd copies /etc/passwd into /etc/passwd-,
    > > builds a new file /etc/passwd+, rm's /etc/passwd, then renames
    > > /etc/passwd+ to /etc/passwd
    > Why does it unlink /etc/passwd instead of doing an atomic rename(2) to
    > replace it?

    Sorry, it does uses rename (see the attached strace). But the problem is
    not here : it is just after the rename() call, during the sync() call.
    The attached trace is from a correctly working machine : the sync() call
    returned and the program went on. On the faulting machine, the last line
    of the strace file is :
    """
    sync(
    """
    Now, I got the exactly same problem with quotacheck(8) : failure to
    return from sync(), sometimes, not always, not on every machine. Obviously
    passwd(1) is not in fault (the only userland component I'd suspect would
    be the (g)libc, but that would really be the last component).

    (oh, on a side note : the affected machine is UP, but the problem
    seems to happen with both a UP and a SMP kernel).

    TIA
    -- Cyrille

    ------------------------------
    Zog Zog

    execve("/usr/bin/passwd", ["passwd", "nobody"], [/* 17 vars */]) = 0
    brk(0) = 0x8049bdc
    open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/etc/ld.so.cache", O_RDONLY) = 4
    fstat(4, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 14374, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4000b000
    close(4) = 0
    open("/lib/libpwdb.so.0", O_RDONLY) = 4
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4000f000
    munmap(0x4000f000, 4096) = 0
    mmap(0, 264972, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4000f000
    mprotect(0x40023000, 183052, PROT_NONE) = 0
    mmap(0x40023000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x13000) = 0x40023000
    mmap(0x4002c000, 146188, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4002c000
    close(4) = 0
    open("/lib/libpam.so.0", O_RDONLY) = 4
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40050000
    munmap(0x40050000, 4096) = 0
    mmap(0, 27288, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40050000
    mprotect(0x40056000, 2712, PROT_NONE) = 0
    mmap(0x40056000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x5000) = 0x40056000
    close(4) = 0
    open("/lib/libpam_misc.so.0", O_RDONLY) = 4
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x40057000
    munmap(0x40057000, 4096) = 0
    mmap(0, 8864, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40057000
    mprotect(0x40059000, 672, PROT_NONE) = 0
    mmap(0x40059000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x1000) = 0x40059000
    close(4) = 0
    open("/lib/libdl.so.2", O_RDONLY) = 4
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4005a000
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4005b000
    munmap(0x4005a000, 4096) = 0
    mmap(0, 9256, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4005c000
    mprotect(0x4005e000, 1064, PROT_NONE) = 0
    mmap(0x4005e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x1000) = 0x4005e000
    close(4) = 0
    open("/lib/libc.so.6", O_RDONLY) = 4
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4005a000
    munmap(0x4005a000, 4096) = 0
    mmap(0, 670580, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4005f000
    mprotect(0x400f0000, 76660, PROT_NONE) = 0
    mmap(0x400f0000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x90000) = 0x400f0000
    mmap(0x400f7000, 47988, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400f7000
    close(4) = 0
    open("/lib/libcrypt.so.1", O_RDONLY) = 4
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4005a000
    munmap(0x4005a000, 4096) = 0
    mmap(0, 181668, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40103000
    mprotect(0x40108000, 161188, PROT_NONE) = 0
    mmap(0x40108000, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x4000) = 0x40108000
    mmap(0x40129000, 26020, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40129000
    close(4) = 0
    open("/lib/libnsl.so.1", O_RDONLY) = 4
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4005a000
    munmap(0x4005a000, 4096) = 0
    mmap(0, 21980, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40130000
    mprotect(0x40134000, 5596, PROT_NONE) = 0
    mmap(0x40134000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x3000) = 0x40134000
    close(4) = 0
    mprotect(0x4000f000, 81920, PROT_READ|PROT_WRITE) = 0
    mprotect(0x4000f000, 81920, PROT_READ|PROT_EXEC) = 0
    personality(0 /* PER_??? */) = 0
    getpid() = 2367
    getuid() = 0
    brk(0) = 0x8049bdc
    brk(0x8049c6c) = 0x8049c6c
    brk(0x804a000) = 0x804a000
    stat("/etc/pam.d", {st_mode=S_ISGID, st_size=0, ...}) = 0
    open(0x8049d10, O_RDONLY) = 4
    fstat(4, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4005a000
    read(4, "#%PAM-1.0\nauth required\t"..., 4096) = 239
    open("/lib/security/pam_pwdb.so", O_RDONLY) = 5
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 5, 0) = 0x40136000
    munmap(0x40136000, 4096) = 0
    mmap(0, 26260, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40136000
    mprotect(0x4013c000, 1684, PROT_NONE) = 0
    mmap(0x4013c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x5000) = 0x4013c000
    close(5) = 0
    brk(0x804b000) = 0x804b000
    open("/lib/security/pam_cracklib.so", O_RDONLY) = 5
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4013d000
    munmap(0x4013d000, 4096) = 0
    mmap(0, 20048, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x4013d000
    mprotect(0x4013f000, 11856, PROT_NONE) = 0
    mmap(0x4013f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x1000) = 0x4013f000
    mmap(0x40140000, 7760, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40140000
    close(5) = 0
    open("/usr/lib/libcrack.so.2", O_RDONLY) = 5
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 5, 0) = 0x40142000
    munmap(0x40142000, 4096) = 0
    mmap(0, 43020, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x40142000
    mprotect(0x40148000, 18444, PROT_NONE) = 0
    mmap(0x40148000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x5000) = 0x40148000
    mmap(0x4014a000, 10252, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014a000
    close(5) = 0
    read(4, "", 4096) = 0
    close(4) = 0
    munmap(0x4005a000, 4096) = 0
    open("/etc/pam.d/other", O_RDONLY) = 4
    fstat(4, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4005a000
    read(4, "#%PAM-1.0\nauth required "..., 4096) = 210
    open("/lib/security/pam_deny.so", O_RDONLY) = 5
    mmap(0, 4096, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4014d000
    munmap(0x4014d000, 4096) = 0
    mmap(0, 5540, PROT_READ|PROT_EXEC, MAP_PRIVATE, 5, 0) = 0x4014d000
    mprotect(0x4014e000, 1444, PROT_NONE) = 0
    mmap(0x4014e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x4014e000
    close(5) = 0
    read(4, "", 4096) = 0
    close(4) = 0
    munmap(0x4005a000, 4096) = 0
    time(NULL) = 905927102
    stat("/usr/lib/cracklib_dict.pwd", {st_mode=0, st_size=0, ...}) = 0
    open("/etc/pwdb.conf", O_RDONLY) = 4
    fstat(4, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4005a000
    read(4, "#\n# This is the configuration f"..., 4096) = 134
    read(4, "", 4096) = 0
    close(4) = 0
    munmap(0x4005a000, 4096) = 0
    getrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    setrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    getuid() = 0
    open("/etc/passwd", O_RDONLY) = 4
    fstat(4, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4005a000
    read(4, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 4096) = 597
    close(4) = 0
    munmap(0x4005a000, 4096) = 0
    time(NULL) = 905927102
    time(NULL) = 905927102
    time(NULL) = 905927102
    time(NULL) = 905927102
    time(NULL) = 905927102
    time(NULL) = 905927102
    time(NULL) = 905927102
    open("/etc/shadow", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/etc/shadow", O_RDONLY) = -1 ENOENT (No such file or directory)
    time(NULL) = 905927102
    getrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    setrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
    ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
    time([905927102]) = 905927102
    write(2, "New UNIX password: ", 19) = 19
    ioctl(0, SNDCTL_TMR_CONTINUE, {B9600 opost isig icanon -echo ...}) = 0
    read(0, "zork\n", 511) = 5
    ioctl(0, SNDCTL_TMR_STOP, {B9600 opost isig icanon echo ...}) = 0
    write(2, "\n", 1) = 1
    open("/usr/lib/cracklib_dict.pwd", O_RDONLY) = 4
    open("/usr/lib/cracklib_dict.pwi", O_RDONLY) = 5
    open("/usr/lib/cracklib_dict.hwm", O_RDONLY) = 6
    fstat(5, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4005a000
    read(5, "1Vwp=\261\0\0\20\0\0\0\0\0\0\0G\0"..., 4096) = 4096
    fstat(6, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4014f000
    read(6, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 1024
    write(2, "BAD PASSWORD: it is too short\n", 30) = 30
    getuid() = 0
    ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
    ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
    time([905927108]) = 905927108
    write(2, "Retype new UNIX password: ", 26) = 26
    ioctl(0, SNDCTL_TMR_CONTINUE, {B9600 opost isig icanon -echo ...}) = 0
    read(0, "zork\n", 511) = 5
    ioctl(0, SNDCTL_TMR_STOP, {B9600 opost isig icanon echo ...}) = 0
    write(2, "\n", 1) = 1
    brk(0x804c000) = 0x804c000
    open("/etc/pwdb.conf", O_RDONLY) = 7
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
    read(7, "#\n# This is the configuration f"..., 4096) = 134
    read(7, "", 4096) = 0
    close(7) = 0
    munmap(0x40150000, 4096) = 0
    getrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    setrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    getuid() = 0
    time([905927110]) = 905927110
    open("/etc/passwd", O_RDONLY) = 7
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
    read(7, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 4096) = 597
    close(7) = 0
    munmap(0x40150000, 4096) = 0
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    open("/etc/shadow", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/etc/shadow", O_RDONLY) = -1 ENOENT (No such file or directory)
    geteuid() = 0
    geteuid() = 0
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    open("/etc/passwd", O_RDONLY) = 7
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
    read(7, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 4096) = 597
    read(7, "", 4096) = 0
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    close(7) = 0
    munmap(0x40150000, 4096) = 0
    getpid() = 2367
    open("/etc/pwd.%d.2367", O_WRONLY|O_CREAT|O_EXCL, 0600) = 7
    getpid() = 2367
    write(7, "2367\0", 5) = 5
    close(7) = 0
    link("/etc/pwd.%d.2367", "/etc/passwd.lock") = 0
    stat("/etc/pwd.%d.2367", {st_mode=S_ISGID|S_ISVTX, st_size=0, ...}) = 0
    unlink("/etc/pwd.%d.2367") = 0
    open("/etc/passwd", O_RDWR) = 7
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
    read(7, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 4096) = 597
    read(7, "", 4096) = 0
    getpid() = 2367
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    unlink("/etc/passwd-") = -1 ENOENT (No such file or directory)
    umask(0777) = 022
    open("/etc/passwd-", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8
    umask(022) = 0777
    lseek(7, 0, SEEK_SET) = 0
    read(7, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 4096) = 597
    fstat(8, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40151000
    read(7, "", 4096) = 0
    write(8, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 597) = 597
    close(8) = 0
    munmap(0x40151000, 4096) = 0
    chown("/etc/passwd-", 0, 0) = 0
    chmod("/etc/passwd-", 0100644) = 0
    utime("/etc/passwd-", [98/09/16-08:25:10, 98/09/14-11:06:02]) = 0
    close(7) = 0
    munmap(0x40150000, 4096) = 0
    umask(0777) = 022
    open("/etc/passwd+", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
    umask(022) = 0777
    chown("/etc/passwd+", 0, 0) = 0
    chmod("/etc/passwd+", 0100644) = 0
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
    write(7, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 609) = 609
    close(7) = 0
    munmap(0x40150000, 4096) = 0
    rename("/etc/passwd+", "/etc/passwd") = 0
    sync() = 0
    getpid() = 2367
    unlink("/etc/passwd.lock") = 0
    time(NULL) = 905927110
    open("/etc/shadow", O_RDONLY) = -1 ENOENT (No such file or directory)
    getuid() = 0
    ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
    ioctl(0, TCGETS, {B9600 opost isig icanon echo ...}) = 0
    fstat(0, {st_mode=S_ISVTX|0400, st_size=0, ...}) = 0
    open("/dev", O_RDONLY|O_NONBLOCK) = 7
    fcntl(7, F_SETFD, FD_CLOEXEC) = 0
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    brk(0x804e000) = 0x804e000
    lseek(7, 0, SEEK_CUR) = 0
    getdents(7, /* 68 entries */, 3933) = 1100
    lseek(7, 0, SEEK_CUR) = 1024
    getdents(7, /* 71 entries */, 3933) = 1208
    lseek(7, 0, SEEK_CUR) = 2048
    getdents(7, /* 75 entries */, 3933) = 1200
    lseek(7, 0, SEEK_CUR) = 3072
    getdents(7, /* 68 entries */, 3933) = 1224
    lseek(7, 0, SEEK_CUR) = 4096
    getdents(7, /* 57 entries */, 3933) = 1216
    lseek(7, 0, SEEK_CUR) = 5120
    getdents(7, /* 56 entries */, 3933) = 1180
    lseek(7, 0, SEEK_CUR) = 6144
    getdents(7, /* 75 entries */, 3933) = 1208
    lseek(7, 0, SEEK_CUR) = 7168
    getdents(7, /* 64 entries */, 3933) = 1024
    lseek(7, 0, SEEK_CUR) = 8192
    getdents(7, /* 64 entries */, 3933) = 1024
    lseek(7, 0, SEEK_CUR) = 9216
    getdents(7, /* 64 entries */, 3933) = 1024
    lseek(7, 0, SEEK_CUR) = 10240
    getdents(7, /* 68 entries */, 3933) = 1100
    lseek(7, 0, SEEK_CUR) = 11264
    getdents(7, /* 76 entries */, 3933) = 1228
    lseek(7, 0, SEEK_CUR) = 12288
    getdents(7, /* 77 entries */, 3933) = 1300
    lseek(7, 0, SEEK_CUR) = 13312
    getdents(7, /* 64 entries */, 3933) = 1204
    lseek(7, 0, SEEK_CUR) = 14336
    getdents(7, /* 64 entries */, 3933) = 1024
    lseek(7, 0, SEEK_CUR) = 15360
    getdents(7, /* 64 entries */, 3933) = 1024
    stat("/dev/ttyp0", {st_mode=S_ISVTX|0400, st_size=0, ...}) = 0
    close(7) = 0
    open("/var/run/utmp", O_RDWR) = 7
    lseek(7, 0, SEEK_SET) = 0
    fcntl(7, F_SETLKW, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}) = 0
    read(7, "\10\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0"..., 384) = 384
    read(7, "\1\0\0\0003N\0\0~\0\0\0\0\0\0\0\0"..., 384) = 384
    read(7, "\10\0\0\0006\0\0\0\0\0\0\0\0\0\0"..., 384) = 384
    read(7, "\10\0\0\0\225\1\0\0\0\0\0\0\0\0\0"..., 384) = 384
    read(7, "\7\0\0\0\226\1\0\0tty1\0\0\0\0\0"..., 384) = 384
    read(7, "\6\0\0\0\304\1\0\0tty2\0\0\0\0\0"..., 384) = 384
    read(7, "\6\0\0\0\230\1\0\0tty3\0\0\0\0\0"..., 384) = 384
    read(7, "\6\0\0\0\231\1\0\0tty4\0\0\0\0\0"..., 384) = 384
    read(7, "\6\0\0\0\232\1\0\0tty5\0\0\0\0\0"..., 384) = 384
    read(7, "\6\0\0\0\233\1\0\0tty6\0\0\0\0\0"..., 384) = 384
    read(7, "\7\0\0\0\323\1\0\0ttyp0\0\0\0\0\0"..., 384) = 384
    fcntl(7, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0
    open("/etc/passwd", O_RDONLY) = 8
    fstat(8, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
    read(8, "root:2l0f2j2czyWpk:0:0:root:/roo"..., 4096) = 609
    close(8) = 0
    munmap(0x40150000, 4096) = 0
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    open("/etc/shadow", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/etc/shadow", O_RDONLY) = -1 ENOENT (No such file or directory)
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    time(NULL) = 905927110
    close(7) = 0
    time([905927110]) = 905927110
    open("/etc/localtime", O_RDONLY) = 7
    fstat(7, {st_mode=0, st_size=0, ...}) = 0
    mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
    read(7, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 1088
    close(7) = 0
    munmap(0x40150000, 4096) = 0
    getpid() = 2367
    sigaction(SIGPIPE, {0x400cec90, [], SA_RESTART|SA_INTERRUPT|SA_NOMASK|0x797474}, {SIG_DFL}) = 0
    socket(PF_UNIX, SOCK_DGRAM, 0) = 7
    fcntl(7, F_SETFD, FD_CLOEXEC) = 0
    connect(7, {sun_family=AF_UNIX, sun_path="/dev/log"}, 16) = -1 EPROTOTYPE (Protocol wrong type for socket)
    close(7) = 0
    socket(PF_UNIX, SOCK_STREAM, 0) = 7
    fcntl(7, F_SETFD, FD_CLOEXEC) = 0
    connect(7, {sun_family=AF_UNIX, sun_path="/dev/log"}, 16) = 0
    send(7, "<38>Sep 16 08:25:10 PAM_pwdb[236"..., 85, 0) = 85
    sigaction(SIGPIPE, {SIG_DFL}, NULL) = 0
    close(7) = 0
    getrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    setrlimit(RLIMIT_CORE, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0
    munmap(0x40136000, 26260) = 0
    munmap(0x4013d000, 20048) = 0
    munmap(0x40142000, 43020) = 0
    munmap(0x4014d000, 5540) = 0
    write(2, "passwd: all authentication token"..., 55) = 55
    munmap(0x4014f000, 4096) = 0
    lseek(5, -4084, SEEK_CUR) = 12
    munmap(0x4005a000, 4096) = 0
    _exit(0) = ?
    \
     
     \ /
      Last update: 2005-03-22 13:44    [W:0.051 / U:152.728 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site