Sponsored Content
Homework and Emergencies Emergency UNIX and Linux Support Limiting a user to a script upon login, nothing else. Post 302385270 by Corona688 on Thursday 7th of January 2010 04:00:49 PM
Old 01-07-2010
Quote:
Originally Posted by jgt
Replace the shell in /etc/passwd with the name of the script.
Depending on the system you may also need to add it to /etc/shells in order to allow it. But otherwise, this should work well for most UNIX systems -- the original script gets run directly, with no intermediate commands the user can interrupt, redirect, fold, spindle, or mutilate.

Note that it becomes your script's responsibility to set up its environment properly since there's no longer a login shell to do that for it -- it is the login shell Smilie

For further restriction yet your script could use a feature-restricted shell like /bin/rbash, which greatly reduces the shenanigans possible even if the user somehow manages to inject arbitrary input into your script. Or just make the user's login /bin/rbash and call your script from their bashrc files.

Last edited by Corona688; 01-07-2010 at 05:08 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

user login script question

hi all, what file(s) needs to be changed and in what way in order to do the following: when user A logs onto freebsd 4.8 automaticaly he needs to start up a script a made that executes: sets ltp0 in polling mode, executes tn5250 keyboard mapping starts tn5250 with the correct parameters. ... (2 Replies)
Discussion started by: termiEEE
2 Replies

2. Shell Programming and Scripting

User Login Monitor Script

I need some help writing a script that I can run as a cron job. I want this script to be able find all the users that have logged on to this machine since the last time the script was run (plan to run daily at 11:30pm, so everyone who logged on that day) and email me who logged on, and when. ... (2 Replies)
Discussion started by: Drewser
2 Replies

3. AIX

Limiting length of user in while creating user

Hi all, I am a newbe to aix 5.2. I want to specify the characters used by users while creating user in aix like specifying the length of the password should i use some sript for that if it is then please let me know how to do this if yes give me the link for the scripts. Thanks in advance ... (2 Replies)
Discussion started by: Satya Mishra
2 Replies

4. Shell Programming and Scripting

login to different user completely within the script

I am trying to write a script where I would login to a userid with id and password while staying completely within the script. I am doing this in order to edit a file where I change permissions. The objective is to allow one user only to edit a file. This is what I have now. cd $HOME/data ... (1 Reply)
Discussion started by: yakdiver
1 Replies

5. Shell Programming and Scripting

limiting data inputs for the user

if my user has to enter the name of months to carry out a search how can I limit the input values to only the month names and nothing else? so far my input criteria for the user is this: i would like it so the user can only enter the months in the way i have stated. otherwise they would... (11 Replies)
Discussion started by: amatuer_lee_3
11 Replies

6. Shell Programming and Scripting

Running script from other user rather than login user

Hi, My requirement is that i am login from ROOT in a script but when any command is coming which is logging to sqlplus then i have to run it with normal user as only normal user have permission to connect to sqlplus . i tried making a script like this : #! /bin/ksh su -... (3 Replies)
Discussion started by: rawatds
3 Replies

7. UNIX for Dummies Questions & Answers

User login monitoring script.

Hi guys, I'm need to write a script that runs an infinite loop to check users that login/out of a server. I'm just not sure about the syntax with while loops and whether or not you can include a nested if-statement? Cheers Spaulds (2 Replies)
Discussion started by: Spaulds
2 Replies

8. UNIX for Dummies Questions & Answers

Limiting User mailbox size in /var/spool

How can one limit the size of user mailboxes in /var/spool/mail? (0 Replies)
Discussion started by: proactiveaditya
0 Replies

9. 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

10. Shell Programming and Scripting

Login into another user from user inside script

now i have logged in username : ramesh in unix Now i have to created script file to login into another user and have run a command inside that user and after executing the command i have to exit from that user. Inside script, i have to login into su - ram along with password : haihow and have to... (4 Replies)
Discussion started by: rammm
4 Replies
chsh(1) 						      General Commands Manual							   chsh(1)

NAME
chsh - change default login shell SYNOPSIS
login-name [shell] login-name [shell] login-name [shell] login-name [shell] DESCRIPTION
The command changes the login-shell for a user's login name in the repository (see passwd(1)). The DCE repository is only available if Integrated Login has been configured; see auth.adm(1M). If Integrated Login has been configured, other considerations apply. A user with appropriate DCE privileges is capable of modifying a user's shell; this is not dependent upon superuser privileges. If the repository is not specified (as in [login-name]), the login shell is changed in the file only. Run after running to make sure the information was processed correctly. Notes The command is a hard link to the command. When is executed, actually the command gets executed with appropriate arguments to change the user login shell in the repository specified in command line. If no repository is specified, the login shell is changed in the file. Arguments login-name A login name of a user. shell The absolute path name of a shell. If the file exists, the new login shell must be listed in that file. Otherwise, you can specify one of the standard shells listed in the getusershell(3C) manual entry. If shell is omitted, it defaults to the POSIX shell, Options The following option is recognized: Specify the repository to which the operation is to be applied. Supported repositories include and Security Restrictions You must have appropriate privileges to use the optional login-name argument to change another user's login shell. NETWORKING FEATURES
NFS File can be implemented as a Network Information Service (NIS) database. EXAMPLES
To change the login shell for user to the default: To change the login shell for user to the C shell: To change the login shell for user to the Korn shell in the DCE registry: WARNINGS
If two or more users try to write the file at the same time, a passwd locking mechanism was devised. If this locking fails after subse- quent retrying, terminates. AUTHOR
was developed by HP and the University of California, Berkeley. FILES
SEE ALSO
chfn(1), csh(1), ksh(1), passwd(1), sh(1), sh-posix(1), getusershell(3C), pam(3), passwd(4), shells(4). chsh(1)
All times are GMT -4. The time now is 05:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy