LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 10-19-2005, 03:53 AM   #1
wcmiker
LQ Newbie
 
Registered: Aug 2003
Posts: 6

Rep: Reputation: 0
Cannot do anything as root


Hello,

I have a problem with a server. I have access to 2 different root accounts, and they appear to be stuck doing something with sh. I also could not get to the machine with ssh as I usually do; I had to use rlogin.

Here is what happens when I try to su to a root acount:

-bash-3.00$ su testroot
Password:
sh: *** No targets specified and no makefile found. Stop.


And it goes back to the shell of the normal user. I cannot rlogin as root because remote login by root is disabled, and I cannot edit the /etc/default/login file to allow remote login by root because I cannot edit the file without root access. Therefore, I appear to be stuck unless if someone knows how to get sh to stop doing whatever it is doing. I also do not want to reboot the machine.

Additionally, I cannot execute any commands as root with su, which would have helped a lot.
For example:
-bash-3.00$ su testroot -c "vi login"
Password:
sh: invalid option -- c
Usage: sh [options] [target] ...
Options:
-b, -m Ignored for compatibility.
-B, --always-make Unconditionally make all targets.
-C DIRECTORY, --directory=DIRECTORY
Change to DIRECTORY before doing anything.
-d Print lots of debugging information.
--debug[=FLAGS] Print various types of debugging information.
-e, --environment-overrides
Environment variables override makefiles.
-f FILE, --file=FILE, --makefile=FILE
Read FILE as a makefile.
-h, --help Print this message and exit.
-i, --ignore-errors Ignore errors from commands.
-I DIRECTORY, --include-dir=DIRECTORY
Search DIRECTORY for included makefiles.
-j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
-k, --keep-going Keep going when some targets can't be made.
-l [N], --load-average[=N], --max-load[=N]
Don't start multiple jobs unless load is below N.
-n, --just-print, --dry-run, --recon
Don't actually run any commands; just print them.
-o FILE, --old-file=FILE, --assume-old=FILE
Consider FILE to be very old and don't remake it.
-p, --print-data-base Print make's internal database.
-q, --question Run no commands; exit status says if up to date.
-r, --no-builtin-rules Disable the built-in implicit rules.
-R, --no-builtin-variables Disable the built-in variable settings.
-s, --silent, --quiet Don't echo commands.
-S, --no-keep-going, --stop
Turns off -k.
-t, --touch Touch targets instead of remaking them.
-v, --version Print the version number of make and exit.
-w, --print-directory Print the current directory.
--no-print-directory Turn off -w, even if it was turned on implicitly.
-W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
Consider FILE to be infinitely new.
--warn-undefined-variables Warn when an undefined variable is referenced.

This program built for i386-pc-solaris2.10
Report bugs to <bug-make@gnu.org>


If you need anymore information I will give it to you ASAP. Thank you for your time.
 
Old 10-19-2005, 05:40 AM   #2
trickykid
LQ Guru
 
Registered: Jan 2001
Posts: 24,149

Rep: Reputation: 269Reputation: 269Reputation: 269
My first question would be, why do you have two root users on one server?

Secondly, the command your running with the -c option apparently isn't a valid option, hence why it's not working. Did you actually read the output of the usage it provided? su built for Solaris works differently than Linux, if you hadn't noticed the output at the bottom that says:

This program built for i386-pc-solaris2.10
 
Old 10-19-2005, 05:49 AM   #3
pingu
Senior Member
 
Registered: Jul 2004
Location: Skuttunge SWEDEN
Distribution: Debian preferably
Posts: 1,350

Rep: Reputation: 127Reputation: 127
Here's a real wild shot in the dark:
Do you happen to have an alias named 'su'?
Try
# unalias su
see what it says.
 
Old 10-19-2005, 07:22 AM   #4
wcmiker
LQ Newbie
 
Registered: Aug 2003
Posts: 6

Original Poster
Rep: Reputation: 0
Quote:
Originally posted by trickykid
My first question would be, why do you have two root users on one server?
Originally there was another administrator and we each had our own root account.

Quote:
Secondly, the command your running with the -c option apparently isn't a valid option, hence why it's not working. Did you actually read the output of the usage it provided? su built for Solaris works differently than Linux, if you hadn't noticed the output at the bottom that says:

This program built for i386-pc-solaris2.10?
I have tried several different commands with the -c option that used to work fine, but no longer do. For example, bash-3.00$ su testroot -c "ls". I also cannot simply su to a root account without the -c option as I used to be able to either. I probably should also mention that I am using Solaris. I just noticed the Solaris forum, feel free to move this topic there. If you read the output, what is happening is the sh command automatically is trying to do something as soon as su is used on a root account, I don't have/know of another way I can login as a root account given my current situation. EX:


-bash-3.00$ su testroot -v
Password:
GNU Make 3.80
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.


