Skip to content

Commit 3e27656

Browse files
committed
Set default password to EC2 instance if exists
1 parent cadc391 commit 3e27656

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

src/main/java/com/keybox/common/db/DBInitServlet.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@
2525
import javax.servlet.ServletConfig;
2626
import javax.servlet.ServletException;
2727
import javax.servlet.annotation.WebServlet;
28+
import java.io.File;
2829
import java.sql.Connection;
2930
import java.sql.PreparedStatement;
3031
import java.sql.ResultSet;
3132
import java.sql.Statement;
3233
import java.util.Scanner;
3334

35+
import org.apache.commons.io.FileUtils;
3436
import org.apache.commons.lang.RandomStringUtils;
3537
import org.apache.commons.lang3.StringUtils;
3638
import org.slf4j.Logger;
@@ -123,11 +125,20 @@ public void init(ServletConfig config) throws ServletException {
123125
statement.executeUpdate("create table if not exists session_log (id BIGINT PRIMARY KEY AUTO_INCREMENT, session_tm timestamp default CURRENT_TIMESTAMP, first_nm varchar, last_nm varchar, username varchar not null, ip_address varchar)");
124126
statement.executeUpdate("create table if not exists terminal_log (session_id BIGINT, instance_id INTEGER, output varchar not null, log_tm timestamp default CURRENT_TIMESTAMP, display_nm varchar not null, user varchar not null, host varchar not null, port INTEGER not null, foreign key (session_id) references session_log(id) on delete cascade)");
125127

126-
//insert default admin user
128+
//if exists readfile to set default password
127129
String salt = EncryptionUtil.generateSalt();
130+
String defaultPassword = EncryptionUtil.hash("changeme" + salt);
131+
File file = new File("/opt/keybox/instance_id");
132+
if (file.exists()) {
133+
String str = FileUtils.readFileToString(file, "UTF-8");
134+
if(StringUtils.isNotEmpty(str)) {
135+
defaultPassword = EncryptionUtil.hash(str.trim() + salt);
136+
}
137+
}
138+
//insert default admin user
128139
PreparedStatement pStmt = connection.prepareStatement("insert into users (username, password, user_type, salt) values(?,?,?,?)");
129140
pStmt.setString(1, "admin");
130-
pStmt.setString(2, EncryptionUtil.hash("changeme" + salt));
141+
pStmt.setString(2, defaultPassword);
131142
pStmt.setString(3, Auth.MANAGER);
132143
pStmt.setString(4, salt);
133144
pStmt.execute();

0 commit comments

Comments
 (0)