Article delegate-en/2644 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A2631@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: Problem with PAM authentication
11 Jun 2004 22:56:31 GMT feedback@delegate.org (Yutaka Sato)
The DeleGate Project


On 06/04/04(02:08) you Jehan-Guillaume de Rorthais <p4edabdyi-dyd2yvfwq6xr.ml@ml.delegate.org> wrote
in <_A2631@delegate-en.ML_>
 |I still don't success to authenticate my users via the pam authentification.
 |
 |Here my tests as you advise me :
 |
 |Selon Yutaka Sato <feedback@delegate..>:
 || 
 || If you see a line like follows in your LOGDIR/stderr.log,
 || 
 ||    ## pam_authenticate [passwd][adminjrr] = 7
 |
 |As writed in my 7978 logfile that I send you last time, stderr is redirect to
 |the stdout.log file.
 |Here the contents of this file with the "delegate" owner :
 |    # cat stdout.log
 |    PAM: cannot start passwd [adminjrr] error=-1

"PAM: cannot start" means a simple failure in PAM library initialization.
It is the result of pam_start() function which is called at the begining
of PAM functions.  I can't figure out the reason, but I think that PAM
is not configured to be available on your host.  Do you have another
application which can use the PAM on the host?  

The following is a test program to check the initialization of PAM.

  /**** pam.c: PAM availability test ****/
  int conv(){
  }
  struct pam_conv {
	int	(*conv)();
	void	*ap;
  } pc = { conv, 0 };
  main()
  {	int stat;
	void *ph;

	ph = 0;
	stat = pam_start("passwd",0,&pc,&ph);
	printf("stat=%d ph=%x\n",stat,ph);
  }
  /****/

If PAM is available on your host, you will get result like this:

  % cc pam.c -lpam
  % a.out
  stat=0 ph=8049770

Also I enclosed the system-call trace of this program which shows
resources necessary to start PAM.  The result of these tests on your
host will show a problem on it.

Cheers,
Yutaka
--
  D G   Yutaka Sato <y.sato@delegate.org> http://delegate.org/y.sato/
 ( - )  National Institute of Advanced Industrial Science and Technology
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller


% strace a.out
execve("./a.out", ["a.out"], [/* 24 vars */]) = 0
uname({sys="Linux", node="yslinux", ...}) = 0
brk(0)                                  = 0x8049764
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=65806, ...}) = 0
old_mmap(NULL, 65806, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
open("/lib/libpam.so.0", O_RDONLY)      = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\25\0"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=35352, ...}) = 0
old_mmap(NULL, 32224, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40029000
mprotect(0x40030000, 3552, PROT_NONE)   = 0
old_mmap(0x40030000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x40030000
close(3)                                = 0
open("/lib/i686/libc.so.6", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\302"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=5634864, ...}) = 0
old_mmap(NULL, 1242920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40031000
mprotect(0x40157000, 38696, PROT_NONE)  = 0
old_mmap(0x40157000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x125000) = 0x40157000
old_mmap(0x4015d000, 14120, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4015d000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240 \0"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=79024, ...}) = 0
old_mmap(NULL, 13760, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40161000
mprotect(0x40164000, 1472, PROT_NONE)   = 0
old_mmap(0x40164000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x40164000
close(3)                                = 0
munmap(0x40018000, 65806)               = 0
getpid()                                = 7957
brk(0)                                  = 0x8049764
brk(0x8049814)                          = 0x8049814
brk(0x804a000)                          = 0x804a000
stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/etc/pam.d/passwd", O_RDONLY)     = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=211, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000
read(3, "#%PAM-1.0\nauth       required\t/l"..., 4096) = 211
open("/lib/security/pam_stack.so", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\n\0"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=10874, ...}) = 0
old_mmap(NULL, 11776, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40019000
mprotect(0x4001b000, 3584, PROT_NONE)   = 0
old_mmap(0x4001b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x1000) = 0x4001b000
close(4)                                = 0
brk(0x804b000)                          = 0x804b000
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
open("/etc/pam.d/other", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=210, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000
read(3, "#%PAM-1.0\nauth     required     "..., 4096) = 210
open("/lib/security/pam_deny.so", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\6\0"..., 1024) = 1024
fstat64(4, {st_mode=S_IFREG|0755, st_size=5046, ...}) = 0
old_mmap(NULL, 6552, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4001c000
mprotect(0x4001d000, 2456, PROT_NONE)   = 0
old_mmap(0x4001d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x4001d000
close(4)                                = 0
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
fstat64(1, {st_mode=S_IFREG|0666, st_size=4009, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000
write(1, "stat=0 ph=8049770\n", 18stat=0 ph=8049770
)     = 18
munmap(0x40018000, 4096)                = 0
_exit(18)                               = ?

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V