Tom975
30.07.12, 15:13
Hallo allerseits,
ich habe folgendes Problem: Ich richte auf einem Server für jeden (nicht vertrauenswürdigen) Benutzer eine eigene chroot Umgebung ein und erlaube über SSH einzuloggen und einen ausgewälten Satz von Programmen zu benutzen. Das funktioniert bisher auch ganz gut mit der Einschränkung dass die Benutzer ihr Passwort nicht ändern können.
Der erste Ansatz dazu war, die /etc/shadow mit mount in die chroot Umgebung zu binden. Wenn dann ein benutzer versucht sein Passwort zu ändern, kommt folgende Meldung:
$ passwd
Changing password for test.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged
Es kann also auf die shadow in der chroot Umgebung zugegriffen werden, aber das Passwort kann nicht geändert werden.
Binde ich die /etc/shadow über einen hard link in die chroot Umgebung ein, ist das ändern des Passworts erfolgreich, jedoch nur in der chroot Umgebung zu sehen. Ausserhalb der chroot Umgebung ist noch das alte Passwort. Da SSH beim login aber in der System shadow nach dem Passwort sucht, kann sich der Benutzer nur mit seinem alten Passwort anmelden.
Die beiden Dateien sind sogar nach einem Neustart verschieden, es kann also nicht an einem sync Problem liegen.
Weiß jemand Rat? Wie kann es sein dass bei einem hard link nach einer Änderung zwei verschiedene Dateien vorhanden sind? Und wieso kann man die über mount gebindete shadow nicht ändern? mount sagt die Datei ist rw eingebunden...
Vielen Dank schonmal
ich habe folgendes Problem: Ich richte auf einem Server für jeden (nicht vertrauenswürdigen) Benutzer eine eigene chroot Umgebung ein und erlaube über SSH einzuloggen und einen ausgewälten Satz von Programmen zu benutzen. Das funktioniert bisher auch ganz gut mit der Einschränkung dass die Benutzer ihr Passwort nicht ändern können.
Der erste Ansatz dazu war, die /etc/shadow mit mount in die chroot Umgebung zu binden. Wenn dann ein benutzer versucht sein Passwort zu ändern, kommt folgende Meldung:
$ passwd
Changing password for test.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged
Es kann also auf die shadow in der chroot Umgebung zugegriffen werden, aber das Passwort kann nicht geändert werden.
Binde ich die /etc/shadow über einen hard link in die chroot Umgebung ein, ist das ändern des Passworts erfolgreich, jedoch nur in der chroot Umgebung zu sehen. Ausserhalb der chroot Umgebung ist noch das alte Passwort. Da SSH beim login aber in der System shadow nach dem Passwort sucht, kann sich der Benutzer nur mit seinem alten Passwort anmelden.
Die beiden Dateien sind sogar nach einem Neustart verschieden, es kann also nicht an einem sync Problem liegen.
Weiß jemand Rat? Wie kann es sein dass bei einem hard link nach einer Änderung zwei verschiedene Dateien vorhanden sind? Und wieso kann man die über mount gebindete shadow nicht ändern? mount sagt die Datei ist rw eingebunden...
Vielen Dank schonmal