Bug 283131 - Autologin Bug
Summary: Autologin Bug
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: gdm
Version: 7
Hardware: x86_64
OS: Linux
medium
urgent
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-09-07 20:21 UTC by sean.mcguffee
Modified: 2007-11-30 22:12 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-09-10 14:33:08 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 475477 0 None None None Never

Description sean.mcguffee 2007-09-07 20:21:04 UTC
Description of problem:

Auto login won't allow me to use root as the user, and that is my choice, not
yours on my system!

Version-Release number of selected component (if applicable):

FC7

How reproducible:

Every single time.

Steps to Reproduce:
1. Click System
2. Click Login Screen
3. Click Security
4. Type "root" as the preferred user for auto login and there it says. 
"User Not Allowed
Autologin or timed login to the root account is forbidden."
  
Actual results:

Autologin login to the root account is forbidden.

Expected results:

Autologin login should work for root account! If you really are so obsessed with
security, then maybe you should put a warning suggesting that you don't like the
idea of someone using root as the account to auto-login to. You could even put
all your reasons in that warning. Please fix it so that I have that option, even
if you don't like the way I prefer to use my computer. Please don't forget that
the point of security is so that your system won't get broken. Without having an
auto login for the root account, my system starts off broken by my definition.
Please respect my wishes on the configuration of my computer and fix this auto
login feature that has soooooo much potential and whose idea is sooooo wonderful!

Additional info: PLEASE--it's the only bug left besides the one minor detail
that glut.h is not in the /usr/include/GL/ directory even though the glut
libraries are there. Otherwise, FC7 is perfect!

Comment 1 Ray Strode [halfline] 2007-09-09 13:38:29 UTC
Note, logging in as root doesn't work very well.  For instance, you can't lock
your screen, irc won't work out of the box, and there are other issues.  In a
future versions of fedora we want to make the situation better for normal users
so that root isn't needed as much.  Even then, we'd like to configure sudo out
of the box as a sort of escape hatch.

Having said that, this particular request is something we aren't going to
diverge from upstream on.  If you would like to see this behavior changed,
please file a bug in upstream at bugzilla.gnome.org.

