Gast
2006-05-04, 12:09:56
Ich habe das Gefühl, dass man auf einem winbind System nicht die uid des Benutzers herausfinden kann. Jedenfalls nicht, wenn der Benutzer nicht in der passwd steht.
So sieht der Teil in der nsswitch.conf vor Ort aus:
passwd: files winbind
group: files winbind
Ich habe ein kleines Programm geschrieben, mit dem man die uid eines Benutzers herausfinden kann:
#include <stdio.h>
#include <pwd.h>
#include <sys/types.h>
int main(int argc, char **argv) {
struct passwd *pw;
char *username;
if (argc != 2) {
printf("usage: %s USERNAME\n", argv[0]);
return 2;
}
username = argv[1];
pw = getpwnam(username);
if (!pw) {
printf("user '%s' does not exist\n", username);
return 1;
}
else {
printf("user '%s' has the uid '%d'\n", username, pw->pw_uid);
return 0;
}
}
In meinem LDAP Netz funktioniert das, in besagter winbind Umgebung allerdings nicht.
Was ich jetzt wissen möchte:
Müsste das getpwnam mit winbind funktionieren, und das System ist falsch aufgesetzt (wenn ja, wo könnte ich nach dem Fehler suchen?) oder funktioniert das einfach nicht?
Ausserdem interessant zu wissen wäre es, ob ich auch über PAM die UID eines beliebigen Benutzers herausfinden kann.
So sieht der Teil in der nsswitch.conf vor Ort aus:
passwd: files winbind
group: files winbind
Ich habe ein kleines Programm geschrieben, mit dem man die uid eines Benutzers herausfinden kann:
#include <stdio.h>
#include <pwd.h>
#include <sys/types.h>
int main(int argc, char **argv) {
struct passwd *pw;
char *username;
if (argc != 2) {
printf("usage: %s USERNAME\n", argv[0]);
return 2;
}
username = argv[1];
pw = getpwnam(username);
if (!pw) {
printf("user '%s' does not exist\n", username);
return 1;
}
else {
printf("user '%s' has the uid '%d'\n", username, pw->pw_uid);
return 0;
}
}
In meinem LDAP Netz funktioniert das, in besagter winbind Umgebung allerdings nicht.
Was ich jetzt wissen möchte:
Müsste das getpwnam mit winbind funktionieren, und das System ist falsch aufgesetzt (wenn ja, wo könnte ich nach dem Fehler suchen?) oder funktioniert das einfach nicht?
Ausserdem interessant zu wissen wäre es, ob ich auch über PAM die UID eines beliebigen Benutzers herausfinden kann.