Sie sind auf Seite 1von 12

8/13/2018 Create Users And Change Passwords With A Bash Script

English | Deutsch Log in or Sign up

Search...

Tutorials Tags Forums Linux Commands Subscribe ISPConfig News

 Tutorial search

Tutorials Create Users And Change Passwords With A Bash Script

Ad Scan your Web-Server for Malware with ISPProtect now. Get Free Trial.

On this page
Create Users And Change Passwords With A
Bash Script Create Users And Change Passwords With A Bash Script

These two scripts are very important for the system admin who regularly
works with mail servers and somehow forgets to backup his system username and password! Let’s say somehow we lost the usernames and
passwords of the mail server. In this case the admin has to manually create all the users and then change the passwords for all the users.
Tedious job. Let’s make our life easier.

First create a file which contains all the user name. Something like this:

nurealam
nayeem
mrahman
farid
rubi
sankar

https://www.howtoforge.com/user_password_creating_with_a_bash_script 1/12
8/13/2018 Create Users And Change Passwords With A Bash Script

Save the file as userlist.txt. Now create the following bash file:

#!/bin/sh
for i in `more userlist.txt `
do
echo $i
adduser $i
done

Save the file and exit.

chmod 755 userlist.txt

Now run the file:

./userlist.txt

This will add all the users to the system. Now we have to change the passwords. Let's say we want username123 as password. So for user
nayeem the password will be nayeem123, rubi123 for user rubi and so on.

Create another bash file as follows:

#!/bin/sh
for i in `more userlist.txt `
do
echo $i
echo $i"123" | passwd –-stdin "$i"
echo; echo "User $username’s password changed!"
done

Run the file. All the passwords are changed.

https://www.howtoforge.com/user_password_creating_with_a_bash_script 2/12
8/13/2018 Create Users And Change Passwords With A Bash Script

view as pdf | print

Share this page:

Suggested articles

https://www.howtoforge.com/user_password_creating_with_a_bash_script 3/12
8/13/2018 Create Users And Change Passwords With A Bash Script

20 Comment(s)
Add comment
Name * Email *

    

p

Submit comment
I'm not a robot
reCAPTCHA
Privacy - Terms

Comments

From: Reply

Just something that should be considered. Force all your users to change their passwords because the temporary password is a security risk
#!/bin/sh
for i in `more userlist.txt `
do
echo $i
echo $i | change -d 0 "$i"

https://www.howtoforge.com/user_password_creating_with_a_bash_script 4/12
8/13/2018 Create Users And Change Passwords With A Bash Script

echo; echo "User $i will be forced to change password on next login!"


done
I then log as that user and see this

WARNING: Your password has expired.


You must change your password now and login again!
Changing password for user amcorona.
Changing password for amcorona
(current) UNIX password:

From: Anonymous Reply

You might want to check what you have written in the article as you would not want to save your bash script and then try and execute a file
containing usernames.
chmod 755 userlist.txt
Now run the file:
./userlist.txt
;)

From: ravindra Reply

This script works. Thanks

From: Anonymous Reply

want to create multiple users with in /home with dir same as username and set permisson for every user to there respective dir.
want to set password for all user same as i need how to do it for multiple users in this script

From: Jim Reply

https://www.howtoforge.com/user_password_creating_with_a_bash_script 5/12
8/13/2018 Create Users And Change Passwords With A Bash Script

echo $i | change -d 0 "$i"


should be
echo $i | chage -d 0 "$i"
And if you are not running these scripts as root you will need to put sudo in the commands with explicit paths. Of course with sudo it will
prompt you for a password unless you are in a sudoers group with NOPASSWD:
On SuSE:
# which chage
/usr/bin/chage

# which passwd
/usr/bin/passwd

From: Anonymous Reply

I try this in Ubuntu and seems not working :(

From: Ankur Reply

There is some problem in the password script, I have checked with the below script it's working fine.

#!/bin/sh
for i in `more userlist.txt `
do
echo $i
echo $i"123" | passwd "$i" --stdin
echo; echo "User $username's password changed!"
done

Regards,
Ankur

From: Anonymous Reply

https://www.howtoforge.com/user_password_creating_with_a_bash_script 6/12
8/13/2018 Create Users And Change Passwords With A Bash Script

Thanks for the script.. Its working..

From: Sander Smit Reply

When I follow these steps ik get a message:


./userlist.txt line1: NKokmeijer: command not found
./userlist.txt line2: FLuursen: command not found
./userlist.txt line3: SNiezen: command not found
./userlist.txt line4: GBielen: command not found
What is going wrong?

From: Jeet Reply

you need to make few changes like inside the bash file theire is adduser line, replace it with useradd and run script as "sh sciptname.sh" in
case you are working with redhat linux.

Thanks.

From: John Reply

Excellent! I had used a script to create multiple users, but I forgot to include passwords in the script. Your script helped me change their
passwords on multiple servers. Thanks for posting this.

From: Gopi Reply

Give me steps how to created the commentline for the different users in this same script?

From: Eric Dalton Reply

so all this info is good to know, but my question is what syntax do i use to create a script that prints all the data from
/etc/passwd while also having it sorted. To aid with user managment being able to look over a complet list of current users while creating new
users. Any and All assistance is greatly appriciated.

https://www.howtoforge.com/user_password_creating_with_a_bash_script 7/12
8/13/2018 Create Users And Change Passwords With A Bash Script

From: jon Reply

i not get clear what name to put for the bash file

From: Tùng LS Reply

I recommend you to create a file with username & password. Then the script will read the username and password from file and create user:
The file userlist.txt format:
username1 p@assword1
username2 p@assword2
..etc
The shell script:
#!/bin/bash
while read u1 p1
do
echo Username: $u1 Password: $p1 created
adduser $u1
echo $p1 | passwd --stdin "$u1"
echo Username: $u1 Password: $p1 created
done < userlist.txt
last, run the script as root:
sh createuser.sh
or:
chmode +x createuser.sh
./createuser.sh

From: Pich Chhoun Reply

When i run this script it alert "command in userlist.txt not found"

From: afif Reply

https://www.howtoforge.com/user_password_creating_with_a_bash_script 8/12
8/13/2018 Create Users And Change Passwords With A Bash Script

dear,
I need to change database user passwd in mysql.
like as: i have db user name is openexchange and db name is oxdatabase_5, this database i have many user and passwd. i need to a bash script
which change user pass from oxdatabase_5 from http client interface.
i am using mail server for change their passwd.

From: Derek Reply

If I have a text document that is instead formatted like this:

Name:Address:Phone:Email
Name:Address:Phone:Email

How would I implement it in this code to adjust for that? I'm trying to learn and I'm not too familiar with what each command does!

From: Lau Reply

This doesn't work when i run it, it will create new user but does not change the password
this is the error msg :-
passwd: Only one user name may be specified.

From: Monish Reply

seems you need to modify below parameters. It should look like echo $i"123" | passwd "$i" --stdin
echo $i"123" | passwd –-stdin "$i"

Tutorials Create Users And Change Passwords With A Bash Script

https://www.howtoforge.com/user_password_creating_with_a_bash_script 9/12
8/13/2018 Create Users And Change Passwords With A Bash Script

Sign up now!

 Tutorial Info

Author: fakrul
Tags: linux

 Share This Page

40.2k Followers

https://www.howtoforge.com/user_password_creating_with_a_bash_script 10/12
8/13/2018 Create Users And Change Passwords With A Bash Script

 Popular Tutorials

How to Install Nvidia CUDA Toolkit on Ubuntu 18.04


LTS

https://www.howtoforge.com/user_password_creating_with_a_bash_script 11/12
8/13/2018 Create Users And Change Passwords With A Bash Script

Suricata IDS with ELK and Web Frontend on Ubuntu


18.04 LTS

Monitor Network Traffic with Ntopng on Ubuntu


18.04 LTS

How to use grep to search for strings in files on the


shell

The Perfect Server - Ubuntu 18.04 (Bionic Beaver)


with Apache, PHP, MySQL, PureFTPD, BIND, Postfix,
Dovecot and ISPConfig 3.1

How to Install InvoicePlane on Ubuntu 18.04 LTS

How to Setup IKEv2 VPN Using Strongswan and


Let's encrypt on CentOS 7

How to Install Ruby on Rails on Ubuntu 18.04 LTS

How to use the Linux ftp command to up- and


download files on the shell

Setting, Changing And Resetting MySQL Root


Passwords

Xenforo skin by Xenfocus Contribute Contact Help Imprint and Legal Notice Tutorials Top 

Howtoforge © projektfarm GmbH. Terms and Rules Privacy Policy

https://www.howtoforge.com/user_password_creating_with_a_bash_script 12/12

Das könnte Ihnen auch gefallen