Sponsored Content
Full Discussion: Bash script to change user
Top Forums Shell Programming and Scripting Bash script to change user Post 303045685 by Ann157 on Wednesday 8th of April 2020 11:21:55 AM
Old 04-08-2020
Bash script to change user

So, I need to write bash file that will
1) get name of the user you want to switch to
2) check if there is such user
3) check length of entered name of user
4) and change user
My script looks like this
Code:
read $user_name
if ( ! [[ $(cat /etc/passwd | grep $user_name) ]] ) then echo "error. There is no such user" exit 1 fi
if (( $(expr length $user_name) >= 30 ))
then echo "error" exit 1 fi
sudo su $user_name 
exit 0

But if I enter existing user it shows error message
Where is my mistake?

Moderator's Comments:
Mod Comment
Please use code tags when posting data and code samples!

Last edited by vgersh99; 04-08-2020 at 01:20 PM.. Reason: code tags, please!
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

change user through shell script

hi, my problem is that i am calling a script from my perl program. the script checks wether a particular process is running or not if the process is not running then it should start the process. the problem here is that the front end logs into backend with a user which does not have the... (0 Replies)
Discussion started by: raviraushanjha
0 Replies

2. Shell Programming and Scripting

How do i change to super user then revert back to ordinary user ,using shell script?

Hi all, I am trying to eject the cdrom from a livecd after certain stage... Now assuming that it is possible to eject,please consider my issue!!! The OS boots into a regular user by default...so i am unable to use the eject command to push out the drive... However if i try pfexec eject it... (3 Replies)
Discussion started by: wrapster
3 Replies

3. Shell Programming and Scripting

Unable to change environment variables in bash script

Hello! For the moment some settings in my .bashrc contain the password of my company's firewall, which is not a good idea. I would like to use the string "PASSWORD" set in .bashrc and a script that changes all appearances of "PASSWORD" in the environment variables by the actual password (which... (4 Replies)
Discussion started by: markolopa
4 Replies

4. Shell Programming and Scripting

Shell Script to change a user password using script

Hi Experts, I had tried to executes this script to change the user password through script: No lines in buffer #!/bin/ksh cat /etc/passwd | grep -v userid >> /tmp/pass.tmp1 cat /etc/passwd | grep userid >> /tmp/pass.tmp2 PASS1=`cat /tmp/pass.tmp2 | cut -d ":" -f2` PASS2=`q2w3e4r5` sed... (3 Replies)
Discussion started by: indrajit_renu
3 Replies

5. UNIX for Dummies Questions & Answers

BASH: Change alias to script to add a task

Hi. I use an alias, "homeperm" as shorthand for curl -o. Since most of what I download via cUrl is graphic image files -- jpeg files -- I'd like to be able to change this alias to a script, or use it to invoke a function, which will not only download the file but date-stamp it using Exiv2 in... (4 Replies)
Discussion started by: SilversleevesX
4 Replies

6. UNIX for Dummies Questions & Answers

Change user passwords using shell script

Hi, I want to change the password of unix users on a number of servers.My plan was to ssh to all the servers in a shell script and use the passwd command. I tried to do so but everytime i run it i get this error. ssh -x -n -l user1 host passwd Changing password for "user1" 3004-709 Error... (3 Replies)
Discussion started by: poojabhat
3 Replies

7. Shell Programming and Scripting

Change user in script

i have a script that needs to be run as a specific user. lets call this specific user "skysmart". sure, i can check the username of the person running the script and if it isn't "skysmart", simply abort with a descriptive error message. but then, that would require the user to have to "sudo su... (6 Replies)
Discussion started by: SkySmart
6 Replies

8. Shell Programming and Scripting

Is it possible to change paths inside a bash script?

i have some script with some paths inside it. The idea is to some files which is on desktop copy and move to another location. Problem is that inside script is similar to this: cp test1.zip /root/help/ because I allways have another zip files, does it possible to have some input which ask me... (18 Replies)
Discussion started by: tomislav91
18 Replies

9. Shell Programming and Scripting

Change directory within a bash shell script

Hi, I have been trying to execute the below command by changing directory and then copying contents of one directory to another by doing some file name manipulations in between. However this isnt working since as soon as the statement completes it goes back to the original folder. Can someone... (5 Replies)
Discussion started by: HikingLife
5 Replies
chsh(1) 						      General Commands Manual							   chsh(1)

NAME
chsh - change login shell SYNOPSIS
chsh [-D binddn] [-P path] [-s shell] [-l] [-q] [-u] [-v] [user] DESCRIPTION
chsh is used to change the user login shell. A normal user may only change the login shell for their own account, the super user may change the login shell for any account. If a shell is not given on the command line, chsh operates in an interactive fashion, prompting the user with the current login shell. Enter the new value to change the field, or leave the line blank to use the current value. Enter none to remove the current value. The current value is displayed between a pair of [ ] marks. The only restrictions placed on the login shell is that the command name must be listed in /etc/shells, unless the invoker is the super- user, and then any value may be added. An account with a restricted login shell may not change their login shell. This version of chsh is able to change the shell of local, NIS, NIS+ and LDAP accounts , if the permissions allow it. OPTIONS
-D, --binddn binddn Use the Distinguished Name binddn to bind to the LDAP directory. The user will be prompted for a password for simple authentica- tion. -P, --path path The passwd file is located below the specified directory path. chsh will use this files, not /etc/passwd. This is useful for exam- ple on NIS master servers, where you do not want to give all users in the NIS database automatic access to your NIS server and the NIS map is build from special files. -s, --shell Specify your login shell. -l, --list-shells Print the list of shells listed in /etc/shells and exit. -q, --quite Don't be verbose. -u, --usage Print a usage message and exit. --help Print a more verbose help text and exit. -v, --version Print version information and exit. FILES
/etc/passwd - user account information /etc/shells - list of valid login shells SEE ALSO
chfn(1), passwd(5), shells(5) AUTHOR
Thorsten Kukuk <kukuk@suse.de> pwdutils February 2004 chsh(1)
All times are GMT -4. The time now is 06:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy