Issue with "rsh" on RedHat


Login or Register to Reply

 
Thread Tools Search this Thread
# 9  
On some systems, rsh is a "remote" shell. On other systems, rsh is a "restricted" shell. On SunOS, I think you'll find that depending on how $path (if you are using a csh derivative shell) or $PATH (if you are using a Bourne shell (sh) derivative) is set in your environment, rsh may be a link to sh (and treated as a restricted shell) instead of being a link to ssh (and treated as a remote shell).

What shell are you using as your login shell for the account that is having problems on SunOS? What output do you get from the command:
Code:
printf 'PATH="%s"\npath="%s"\n' "$PATH" "$path"

This User Gave Thanks to Don Cragun For This Post:
# 10  
Hi Don,

The problem isn't on the Solaris (Whole Root Zone) server, all the other Unix servers can execute the command without issue.

This Redhat 7.4 server is the only one on the estate exibiting a problem, the rsh action fails only when a parameter like uname is passed. A simple rsh to the box works fine - I know that this uses rlogin and have been investigating further this morning.

I will spend more time on this today and will go through the earlier posts to check what people have suggested, here's your request;

Code:
isd250# su - autoupd
$
$ printf 'PATH="%s"\npath="%s"\n' "$PATH" "$path"
PATH="/usr/bin::/usr/bin:/usr/ucb:/etc:/usr/sbin:."
path=""
$ grep autoupd /etc/passwd
autoupd:x:26488:1:Autoupdate user:/export/home/autoupd:/usr/bin/rksh
$

Regards

Gull04
This User Gave Thanks to gull04 For This Post:
# 11  
Quote:
Originally Posted by gull04
It all hangs and you have to "ctrl C" to break out, but by doing;
Code:
[root@fbakirmsir1 autodoc]#  rsh -l autoupd 10.3.100.95
Last login: Thu Jan 10 14:20:32 from fbakirmsir1
$ uname -s
SunOS
$ uname -a
SunOS isd250 5.10 Generic_150400-46 sun4v sparc sun4v
$ exit
rlogin: connection closed.
[root@fbakirmsir1 autodoc]#

So, if i get that right: rsh hangs until you press CTRL-C when called from a script (?) but works when issued manually, from the commandline.

First suspicion is that there is a difference in the environment of the script and your interactive enivronment, so how about dumping the respective environments (via an inserted set > /some/file) and cast a diff on them? Also - as this will not be shown by this method - check for eventual aliases and the like. This is basically the same idea as Don Cragun had, but generalised to other settings than PATH.

