Skip to content

Commit c1dad6c

Browse files
committed
ubuntu compatible password change function
1 parent 9784389 commit c1dad6c

File tree

5 files changed

+22
-16
lines changed

5 files changed

+22
-16
lines changed

bin/v-add-user

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,23 @@ pkg_data=$(cat $VESTA/data/packages/$package.pkg |grep -v TIME |grep -v DATE)
5959

6060
# Checking shell
6161
shell_conf=$(echo "$pkg_data" | grep 'SHELL' | cut -f 2 -d \')
62-
shell=$(/usr/bin/chsh --list-shells | grep -w "$shell_conf" |head -n1)
62+
shell=$(grep -w "$shell_conf" /etc/shells |head -n1)
6363

6464
# Adding user
65-
/usr/sbin/adduser "$user" -s "$shell" -c "$email" -m -d "$HOMEDIR/$user"
65+
/usr/sbin/useradd "$user" -s "$shell" -c "$email" -m -d "$HOMEDIR/$user"
66+
if [ $? -ne 0 ]; then
67+
echo "Error: user creation failed"
68+
log_event "$E_INVALID" "$EVENT"
69+
exit $E_INVALID
70+
fi
6671

6772
# Adding password
68-
echo "$password" | /usr/bin/passwd "$user" --stdin &>/dev/null
73+
echo "$user:$password" | /usr/sbin/chpasswd
6974

7075
# Building directory tree
7176
mkdir $HOMEDIR/$user/conf
7277

73-
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
78+
if [ ! -z "$WEB_SYSTEM" ]; then
7479
mkdir $HOMEDIR/$user/conf/web
7580
mkdir $HOMEDIR/$user/web
7681
mkdir $HOMEDIR/$user/tmp
@@ -81,14 +86,14 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
8186
chown $user:$user $HOMEDIR/$user/tmp
8287
fi
8388

84-
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
89+
if [ ! -z "$MAIL_SYSTEM" ]; then
8590
mkdir $HOMEDIR/$user/conf/mail
8691
mkdir $HOMEDIR/$user/mail
8792
chmod 751 $HOMEDIR/$user/mail
8893
chmod 751 $HOMEDIR/$user/conf/mail
8994
fi
9095

91-
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
96+
if [ ! -z "$DNS_SYSTEM" ]; then
9297
mkdir $HOMEDIR/$user/conf/dns
9398
chmod 751 $HOMEDIR/$user/conf/dns
9499
fi
@@ -99,7 +104,7 @@ chmod a+x $HOMEDIR/$user
99104
chattr +i $HOMEDIR/$user/conf
100105

101106
# Checking quota
102-
if [ ! -z "$DISK_QUOTA" ] && [ "$DISK_QUOTA" != 'no' ]; then
107+
if [ ! -z "$DISK_QUOTA" ]; then
103108
DISK_QUOTA=$(echo "$pkg_data" | grep 'DISK_QUOTA' | cut -f 2 -d \')
104109
#$BIN/v-add-user_quota "$user" "$DISK_QUOTA"
105110
fi
@@ -123,7 +128,7 @@ chmod 660 $USER_DATA/stats.log
123128

124129
echo "$BIN/v-update-user-disk $user" >> $VESTA/data/queue/disk.pipe
125130

126-
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
131+
if [ ! -z "$WEB_SYSTEM" ]; then
127132
mkdir $USER_DATA/ssl
128133
chmod 770 $USER_DATA/ssl
129134
touch $USER_DATA/web.conf
@@ -133,28 +138,28 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
133138
echo "$BIN/v-update-web-domains-disk $user" >> $VESTA/data/queue/disk.pipe
134139
fi
135140

136-
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
141+
if [ ! -z "$DNS_SYSTEM" ]; then
137142
mkdir $USER_DATA/dns
138143
chmod 770 $USER_DATA/dns
139144
touch $USER_DATA/dns.conf
140145
chmod 660 $USER_DATA/dns.conf
141146
fi
142147

143-
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
148+
if [ ! -z "$MAIL_SYSTEM" ]; then
144149
mkdir $USER_DATA/mail
145150
chmod 770 $USER_DATA/mail
146151
touch $USER_DATA/mail.conf
147152
chmod 660 $USER_DATA/mail.conf
148153
echo "$BIN/v-update-mail-domains-disk $user" >> $VESTA/data/queue/disk.pipe
149154
fi
150155

151-
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
156+
if [ ! -z "$DB_SYSTEM" ]; then
152157
touch $USER_DATA/db.conf
153158
chmod 660 $USER_DATA/db.conf
154159
echo "$BIN/v-update-databases-disk $user" >> $VESTA/data/queue/disk.pipe
155160
fi
156161

157-
if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then
162+
if [ ! -z "$CRON_SYSTEM" ]; then
158163
touch $USER_DATA/cron.conf
159164
chmod 660 $USER_DATA/cron.conf
160165
fi

bin/v-add-web-domain-ftp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ fi
6868
-M -d "$HOMEDIR/$user/web/$domain" \
6969
$ftp_user > /dev/null 2>&1
7070

71-
echo "$ftp_password" | /usr/bin/passwd "$ftp_user" --stdin &>/dev/null
71+
echo "$ftp_user:$ftp_password" | /usr/sbin/chpasswd
7272
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
7373

7474

bin/v-change-user-password

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ is_object_unsuspended 'user' 'USER' "$user"
3838
#----------------------------------------------------------#
3939

4040
# Changing user password
41-
echo "$password" | /usr/bin/passwd "$user" --stdin &>/dev/null
41+
echo "$user:$password" | /usr/sbin/chpasswd
4242
md5=$(awk -v user=$user -F : 'user == $1 {print $2}' /etc/shadow)
4343

4444

bin/v-change-user-shell

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ is_object_unsuspended 'user' 'USER' "$user"
3333
#----------------------------------------------------------#
3434

3535
# Get shell full path
36-
shell_path=$(/usr/bin/chsh --list-shells | grep -w "$shell" |head -n1)
36+
shell_path=$(grep -w "$shell" /etc/shells | head -n1)
3737

3838
# Changing passwd file
3939
/usr/bin/chsh -s "$shell_path" "$user" &>/dev/null

bin/v-change-web-domain-ftp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ is_object_value_empty 'web' 'DOMAIN' "$domain" '$FTP_USER'
4343
# Adding user
4444
/usr/sbin/adduser $ftp_user -g $user -s /sbin/nologin -M \
4545
-d "$HOMEDIR/$user/web/$domain" > /dev/null 2>&1
46-
echo "$ftp_password" | /usr/bin/passwd "$ftp_user" --stdin &>/dev/null
46+
echo "$ftp_user:$ftp_password" | /usr/sbin/chpasswd
47+
4748
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
4849

4950

0 commit comments

Comments
 (0)