Re: SSH on armv5tel: "You don't exist, go away!"



On Apr 18, 5:38 pm, Steven Mocking
<u...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
maurizio.crozz...@xxxxxxxxx schreef:

If you run ./getpwuidtest, you should see what goes wrong with getpwuid.
If nothing goes wrong, the linking is probably incorrect.

Thanks for this test code: what we get is "ENOENT" on the PXA system.
On the contrary if we run it on a Debian-based x86 platform we get
"All is well". There's a difference...

That means the profile was not found. It's probably looking in the wrong
place for some reason. What if you strace it like this?

strace ./testgetpwuid 2>&1 | less

Censor the output thoroughly (strip ips, nis domains, hostnames,
password hashes!, uids, etc) if you want to paste it here.

For NIS setups you should see a sendto() call being made to your NIS
server, for systems with local password files you should see a
open("/etc/passwd", O_RDONLY);

It may also be both - that depends on the specific settings which you've
not yet shared with us.

That's the output of strace (I'm daring to copy it here thoroughly as
it's only 61 lines long...):


=== BEGIN ===
execve("./xtestpwd2", ["./xtestpwd2"], [/* 9 vars */]) = 0
brk(0) = 0x10a40
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/v5l/fast-mult/half/libc.so.6", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/lib/v5l/fast-mult/half", 0xbffff358) = -1 ENOENT (No such
file or directory)
open("/lib/v5l/fast-mult/libc.so.6", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/lib/v5l/fast-mult", 0xbffff358) = -1 ENOENT (No such file or
directory)
open("/lib/v5l/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/v5l/half", 0xbffff358) = -1 ENOENT (No such file or
directory)
open("/lib/v5l/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/v5l", 0xbffff358) = -1 ENOENT (No such file or
directory)
open("/lib/fast-mult/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/lib/fast-mult/half", 0xbffff358) = -1 ENOENT (No such file or
directory)
open("/lib/fast-mult/libc.so.6", O_RDONLY) = -1 ENOENT (No such file
or directory)
stat64("/lib/fast-mult", 0xbffff358) = -1 ENOENT (No such file or
directory)
open("/lib/half/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or
directory)
stat64("/lib/half", 0xbffff358) = -1 ENOENT (No such file or
directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1a\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\210\244\1"...,
1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1170472, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40016000
old_mmap(NULL, 1172984, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x4001f000
mprotect(0x4012d000, 67064, PROT_NONE) = 0
old_mmap(0x4012f000, 45056, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED, 3, 0x108000) = 0x4012f000
old_mmap(0x4013a000, 13816, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4013a000
close(3) = 0
mprotect(0x4001f000, 1105920, PROT_READ|PROT_WRITE) = 0
mprotect(0x4001f000, 1105920, PROT_READ|PROT_EXEC) = 0
brk(0) = 0x10a40
brk(0x10e58) = 0x10e58
brk(0x11000) = 0x11000
socket(PF_FILE, SOCK_STREAM, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/.nscd_socket"}, 112) =
-1 ENOENT (No such file or directory)
close(3) = 0
open("/etc/nsswitch.conf", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libnss_compat.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/v5l/fast-mult/half/libnss_compat.so.2", O_RDONLY) = -1
ENOENT (No such file or directory)
stat64("/usr/lib/v5l/fast-mult/half", 0xbffff64c) = -1 ENOENT (No such
file or directory)
open("/usr/lib/v5l/fast-mult/libnss_compat.so.2", O_RDONLY) = -1
ENOENT (No such file or directory)
stat64("/usr/lib/v5l/fast-mult", 0xbffff64c) = -1 ENOENT (No such file
or directory)
open("/usr/lib/v5l/half/libnss_compat.so.2", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/usr/lib/v5l/half", 0xbffff64c) = -1 ENOENT (No such file or
directory)
open("/usr/lib/v5l/libnss_compat.so.2", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/usr/lib/v5l", 0xbffff64c) = -1 ENOENT (No such file or
directory)
open("/usr/lib/fast-mult/half/libnss_compat.so.2", O_RDONLY) = -1
ENOENT (No such file or directory)
stat64("/usr/lib/fast-mult/half", 0xbffff64c) = -1 ENOENT (No such
file or directory)
open("/usr/lib/fast-mult/libnss_compat.so.2", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat64("/usr/lib/fast-mult", 0xbffff64c) = -1 ENOENT (No such file or
directory)
open("/usr/lib/half/libnss_compat.so.2", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/usr/lib/half", 0xbffff64c) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libnss_compat.so.2", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/usr/lib", 0xbffff64c) = -1 ENOENT (No such file or
directory)
open("/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or
directory)
fstat64(1, {st_mode=S_IFREG|0644, st_size=4215, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40017000
write(1, "Errno: 2\nDesc: ENOENT", 21Errno: 2
Desc: ENOENT) = 21
munmap(0x40017000, 4096) = 0
exit(1) = ?
Process 152 detached
=== END ===

I'd like to find something about /etc/passwd (that's what I'm relying
on for identifying users) but nothing can be found.

Sorry for bothering you but I can just understand that something is
going wrong but I can't absolutely figure out why and what to do.
Again, any further help would be greatly appreciated.
TIA!
Bye,
Maurizio.

PS We're working with a "minimal" Linux version running on such PXA
processor. We haven't tailored ourselves the linux and I think it's
reasonable that its minimality is part of the problem. Or the whole of
it. Or maybe it's just a matter of a bugged library routine.

.



Relevant Pages