[Linux] PAM_NCP_AUTH / UserAdd

Pagina: 1
Acties:

  • DGTL_Magician
  • Registratie: Februari 2001
  • Laatst online: 30-01 15:53

DGTL_Magician

Kijkt regelmatig vooruit

Topicstarter
Daar was ik weer eens met een projectje.
Ik ben al een tijdje bezig om ook bij ons op het werk te kijken naar het overstappen op Linux werkstations. Wij hebben een Netware netwerk met eDirectory.
Ik werk zelf al jaren met een Linux werkstation. Ik ga dan alsvolgt te werk:
1) Maak een lokale gebruiker aan
2) Mount netware volumes doormiddel van NCPFS en de frontend NovelClient.

Wat ik nu wil:
1) Geen gebruikers meer aanmaken. Dynamische gebruikers dus.
2) Netware homedirectory's als homedir mounten.

Dus so far so good: ik ga op zoek en vind een Franse Universiteit die hetzelfde heeft gedaan. Deze universiteit heeft sinds 2000 veel gecontribueerd aan het NCPFS pakket, en tot mijn verbasing is daar dus ook keurig een PAM module te vinden.
Deze module leest een gebruikersnaam uit de Novell eDirectory Service (NDS) en authenticeert de gebruiker. Vervolgens wordt er lokaal een gebruiker aangemaakt met Useradd en je kan ook scripts uit laten voeren bij het inloggen.

Dus module in /etc/pam.d/login ingevuld
code:
1
2
3
4
5
6
7
8
9
10
#%PAM-1.0
auth       required     pam_securetty.so
auth       sufficient   pam_stack.so service=system-auth
auth       required     pam_nologin.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
session    required     pam_selinux.so multiple
session    optional     pam_console.so
auth        required      /lib/security/pam_ncp_auth.so  -Za -m -a -u,,r,gcd server=<IP ADRES SERVER>


Als ik nu lokaal inlog als root werkt dit nog prima. Als ik probeer in te loggen als een netware user krijg ik:
/var/log/secure
code:
1
2
3
Mar 10 13:49:37 pcgertjan pam_ncp_auth[12802]: /usr/sbin/useradd finished with error 6
Mar 10 13:49:37 pcgertjan pam_ncp_auth[12802]: Cannot create uid 1050 required by server for user gjdeboer
Mar 10 13:49:39 pcgertjan login[12802]: FAILED LOGIN 1 FROM (null) FOR gjdeboer, Authentication failure


UID 1050 is ook inderdaad de UID die ik opgeef in de NDS onder Unix parameters.

Blijkbaar gaat er iets mis in Useradd. Voor Useradd wordt het externe programma /usr/sbin/useradd aangeroepen. Maar ik kan nu nergens vinden wat de return code 6 inhoudt bij Useradd. Het lijkt erop dat ik dus heel dichtbij ben, maar nog lang niet ver genoeg :P

Blog | aaZoo - (Wireless) Networking, Security, DDoS Mitigatie, Virtualisatie en Storage


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Je kunt /usr/sbin/useradd even verplaatsen naar /usr/sbin/useradd.orig en dan het volgende scriptje als /usr/sbin/useradd saven (vergeet niet te chmodden):
code:
1
2
3
4
#!/bin/bash

echo $0 $* > /tmp/useradd_log
exec /usr/sbin/useradd.orig $* >> /tmp/useradd_log 2&>1

Dan staat in /tmp/useradd_log met welke argumenten useradd wordt aangeroepen. En de meldingen die useradd zelf geeft staan er ook. Dan kom je er misschien achter waarom useradd een fout geeft.

"He took a duck in the face at two hundred and fifty knots."


  • DGTL_Magician
  • Registratie: Februari 2001
  • Laatst online: 30-01 15:53

DGTL_Magician

Kijkt regelmatig vooruit

Topicstarter
_Squatt_ schreef op 10 maart 2004 @ 15:56:
Je kunt /usr/sbin/useradd even verplaatsen naar /usr/sbin/useradd.orig en dan het volgende scriptje als /usr/sbin/useradd saven (vergeet niet te chmodden):
code:
1
2
3
4
#!/bin/bash

echo $0 $* > /tmp/useradd_log
exec /usr/sbin/useradd.orig $* >> /tmp/useradd_log 2&>1

Dan staat in /tmp/useradd_log met welke argumenten useradd wordt aangeroepen. En de meldingen die useradd zelf geeft staan er ook. Dan kom je er misschien achter waarom useradd een fout geeft.
thx
Hij roept het alsvolgt aan:
code:
1
/usr/sbin/useradd -g 1150 -d /home/gjdeboer -s /bin/bash -u 1000 -m gjdeboer

Met de hand aanmaken werkt vervolgens wel. Zou dus betekenen dat het aan PAM_NCP_AUTH ligt.
En als ik dus dit doe:
/usr/sbin/useradd -g 1150 -d /home/gjdeboer -s /bin/bash -u 1000 -m gjdeboer
Zegt ie dat de groep 1150 niet bestaat, die maakt ie niet aan. Zet ik de groep op 1000 dan werkt het wel. Super! Thx!

[ Voor 14% gewijzigd door DGTL_Magician op 10-03-2004 16:07 ]

Blog | aaZoo - (Wireless) Networking, Security, DDoS Mitigatie, Virtualisatie en Storage


  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Prima! Ik kom er net achter dat de exitcodes in de manpage staan:
The useadd command exits with the following values:
0 - success
[knip]
6 - specified group doesn't exist
Dus dat komt overeen met jouw bevindingen :).

"He took a duck in the face at two hundred and fifty knots."