Or - you will have to test that - does it always not work for the first time and work for the second (and subsequent) time(s)? Such behavior usually results from something being loaded/configured "on demand" but not completely being able to fulfill the current sessions request - the current session will fail but any subsequent session will work. (Sorry for being so vague but i don't know your system well enough to come up with any more concrete ideas).

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 12  
Hi Folks,

I said at the begining of this thread that it should have been posted in the Unix for Dummies section and as it transpired that was correct.

When we build servers like these there is a process, it is a bit convoluted - but it delivers the desired end result. But that would appear to be when one person works on it.

The problem turned out to be the firewall had been turned back on by one of our offshore people, I had already stopped the service as per the build standard and created all the support users, one of them had - whilst setting up his environment decided to have a look around the server and contrary to what he was supposed to do. He started the firewall because he assumed that the server would need it!

Turning off the firewall resolved the problem, but didn't get me back the missing day!

Many thanks for all the suggestions and assistance on this.

Regards

Gull04
These 3 Users Gave Thanks to gull04 For This Post:
# 13  
Quote:
Originally Posted by gull04
Hi Don,

The problem isn't on the Solaris (Whole Root Zone) server, all the other Unix servers can execute the command without issue.

This Redhat 7.4 server is the only one on the estate exibiting a problem, the rsh action fails only when a parameter like uname is passed. A simple rsh to the box works fine - I know that this uses rlogin and have been investigating further this morning.

I will spend more time on this today and will go through the earlier posts to check what people have suggested, here's your request;

Code:
isd250# su - autoupd
$
$ printf 'PATH="%s"\npath="%s"\n' "$PATH" "$path"
PATH="/usr/bin::/usr/bin:/usr/ucb:/etc:/usr/sbin:."
path=""
$ grep autoupd /etc/passwd
autoupd:x:26488:1:Autoupdate user:/export/home/autoupd:/usr/bin/rksh
$

Regards

Gull04
Hi Gull04,
I'm glad to hear that you found the problem and got it fixed.

However, note the part of your $PATH setting marked in red above...
First, you don't need /usr/bin in $PATH twice. Having it there twice will only serve to slow down starting up any utility that is not found in /usr/bin or whatever directory you shell assumes is specified by have two <colon>s together in $PATH.

And, maybe more importantly, the standards don't say what happens when you have two <colon>s together in $PATH. The unspecified directory denoted by the two adjacent <colon>s between the first two instances of /usr/bin in your path could be treated as an error (silently ignored but slowing down starting up any utility that is not found in /usr/bin), could be treated as a request to use the current working directory (effectively moving . from the end of your $PATH setting to instead be in second position), or as a request to use / at that position (with the effect varying greatly depending on what is being executed and what utility is being invoked). My (unsupported by any experimentation) guess would be that using / might be the most likely action a shell might take and the most likely to cause hard to track down intermittent anomalies at some point in your future. Any or all of the effects listed above could also vary from shell to shell.

I strongly suggest that you find out what is setting $PATH this way and fix it. I wish you good luck in finding the cause.

Cheers,
Don
These 2 Users Gave Thanks to Don Cragun For This Post:
# 14  
Quote:
Originally Posted by gull04
The problem turned out to be the firewall had been turned back on by one of our offshore people, I had already stopped the service
In addition to what Don Cragun already said: how on earth can a user get the privileges necessary to turn on the firewall?? In a long (and rather depressing) life as a systems administrator i learned that admins should be like gods: i am your root - thou shalt have no others besides me!

In AIX there is a file /etc/nologin, which, when in place, prevents any login. (It is deleted automatically upon reboot, so it can't be forgotten.) Maybe there is something alike in RHEL, which you could incorporate to your deployment process to prevent these things? If not: how about killing getty instead? That would also prevent new logins until a final reboot, which should perhaps be the last step in a customisation process anyway.

I hope this helps.

bakunin
These 2 Users Gave Thanks to bakunin For This Post:
Login or Register to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"
jcdole
Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing...... Shell Programming and Scripting
1
Shell Programming and Scripting
""Help Me!""Beginner awk learning issue
csrohit
Hi All, I have just now started learning awk from the source - Awk - A Tutorial and Introduction - by Bruce Barnett and the bad part is that I am stuck on the very first example for running the awk script. The script is as - #!/bin/sh # Linux users have to change $8 to $9 awk ' BEGIN ...... Shell Programming and Scripting
6
Shell Programming and Scripting
awk command to replace ";" with "|" and ""|" at diferent places in line of file
shis100
Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone...... Shell Programming and Scripting
7
Shell Programming and Scripting
"if" and "then" statement is not working in RedHat
Afi_Linux
Dear experts, I'm trying to write a script to calculate the usage of Log Archive in a directory, so if it gets to a point where the directory size is 60%, then send out an FYI.. email. So if then it reaches to 80%, move the logs from that directory. I have written the script as follow but...... Red Hat
10
Red Hat
xx=`date +"%a %b %d"`;rsh xxx grep "^$XX" zzz ?
Browser_ice
AIX 4.2 I am trying to do an rsh grep to search for date records inside server logs by doing this : xx=`date +"%a %b %d"` rsh xxx grep "^$XX" zzz gives : grep: 0652-033 Cannot open Jun. grep: 0652-033 Cannot open 11. But if I do : xx=`date +"%a %b %d"` grep "^$XX" zzz it works...... AIX
2
AIX