← Back to team overview

sslug-teknik team mailing list archive

Et lille identifikationsproblem. (En lille nød, måske)

 

Hejsa.

Jeg ønsker at gøre følgende under RedHat 6.x:

En bruger der har autoriseret sig overfor min webserver skal kunne ændre
netop sit password.

Jeg ønsker ikke at køre apache som root, men som brugeren www.

Jeg er ikke glad for at have suid programmer der kan give www brugeren
adgang til at skifte password for alle brugere. Eksempelvis ønsker jeg kun
at den overhovedet må kunne skifte password for den gruppe af brugere der
hedder "mail". 

Jeg vil helst bruge de "normale" mekanismer til at skifte
password, f.eks. programmet /usr/bin/passwd, så jeg er sikker på at
låsning, mv fungerer som det skal. 

Endelig vil jeg gerne have at alting foregår ps sikkert.

Jeg har tænkt i følgende baner:

- apache suidexec kalder password. 
  Men, det ser ud til at involvere en masse konfiguration at gøre dette.
  Desuden ser det ud til at det CGI program der kaldes skal ligge i
  ~bruger/somewhere hvis jeg vil køre det som en specifik bruger.

- apache kalder sudo, som kalder password.
  Her får jeg ikke checket at brugeren tilhører den gruppe af personer jeg
  gerne vil have, eller hvad? Kan jeg konfigurere sudo til det?

- sort magi med pam
  Hvis nogen har en løsning hører jeg gerne om det. Jeg har forsøgt at 
  sætte det op, men fejler på at password checker mit real uid. (Only 
  root can change passwords for others).

- apache kalder specielt c program, som kalder password.
  I c programmet, som jeg sætter suid 0, sætter jeg også mit real uid
  (0) og checker diverse ting inden jeg kalder videre.

Hvis noget har alternative løsninger må I meget gerne sige
til. Forudsætningerne er:

- brugeren er identifikeret over for apache
- apache kører ikke som root
- jeg vil have en opdatering af password/shadow databasen
  - uden race conditions
  - der passer med resten af systemet (evt. shadow, evt. md5) uden 
    speciel konfiguration.
- sikker over for top/ps/mv.
- kun passwords på brugere der tilhører en speciel gruppe må ændres
- jeg er helst fri for selv at skulle udregne salt.

Jeg har spekuleret lidt over det, og jeg synes faktisk det er lidt
svært. Oprindelig har jeg skrevet noget (c program) der virkede med 
usermod, men usermod opdaterer ikke /etc/shadow, men kun /etc/password.
Desuden skulle jeg selv salte om det var des/md5 password.

Mads

-- 
Mads Bondo Dydensborg.                               madsdyd@xxxxxxxxxxxx
If a man says something in a forest and there are no women around to
hear him, is he still wrong?

                                        - Anonymous



Follow ups