A potential workaround for your situation (if you're interested) would be to
create another user with UID 0 (a sort of alias) and use that instead.  The
relevant code is here:

gdm_root_user (void)
{
        static char *root_user = NULL;
        struct passwd *pwent;
    
        if (root_user != NULL)
                return root_user;  

        pwent = getpwuid (0);
        if (pwent == NULL) /* huh? */
                root_user = g_strdup ("root");
        else
                root_user = g_strdup (pwent->pw_name);
        return root_user;
}

and then it will only do automatic login if the username is not the returned
name.  This code means gdm will ask the system which username has UID 0.  If you
have more than one username with UID 0 then depending on the order of the
entries, gdm will either check that root is not automatically being logged in,
or the other name is not automatically being logged in.

I realize this isn't a great work around.


Comment 2 sean.mcguffee 2007-09-09 16:43:19 UTC
Thanks for your response, but I don't particularly appreciate your ignoring my
request.

In response to, "Note, logging in as root doesn't work very well," I would like
to point out that this is a mater of subjective opinion and we drastically
disagree. In my experience, you cannot even do things like change the date and
time of your system if you are not root. I can understand how if you are
administer for a University and you have to give email addresses to hundreds or
thousands of kids, then maybe you don't want them to be root. But when it is MY
machine that I payed for, then I want to decided when I'm root, and NOT YOU. You
had to go to a lot of trouble to make it so that I cannot autologin as root.
Please just remove the restriction. It doesn't stop YOU from logging in as one
of the worthless users. I don't want to have to keep finding out reasons to be
root. I just want to be root. I'm sorry if your narrow minded view is against
this, but it IS a bug in your system and you DO need to fix it. 

Regarding, "For instance, you can't lock
your screen, irc won't work out of the box, and there are other issues." I
wouldn't want to "lock my screen," only a total nerd would use "IRC," what "box"
are you referring to?, and who cares if you have issues logging into root? I'm
not trying to get you to log in as root! I'm trying to get you to let me login
as root with autologin. You might be so sheltered and obsessed with root-taboo
voodoo religions or whatever, but you have no right to ruin my computer over
your religious beliefs that there is something wrong with logging in as root.
Even if you were right and there was something wrong with logging in as root,
that is still no excuse for you to keep me from doing it. In fact, if there
really is something wrong with root, then why don't you just do away with the
root account completely? Don't bother letting people have a root password to
enter all the time. Just make the whole fedora linux worthless. Then you might
see exactly how stupid it is to not be root. I think the only reason you get
away with it is because a lot of nerds don't mind typing a password for root all
the time when they are logged in as some worthless user. Either that or they
never use there computer for anything other than email. Whatever the case is, it
really pisses me off that you spent more time replying to this bug report than
it would take you to fix the problem. 

Regarding, "In future versions of fedora we want to make the situation better
for normal users so that root isn't needed as much," If you are going to take
this approach, please at least fix your logic. Instead of this statement, please
change your mentality to: "In future versions of fedora we want to make the
situation better for normal users so that root isn't needed PERIOD." If there is
ever a case in which root password is needed for a worthless user, then you
should provide the option for people to have auto login as root. It should never
be necessary for a person to use a password on a computer that is never on the
internet. That should be an option for everyone if they want it. I'm expressing
that I want it. I don't think you realized what it is like being a
non-computer-dork. People who never use computers don't like passwords when they
start using them. Fedora linux is a wonderful product that actually has the
potential to attract those people and pave the way for open source programs to
become useful for the world. That is important to do. You sit there with your
years of using computers and dealing with passwords and think it's ok to have
them. Well, wake up call, you aren't just effecting computer-nerds now. People
who have Alzheimer's disease like my grandmother cannot remember passwords, and
that is not a choice and they have no option. There is no reason you cannot set
up an auto login as root, even if it's only for people like her to get to use
the computer. I can tell you I have never logged in as anything other than root,
and I use the internet, and I never have had the slightest problem. I doubt my
grandmother would either.

Regarding, "Even then, we'd like to configure sudo out of the box as a sort of
escape hatch," I have no idea what "sudo" is what "out of the box" is or what an
"escape hatch" is. Are you working for NASA and building space stations that
need escape hatches? You are completely lost in your own little isolated world.

Regarding, "Having said that, this particular request is something we aren't
going to diverge from upstream on.  If you would like to see this behavior
changed, please file a bug in upstream at bugzilla.gnome.org." Firstly, I don't
know what it means to apply the verb "diverge" to a request. Secondly, I have no
idea what "upstream" is or means. However, I do want the behavior changed, so
I'll try to figure out what it means to "file a bug in upstream at
bugzilla.gnome.org." If you have any more information on what "in upstream"
means, that might be helpful.

Regarding, "A potential workaround for your situation (if you're interested)
would be to create another user with UID 0 (a sort of alias) and use that
instead.  The relevant code is here:" I am interested. However, you lost me when
you gave me code. I might no something about C programming from number crunching
in computation biochemistry, but I don't know much about using code for users. I
think I remember a command called something like useradd, or something like
that. I'm willing to try it, if you can help me. However, I would like to point
out that this is really a tangent from how I want to set up my system. I want to
have a root account and no other accounts, just to be organized and tidy the way
 I like my computer to be set up as MY preference, and after all, it is MY
machine. That's why I find it especially annoying that I have to have another
user at all to even do the auto login, but then I have to log out of that
account to get access to all the settings I made for myself in the panels while
I was logged in as root. Adding yet another user is completely going against my
intended preferences of only have a root account on MY machine. 

Regarding, "gdm_root_user (void)
{
        static char *root_user = NULL;
        struct passwd *pwent;
    
        if (root_user != NULL)
                return root_user;  

        pwent = getpwuid (0);
        if (pwent == NULL) /* huh? */
                root_user = g_strdup ("root");
        else
                root_user = g_strdup (pwent->pw_name);
        return root_user;
}"
Does this code go in any particular file? Does it need to be compiled with some
other code that has a "main" function? If so, would that then imply that there
is a program that I would have to run? If so, what is that program, and what
would it be used for?

Regarding, "and then it will only do automatic login if the username is not the
returned name.  This code means gdm will ask the system which username has UID
0.  If you have more than one username with UID 0 then depending on the order of
the entries, gdm will either check that root is not automatically being logged
in, or the other name is not automatically being logged in. I realize this isn't
a great work around." I'm not quit sure what the first sentence means. I don't
know what "gdm" is. Is the username the same as the UID? How do I find out what
a user's UID is? Are you saying I should make a new user with the a UID of 0 as
in zero or as in CAPPED letter O as in before P in the alphabet? If there is a
difference in the username and the UID, then what should the username be for
that user? I think I understand what you are saying as how this might work
though. I wonder what controls the order of the entries. 


Comment 3 Ray Strode [halfline] 2007-09-10 14:33:08 UTC
Hi Sean,

I think there may be some miscommunication on this bug report.  I don't mind if
you log in as root.  I don't care how you use your computer--it's yours after
all.  If you don't run into any of the problems caused by running as root, then
clearly root is a viable option for you. Note, I didn't write the code I
mentioned in my previous example; it came from upstream. 

Fedora is a "Linux distribution" that distributes software written from upstream
communities.  "Upstream" in this context means the GNOME project
(http://www.gnome.org).  Many people who work on Fedora, also work in upstream
projects, but even though many of the players are the same, the projects are
independent.  To keep things simple and maintainable, we try to minimize the
delta between upstream and Fedora.  That is to say, we try not to carry patches
that largely change behavior if the patches won't eventually be integrated
upstream (a patch is a change to the source code).  When fixing bugs, we get the
patches upstream as quickly as possible, so they can get reviewed and get wider
testing (testing from other distributions, for instance).

In this particular case, it's not a lot of code to change, but it's not a change
we want to make without upstream buy-in.  To help you, I've filed a bug upstream
for you, here:

http://bugzilla.gnome.org/show_bug.cgi?id=475477

sudo is a program that lets a normal user run an action as root.  If the user
has been given administrative access (via the /etc/sudoers file), then they can
just do:

sudo command-here

and it will run command-here as root.

gdm is the login screen, and the program responsible for doing autologin. 

usernames and UIDs are slightly different.  Every username on the system as a
number associated with it, that number is what is used internally to distinguish
users.  The root user has UID 0.  This UID is special in that it gets superuser
privileges.  I was suggesting you give another username the UID 0, since gdm
does a string comparison on username, instead of looking at UID.  This
additional username would be associated with the same account as root.  The two
would be interchangeable. 

You can use the useradd command (or system-config-users) to create new accounts,
but for what you want to do, it's not really a good fit.  To create an account
that's just an alias for the root user, you would need to open up /etc/passwd
and copy the first line of the file, paste it and change the root before the
first colon to a different username.  This new username would still use the root
account (and keep all of root's settings).

I'm marking this bug UPSTREAM, since i've filed bug 475477 (as mentioned above)


Note You need to log in before you can comment on or make changes to this bug.