Issue with "rsh" on RedHat


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Issue with "rsh" on RedHat
# 8  
Old 01-10-2019
Hi Guys,

Thanks for the pointers, I'll check them out as soon as I get into the office in the morning.

Regards

Gull04
# 9  
Old 01-10-2019
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  
Old 01-11-2019
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  
Old 01-11-2019
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  
Old 01-11-2019
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  
Old 01-11-2019
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  
Old 01-11-2019
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 Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

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... (1 Reply)
Discussion started by: jcdole
1 Replies

2. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

3. Shell Programming and Scripting

""Help Me!""Beginner awk learning issue

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 ... (6 Replies)
Discussion started by: csrohit
6 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

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... (7 Replies)
Discussion started by: shis100
7 Replies

5. Red Hat

"if" and "then" statement is not working in RedHat

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... (10 Replies)
Discussion started by: Afi_Linux
10 Replies

6. AIX

rsh server "script..." which $PATH is used ?

When running a script on a distant server via rsh, what is the $PATH used ? I had done a script in the /usr/local/bin but the rsh reported it did not find it. So I assume it is using a separate $PATH but how can I find out ? (1 Reply)
Discussion started by: Browser_ice
1 Replies

7. AIX

xx=`date +"%a %b %d"`;rsh xxx grep "^$XX" zzz ?

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... (2 Replies)
Discussion started by: Browser_ice
2 Replies

8. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

9. Shell Programming and Scripting

Failed to check status code in "rsh" command

Hi folks, I wrote a ksh program which run scripts from remote server. To check the status code I wrote the following function: check_remote_status() { status_code=`tail -1 $installLog` if ] ; then echo $errMsg | tee -a $installLog exit 1 else echo $validMsg >> $installLog fi... (9 Replies)
Discussion started by: nir_s
9 Replies
Login or Register to Ask a Question