Nonexistent user, SOLVED

Yan Seiner yan at seiner.com
Sat Oct 29 23:17:39 WST 2005


Matt Johnston wrote:

>On Tue, Oct 25, 2005 at 08:25:09PM -0700, Yan Seiner wrote:
>  
>
>>Matt Johnston wrote:
>>
>>    
>>
>>>To simplify things, try compiling and running (and
>>>straceing) the attached program with
>>>gcc -o getpwnamroot getpwnamroot.c
>>>
>>>      
>>>

OK, here's the solution....

Keep in mind that I am building a file system by hand, basically adding 
libs and other things as I go, so that I only have a small handful of 
libs in /lib.  The idea is to have the entire system functioning in 
under about 4 MB of data storage.

I use ldd to show the libs that a particular app needs to run; 
apparently ldd is not 100% accurate.

Anyway, I ran getpwnamroot on my target system; it failed.  
Unfortunately strace doesn't work on that system.....

But I compiled it on my x86 box, and ran strace on it.  It showed the 
following libs as required:

open("/lib/tls/libc.so.6", O_RDONLY)    = 3
open("/lib/tls/libnss_compat.so.2", O_RDONLY) = 3
open("/lib/tls/libnsl.so.1", O_RDONLY)  = 3
open("/lib/tls/libnss_nis.so.2", O_RDONLY) = 3
open("/lib/tls/libnss_files.so.2", O_RDONLY) = 3

So I copied those libs to my /lib dir, and lo and behold, I can now log 
in via dropbear....

YAAAY!

Thanks for all your help.

--Yan



More information about the Dropbear mailing list