<p>BTW seems gmail is retarded and thought the bulk of that message was quoted when it wasn&#39;t... be sure to read the whole thing if gmail screws it up for you. :(</p>
<div class="gmail_quote">On Sep 2, 2011 10:40 PM, &quot;Michael Trausch&quot; &lt;<a href="mailto:mike@trausch.us">mike@trausch.us</a>&gt; wrote:<br type="attribution">&gt; On 09/01/2011 03:34 PM, John Temple wrote:<br>&gt;&gt; I have a RHEL 5 VM system that will not allow us to login from the<br>
&gt;&gt; console. We have tried to use both a valid user and root, for both of<br>&gt;&gt; them after entering the username &quot;Invalid Username&quot; (or something like<br>&gt;&gt; that) flashes and then we are returned to the login prompt. We have also<br>
&gt;&gt; tried booting into single user mode by editing the grub command line. No<br>&gt;&gt; dice there either. Any suggestions on how to get the system back up?<br>&gt; <br>&gt; I had to come to the computer to reply to this...<br>
&gt; <br>&gt; Assuming that RHEL uses the same underlying base as most other<br>&gt; distributions, the login process on the console should be:<br>&gt; <br>&gt;  1.  Some form of getty (this is what issues the &quot;login: &quot; prompt),<br>
&gt;      your system may use agetty or another implementation.  Check its<br>&gt;      man page for how it works.<br>&gt;  2.  You enter a username.  The getty implementation should then spawn<br>&gt;      /bin/login $LOGIN (which is what prompts for the password).  If<br>
&gt;      the correct password is specified, then login will setup the user<br>&gt;      environment and spawn the user&#39;s shell. (see &quot;man login&quot;)<br>&gt;  3.  If the initially provided password is incorrect (or if the login<br>
&gt;      is invalid), /bin/login will then ITSELF prompt for a password.<br>&gt;      It will do this usually 3 to 6 times (my system is configured for<br>&gt;      3, and the limit is configured in /etc/login.defs).<br>
&gt; <br>&gt; Allow me to demonstrate; the first session is me logging in as a user<br>&gt; that does _not_ exist on my workstation; the second session is me<br>&gt; logging in as a user that _does_ exist on my workstation:<br>
&gt; <br>&gt; ================= Logging in as invalid user =========================<br>&gt; mbt@aloe ~ % sudo -i<br>&gt; aloe ~ # exec /bin/login afas<br>&gt; Password:<br>&gt; <br>&gt; Login incorrect<br>&gt; aloe login: afas<br>
&gt; Password:<br>&gt; <br>&gt; Login incorrect<br>&gt; aloe login: afas<br>&gt; Password:<br>&gt; Maximum number of tries exceeded (3)<br>&gt; mbt@aloe ~ %<br>&gt; ================= Logging in as invalid user =========================<br>
&gt; <br>&gt; Note that it returned to my normal user&#39;s shell prompt because the &quot;exec<br>&gt; /bin/login&quot; line replaced the root shell that I spawned via sudo with<br>&gt; the /bin/login process; once /bin/login terminated, the sudo session was<br>
&gt; over and returned back to the parent shell which spawned sudo.<br>&gt; <br>&gt; Here is a session with a valid user:<br>&gt; <br>&gt; ================== Logging in as valid user ==========================<br>&gt; mbt@aloe ~ % sudo -i<br>
&gt; aloe ~ # exec /bin/login mbt<br>&gt; Password:<br>&gt; Last login: Fri Sep  2 22:23:12 EDT 2011 on pts/4<br>&gt; mbt@aloe ~ % exit<br>&gt; mbt@aloe ~ %<br>&gt; ================== Logging in as valid user ==========================<br>
&gt; <br>&gt; Here, I entered the correct password and login behaved as it should<br>&gt; have, logging me in.  Here is a third session, valid user, bad passwords:<br>&gt; <br>&gt; ================== Logging in w/ bad passwd ==========================<br>
&gt; mbt@aloe ~ % sudo -i<br>&gt; Password:<br>&gt; aloe ~ # exec /bin/login mbt<br>&gt; Password:<br>&gt; <br>&gt; Login incorrect<br>&gt; aloe login: mbt<br>&gt; Password:<br>&gt; <br>&gt; Login incorrect<br>&gt; aloe login: mbt<br>
&gt; Password:<br>&gt; Maximum number of tries exceeded (3)<br>&gt; ================== Logging in w/ bad passwd ==========================<br>&gt; <br>&gt; So, you can see here, the correct message (and the one that I have seen<br>
&gt; on virtually every system I&#39;ve ever mistyped my username, password, or<br>&gt; both on at the console practically since I started using Linux-based<br>&gt; systems over 15 years ago) is &quot;Login incorrect&quot;.<br>
&gt; <br>&gt; Something is not right.  I would not be so quick to blame something<br>&gt; innocuous for your problems, either; see this:<br>&gt; <br>&gt; mbt@aloe ~ % sudo strings /bin/login|grep -i invalid<br>&gt; Invalid root directory &#39;%s&#39;<br>
&gt; invalid root `%s&#39; for user `%s&#39;<br>&gt; mbt@aloe ~ % sudo strings /bin/login|grep -i user<br>&gt; ruserok<br>&gt; ((void *)0) != ptr_pam_user<br>&gt; ((void *)0) == username<br>&gt; cannot find user %s<br>&gt; ((void *)0) != username<br>
&gt; get_pam_user<br>&gt; unable to change owner or mode of tty stdin for user `%s&#39;: %s<br>&gt; bad user ID `%d&#39; for user `%s&#39;: %s<br>&gt; bad group ID `%d&#39; for user `%s&#39;: %s<br>&gt; initgroups failed for user `%s&#39;: %s<br>
&gt; USER<br>&gt; unable to cd to `%s&#39; for user `%s&#39;<br>&gt; invalid root `%s&#39; for user `%s&#39;<br>&gt; no subsystem root `%s&#39; for user `%s&#39;<br>&gt; USERDEL_CMD<br>&gt; USERGROUPS_ENAB<br>&gt; mbt@aloe ~ % sudo strings /bin/login|grep -i ncor<br>
&gt; Login incorrect<br>&gt; <br>&gt; There is a &quot;cannot find user %s&quot; string in there, but it is only ever<br>&gt; logged to the system logger:<br>&gt; <br>&gt; mbt@aloe shadow-4.1.4.3 % find . -name &#39;*.c&#39; -o -name &#39;*.h&#39; | xargs grep<br>
&gt; -n &#39;cannot find user&#39;<br>&gt; ./src/login.c:886:                SYSLOG ((LOG_ERR, &quot;cannot find user %s&quot;, failent_user));<br>&gt; ./src/login.c:1166:                                         &quot;cannot find user %s after update of<br>&gt; expired password&quot;,<br>
&gt; <br>&gt; I&#39;d copy and paste the function it was in, src/login.c has only one<br>&gt; function (main) and it is over 1,000 lines long (sheesh!) so I&#39;ll skip that.<br>&gt; <br>&gt;&gt; A couple of things that we have noticed:<br>
&gt;&gt; 1. When the VM boots the system displays a couple of failures most<br>&gt;&gt; noteably iptables and xinetd.<br>&gt; <br>&gt; What are the failures, exactly?  Do they come from a script expecting to<br>&gt; load firewall rules, or do they indicate the lack of loaded kernel modules?<br>
&gt; <br>&gt;&gt; 2. A few weeks ago a co-worker said that he had trouble with the system<br>&gt;&gt; saying that it was in read only mode.<br>&gt; <br>&gt; This could be anything.  Bad filesystem, failure to remount read-write<br>
&gt; in the boot process (e.g., modified, missing, or [unlikely!] corrupt<br>&gt; init scripts), an explicit remount read-only shortly enough after being<br>&gt; mounted read-write that it is allowed to take effect... anything.<br>
&gt; <br>&gt; I realize that relative to those who have answered your thread, I have<br>&gt; no credentials.  But I have cleaned up after several a break in, and I&#39;m<br>&gt; telling you, this smells like one to me.  (I would hope that I am<br>
&gt; wrong... but it doesn&#39;t seem likely.)  It is either that, or RHEL<br>&gt; doesn&#39;t use standard /bin/login, and I&#39;m not sure which would frighten<br>&gt; me more.  (Note that I&#39;m not saying I like the coding style of the<br>
&gt; ubiquitous one from the shadow package... but I&#39;ve used it for years and<br>&gt; it&#39;s on every box I am aware of.  It&#39;s standard.  It&#39;s known.<br>&gt; Therefore, it&#39;s tested and likely to be good.)<br>
&gt; <br>&gt; I&#39;d at the very least like to hear back when you figure out what&#39;s up<br>&gt; with the box, for no other reason than I am curious.<br>&gt; <br>&gt;         --- Mike<br>&gt; <br>&gt; -- <br>&gt; A man who reasons deliberately, manages it better after studying Logic<br>
&gt; than he could before, if he is sincere about it and has common sense.<br>&gt;                                    --- Carveth Read, “Logic”<br></div>