Sponsored Content
Homework and Emergencies Homework & Coursework Questions How to set a non-login non-interactive shell for a user? Post 302930026 by cjcox on Monday 29th of December 2014 05:28:27 PM
Old 12-29-2014
Ok... it gets sort of shell specific. Shells will source in certain files if the are "interactive".... however, some shell allow you to override that... With that said, often time trying to override it will break things... so for example if somebody does:

Code:
ssh noninteractiveuser@somemachine.com sh -i

Which is fairly generic and pretty portable... you'd get this weird pseudotty-less interactive session on the remote host. It may error, and of course, it won't work like a true interactive shell... and note, other things won't work right without a tty.... so it's "ok" and a common hackers way to get an almost interactive session going.

But... since Linux has effectively stomped Unix into the ground, we can assume that all shells are bash nowadays :-). If so, the shell variable dash (e.g. $-) will contain attributes enabled on the shell... if it contains an "i" then the shell is interactive. So, in the case of our hack attempt above, you won't get an "i" in the string returned.

So... can you set a user up as a non-interactive user? I hope you can see the answer is yes and if using bash, you may even be able to circumvent typical ways of getting around it (but probably not every way).

The rest is left as an exercise for the reader.... can't give you all the answers!!

---------- Post updated at 04:05 PM ---------- Previous update was at 03:56 PM ----------

I'm feeling generous...

Put this into the .bashrc of the user:

Code:
echo "$-" | grep 'i' && exit 0

---------- Post updated at 04:14 PM ---------- Previous update was at 04:05 PM ----------

aack... it's buggy... not well thought out... the sh -i trick works against it. But anyway, probably will lead you to a solution.

---------- Post updated at 04:28 PM ---------- Previous update was at 04:14 PM ----------

Ok... scrap class... anyone know of a way to circumvent ssh ... sh -i and make that not work? I smell a vulnerability in bash.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to hide user inputted text for interactive unix shell script?

Hi everybody, Do you know how to hide the text for interactive unix shell script? Just like the case for inputting password during logon. Patrick (1 Reply)
Discussion started by: patrickpang
1 Replies

2. Shell Programming and Scripting

how to write a shell script to login to a system which is interactive.

Can anybody help me to write a shell script to login interactive system once u open a connection using telnet it will ask for USERCODE: PASSWORD: DOMAIN: (1 Reply)
Discussion started by: sudhakaryadav
1 Replies

3. Homework & Coursework Questions

Help with Interactive / Non Interactive Shell script

Q. Write a script that behaves both in interactive and non interactive mode. When no arguments are supplied it picks up each C program from the directory and prints first 10 lines. It then prompts for deletion of the file. If user supplies arguments with the script , then it works on those files... (1 Reply)
Discussion started by: rits
1 Replies

4. UNIX for Dummies Questions & Answers

$USER is not set in remsh but works fine via ssh login

1) ssh a@b echo $USER it display the correct value as a (even though i have not defined it in .profile) 2) remsh b -l a echo $USER it does not display the value as a (variable is not set any idea why $USER variable is not initialized when i login via remsh or rlogin but shows the... (10 Replies)
Discussion started by: reldb
10 Replies

5. UNIX for Dummies Questions & Answers

What is login and interactive shell?

Hi Guys, Excuse if am asking silly Que ... :rolleyes: Please explain me whats difference between login and interactive shell in Linux .. Have googled but still in doubt .. :confused: --Shirish Shukla (4 Replies)
Discussion started by: Shirishlnx
4 Replies

6. Shell Programming and Scripting

How to Login as another user through Shell script from current user[Not Root]

Hi Every body, I would need a shell script program to login as different user and perform some copy commands in the script. example: Supppose ora_toms is the active user ora_toms should be able to run a script where user: ftptomsp pass: XXX should login through and run the commands ... (9 Replies)
Discussion started by: ujjwal27
9 Replies

7. Solaris

HOW to set unlimited login attempts for user in Solaris?

Hi Admins, HOW to set unlimited login attempts for user in Solaris ? And do I need to insatll any packages before doing this? Thanks. (1 Reply)
Discussion started by: manalisharmabe
1 Replies

8. Homework & Coursework Questions

How to set for a user a non-login shell?

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I am a root in a Unix system. My shell is bash. 2. Relevant commands, code, scripts, algorithms: How to set... (1 Reply)
Discussion started by: me_me_me
1 Replies

9. UNIX for Beginners Questions & Answers

Non-interactive & non-login shell environment?

Hello and thanks in advance for any help anyone can offer to straighten me out on this subject I'm trying to understand non-interactive & non-login shells and having a hard time conceptualize the process a non-interactive & non-login shell goes through to start up. Particularly for background... (7 Replies)
Discussion started by: bodisha
7 Replies

10. Shell Programming and Scripting

Recording user input from interactive shell script

Hello, I want to start out by saying that I am fairly new to scripting and am looking for someone that can point me in the right direction. Basically what I need is a way to run a interactive script that will prompt users with questions weather that be yes/no or a specific answer.. I want to be... (3 Replies)
Discussion started by: shoutcast
3 Replies
SURFRAW-UPDATE-PATH(1)					User Contributed Perl Documentation				    SURFRAW-UPDATE-PATH(1)

NAME
surfraw-update-path - updates PATH in shell config files SYNOPSIS
surfraw-update-path [-add] [-remove] [-check] [-sys] [-all] [-help] [-shell=SHELL] DESCRIPTION
surfraw-update-path adds the surfraw elvi directory (/usr/lib/surfraw) to your PATH in your shell's config file. Currently it supports bash, sh, csh, tcsh, ash, dash, ksh, pdksh, zsh, rc, and es Don't forget to login again or source your login files for it to take effect. OPTIONS
-check Checks to see if the surfraw config code is present. This is the default. -add Adds the surfraw config code. -remove Removes the surfraw config code -sys Updates the system-wide shell config instead of the user. Must be done as root. -shell=SHELL Selects the shell to configure. Defaults to the value of the $SHELL environment variable. Currently supported shells are: sh, ash, bash, dash, csh, tcsh, ksh, pdksh, zsh, rc, and es. -all Attempts to configure the startup files for all known shells -help Gives a usage message RETURN VALUE
-check returns 0 if the surfraw code is present in the file, 1 if it is not found, or 2 on error. All other options return 0 on success, or 2 on error. ENVIRONMENT
SHELL Used to determine which shell to configure, if -shell is not given. HOME Used to find users config files. ENV Used by posix-compliant shells to specify a startup rc file. ZDOTDIR Used to find user config files for zsh. If not set, defaults to HOME. SEE ALSO
surfraw(1), sh(1), ash(1), bash(1), dash(1), csh(1), tcsh(1), ksh(1), pdksh(1), zsh(1), rc(1), es(1) AUTHOR
Ian Beckwith <ianb@erislabs.net> perl v5.12.4 2011-07-12 SURFRAW-UPDATE-PATH(1)
All times are GMT -4. The time now is 05:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy