Replacing Login Manager
This is my first post on this forum, please excuse me if I am posting in the wrong place.
I'm researching Image Based Authentication, and I am planning to implement such a system for my licentiate thesis. Because I want to show that such a system would have practical use, I want to change the way Ubuntu takes care of authentication.
Because Ubuntu is open source, has a beautiful interface, and is massively popular, I thought it might be worth a try to replace her current login mechanism with my own system. It would be impressive enough to get a good grade, useful enough that I don't consider the time spent on development as wasted, and most importantly I think I would really enjoy the process
From what I understood by now from the stuff I've read, the login for Ubuntu is managed by GDM, which is a part of GNOME, but which also does a lot of other things as well. What I basically want is to write a program that can handle login (local login, I'm not thinking remote stuff just yet): so it can take a username, show a few sets of images, record the users selections, check if they form a match with the users set of password images, and allow login if they do, deny entry they don't. And of course an application with which users can be added, passwords can be changed, and other admin stuff can be performed.
I hope something like this could be done:
The system starts as normal, my GUI appears, and in case of successful authentication, either does what steps besides these would have been done by the original system, or gives control back to the original system, so it can finish the login process. I actually only want to check which user wants to log in, and if he know the correct password, the rest should stay as much the same as possible.
I would greatly appreciate any feedback in terms of:
- recommended bibliography
- advice or explication on what exactly is/are the component/s I have to change
- links to any tutorials, websites that you consider helpful
- and finally any acknowledgment on whether you think this project would really be useful or not
Sorry if I let this run too long, I just wanted to avoid looking like I don't know what I'm asking :)
I starting with GDM is a good approach. Go check out the GDM source package
Ubuntu -- Details of package gdm in dapper
and try to understand how it works.
Then start to modify it.
GDM is a display manager though. This is not exactly the same as a login, even though it shares much functionality.
There is also a facility called "kerberos". I remember that the design of this was to easily allow additional frontends for authentication, like a retina scanner replacing the typing of a passphrase.
I would also look at how some basic login managers do things differently.
SLiM - Simple Login Manager
Console Display Manager
Thanks, I've been struggling a little with the GDM source, not enough yet though to get a result. I never heard of kerberos before, I'll start doing research. Thanks again! :)
Also thanks for the Console Display Manager, SLiM I'm currently trying to understand, but this second one is again news to me. Appreciatd :D !
CDM is very new, just a few months old, so no surprise you haven't heard of it. I only knew of it because the author uses Arch Linux and posted about it in the Community Contributions section of their forums. He's also the fellow who designed my openbox theme.
Originally Posted by wagner89