Notice that I used -v in the su command, and I got the version of make as a result.

Last edited by wcmiker; 10-19-2005 at 07:25 AM.
 
Old 10-19-2005, 07:23 AM   #5
wcmiker
LQ Newbie
 
Registered: Aug 2003
Posts: 6

Original Poster
Rep: Reputation: 0
Quote:
Originally posted by pingu
Here's a real wild shot in the dark:
Do you happen to have an alias named 'su'?
Try
# unalias su
see what it says.
Nope, I do not.


-bash-3.00$ unalias su
-bash: unalias: su: not found
 
Old 10-19-2005, 07:43 AM   #6
wcmiker
LQ Newbie
 
Registered: Aug 2003
Posts: 6

Original Poster
Rep: Reputation: 0
Since I think the problem is sh, here is some more output.


-bash-3.00$ grep root /etc/passwd
root:x:0:0:Super-User:/:/sbin/sh
testroot:x:0:0:Super-User:/:/sbin/sh

-bash-3.00$ ls -l /bin/sh
lrwxrwxrwx 1 root root 13 Aug 25 21:44 /bin/sh -> ../../sbin/sh

-bash-3.00$ ls -l /sbin/sh
-r-xr-xr-x 1 root root 812188 Oct 16 21:24 /sbin/sh



The date of /sbin/sh - Oct 16 is when the problem began. This is the result if I run it as any user:

-bash-3.00$ sh
sh: *** No targets specified and no makefile found. Stop.
 
Old 10-19-2005, 09:47 AM   #7
pingu
Senior Member
 
Registered: Jul 2004
Location: Skuttunge SWEDEN
Distribution: Debian preferably
Posts: 1,350

Rep: Reputation: 127Reputation: 127
Hmmm...
...excuse me for being a bit stubborn here...
is perhaps 'sh' an alias?

You see, that message
Code:
sh: *** No targets specified and no makefile found. Stop.
can't really be generated by /sbin/sh?
It is what you get trying to compile a program without enough specifikations (or something - I have seen it a few times trying to execute 'make'). So it could be an alias or a link to some compiler?
You could try
# whereis sh
#alias (this will output all your aliases)

(edit)
I'm reading your first post again:
the messages you get are definitely from a compiler - like:
Code:
-B, --always-make Unconditionally make all targets.
-C DIRECTORY, --directory=DIRECTORY
.......
Read FILE as a makefile.
.....
Search DIRECTORY for included makefiles.
Read through that message, and try to remember what you (or someone) did just before the problem started!

Last edited by pingu; 10-19-2005 at 09:54 AM.
 
Old 10-19-2005, 11:46 AM   #8
wcmiker
LQ Newbie
 
Registered: Aug 2003
Posts: 6

Original Poster
Rep: Reputation: 0
You are right pingu, good call. The sh file has been replaced by make.

Code:
-bash-3.00$ ls -l /sbin/sh
-r-xr-xr-x   1 root     root      812188 Oct 16 21:24 /sbin/sh
-bash-3.00$ ls -l /usr/local/bin/make
-rwxr-xr-x   1 mrodey   mrodey    812188 Sep 23 16:19 /usr/local/bin/make
The files are exactly the same size. Now that we know this is the problem, is there any way to resolve it remotely when all of the root accounts are set to use sh?
 
Old 10-19-2005, 12:08 PM   #9
mlangdn
Senior Member
 
Registered: Mar 2005
Location: Kentucky
Distribution: Slackware64-current
Posts: 1,845

Rep: Reputation: 452Reputation: 452Reputation: 452Reputation: 452Reputation: 452
It may only be su that is causing the problem, not the root account itself. Try exiting the shell, then at the login prompt, use root, instead of su.
 
Old 10-19-2005, 03:41 PM   #10
wcmiker
LQ Newbie
 
Registered: Aug 2003
Posts: 6

Original Poster
Rep: Reputation: 0
I was able to fix the problem by passing a MakeFile into su, and within the MakeFile (which was being executed with root privileges) I replaced /sbin/sh (which was actually make) with a real sh file. The system now works pefectly once again. Thank you for all those who tried to help.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
RHEL3 Mounting USB after reboot and between reboots: root and non-root users Luis Nunes Linux - Hardware 0 07-20-2005 08:32 AM
IntelliMouse thumb buttons work as root, broken as non-root user, wheel works always digital vortex Linux - Hardware 7 03-02-2004 04:14 PM
root files: create as root:root or root:wheel? pcass Linux - Security 1 02-07-2004 04:14 PM
cant resize root thru rescue, auto mounts root dir absolutal Linux - Newbie 0 06-18-2003 03:06 PM
Why does kppp.desktop require root userid for non-root user? rdaves@earthlink.net Linux - Networking 4 08-27-2001 09:18 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 11:08 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration