Today when writing a shell script to find the need to set the user's password, and the setting of the password is interactive, so in the script is obviously not very good, so the Internet to find information, found the following two non-interactive set of password methods:
1. Using CHPASSWD
CHPASSWD is actually through the user input ' user name: password ' To change a set of user's password, or a batch password can be modified tool, the specific usage see CHPASSWD usage, here only to do a simple introduction
Format: # echo User name: password | chpasswd
For example, to add a LINUXIDC account, the password is 123456, the instructions are as follows
# echo linuxidc:123456 | chpasswd
2. Using passwd and--stdin combination
passwd default is to use the terminal as the standard input, and--stdin means that you can use any file to do standard input, these two mates can directly modify the password
Format: # echo ' Password ' | passwd--stdin User Name
Or add a LINUXIDC account, the password is 123456, the instructions are as follows
# echo ' 123456 ' | passwd--stdin LINUXIDC
This allows you to modify the password in non-interactive mode, but it is not supported for some embedded Linux, and can be implemented using export.
Linux/centos shell script non-interactive password change