http://www.pronix.de -> Forum -> Administration, Konfiguration

Forum: Administration, Konfiguration

Moderatoren: Herb, Martin Conrad

Thema: /etc/shadow

  • (nur registrierte Mitglieder)

Re: /etc/shadow

Patrick am 20.12.2010 um 08:37

@Martin
Afaik geht getpwnam an die /etc/passwd.
Die Funktion getspnam geht aber definitiv an die /etc/shadow.
/*******************************************************************************
* Validiert Benutzername/Kennwort gegen /etc/shadow
*
* @param char* Benutzername
* @param char* Kennwort
* @return int  1=OK, 0=Fehler
*******************************************************************************/
inline
static
int
authenticate ( const char *name,
               const char *passwd )
{
 struct spwd *shadow;
 char *hash;

 if (NULL == name
  || NULL == passwd)
   return 0;

 // http://www.gnu.org/s/libc/manual/html_node/crypt.html
 if (NULL == (shadow=getspnam(name))
  || NULL == shadow->sp_namp
  || NULL == shadow->sp_pwdp)
   return 0;

 return (NULL == (hash=crypt(passwd, shadow->sp_pwdp))
      || strlen(shadow->sp_pwdp) != strlen(hash)
      || 0 != strncmp(shadow->sp_pwdp, hash, strlen(hash)))
       ? 0
       : 1;
}

Eine Lösung in C wollte ich gerne vermeiden, weil die Lösung auf unterschiedlichen Systemen zum Einsatz kommen wird ich nicht auf jedem System kompilieren kann. Der Aufwand ist mir zu hoch, eine entsprechende Entwicklungsumgebung zu erstellen Grafik: Smilie Zwinker
Trotzdem - danke sehr Grafik: Smilie Zwinker

@Philip
Mit chage -l kann ich arbeiten, vielen Danke! Grafik: Smilie Juchuh

--
To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master.

 

Re: /etc/shadow

Martin Conrad (webmaster) am 20.12.2010 um 10:08

Zitat:

@Martin
Afaik geht getpwnam an die /etc/passwd.
Die Funktion getspnam geht aber definitiv an die /etc/shadow.


Nicht ganz. getpwnam ist POSIX und daher kompatibel. Unter Linux kannst sein, dass die an /etc/passwd geht - hab grad keines hier zur Hand.
getspwnam ist kein Standard. Das wird wohl an shadow gehen, wie du schon schrobst.

Egal, du hast ja was gefunden.

Bis denne

Martin

--
0xC0FFEE

 
  • (nur registrierte Mitglieder)