mirror of
https://github.com/myvesta/vesta
synced 2025-08-20 13:24:25 -07:00
ubuntu compatible password change function
This commit is contained in:
parent
9784389766
commit
c1dad6ce08
5 changed files with 22 additions and 16 deletions
|
@ -59,18 +59,23 @@ pkg_data=$(cat $VESTA/data/packages/$package.pkg |grep -v TIME |grep -v DATE)
|
||||||
|
|
||||||
# Checking shell
|
# Checking shell
|
||||||
shell_conf=$(echo "$pkg_data" | grep 'SHELL' | cut -f 2 -d \')
|
shell_conf=$(echo "$pkg_data" | grep 'SHELL' | cut -f 2 -d \')
|
||||||
shell=$(/usr/bin/chsh --list-shells | grep -w "$shell_conf" |head -n1)
|
shell=$(grep -w "$shell_conf" /etc/shells |head -n1)
|
||||||
|
|
||||||
# Adding user
|
# Adding user
|
||||||
/usr/sbin/adduser "$user" -s "$shell" -c "$email" -m -d "$HOMEDIR/$user"
|
/usr/sbin/useradd "$user" -s "$shell" -c "$email" -m -d "$HOMEDIR/$user"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Error: user creation failed"
|
||||||
|
log_event "$E_INVALID" "$EVENT"
|
||||||
|
exit $E_INVALID
|
||||||
|
fi
|
||||||
|
|
||||||
# Adding password
|
# Adding password
|
||||||
echo "$password" | /usr/bin/passwd "$user" --stdin &>/dev/null
|
echo "$user:$password" | /usr/sbin/chpasswd
|
||||||
|
|
||||||
# Building directory tree
|
# Building directory tree
|
||||||
mkdir $HOMEDIR/$user/conf
|
mkdir $HOMEDIR/$user/conf
|
||||||
|
|
||||||
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
|
if [ ! -z "$WEB_SYSTEM" ]; then
|
||||||
mkdir $HOMEDIR/$user/conf/web
|
mkdir $HOMEDIR/$user/conf/web
|
||||||
mkdir $HOMEDIR/$user/web
|
mkdir $HOMEDIR/$user/web
|
||||||
mkdir $HOMEDIR/$user/tmp
|
mkdir $HOMEDIR/$user/tmp
|
||||||
|
@ -81,14 +86,14 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
|
||||||
chown $user:$user $HOMEDIR/$user/tmp
|
chown $user:$user $HOMEDIR/$user/tmp
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
|
if [ ! -z "$MAIL_SYSTEM" ]; then
|
||||||
mkdir $HOMEDIR/$user/conf/mail
|
mkdir $HOMEDIR/$user/conf/mail
|
||||||
mkdir $HOMEDIR/$user/mail
|
mkdir $HOMEDIR/$user/mail
|
||||||
chmod 751 $HOMEDIR/$user/mail
|
chmod 751 $HOMEDIR/$user/mail
|
||||||
chmod 751 $HOMEDIR/$user/conf/mail
|
chmod 751 $HOMEDIR/$user/conf/mail
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
|
if [ ! -z "$DNS_SYSTEM" ]; then
|
||||||
mkdir $HOMEDIR/$user/conf/dns
|
mkdir $HOMEDIR/$user/conf/dns
|
||||||
chmod 751 $HOMEDIR/$user/conf/dns
|
chmod 751 $HOMEDIR/$user/conf/dns
|
||||||
fi
|
fi
|
||||||
|
@ -99,7 +104,7 @@ chmod a+x $HOMEDIR/$user
|
||||||
chattr +i $HOMEDIR/$user/conf
|
chattr +i $HOMEDIR/$user/conf
|
||||||
|
|
||||||
# Checking quota
|
# Checking quota
|
||||||
if [ ! -z "$DISK_QUOTA" ] && [ "$DISK_QUOTA" != 'no' ]; then
|
if [ ! -z "$DISK_QUOTA" ]; then
|
||||||
DISK_QUOTA=$(echo "$pkg_data" | grep 'DISK_QUOTA' | cut -f 2 -d \')
|
DISK_QUOTA=$(echo "$pkg_data" | grep 'DISK_QUOTA' | cut -f 2 -d \')
|
||||||
#$BIN/v-add-user_quota "$user" "$DISK_QUOTA"
|
#$BIN/v-add-user_quota "$user" "$DISK_QUOTA"
|
||||||
fi
|
fi
|
||||||
|
@ -123,7 +128,7 @@ chmod 660 $USER_DATA/stats.log
|
||||||
|
|
||||||
echo "$BIN/v-update-user-disk $user" >> $VESTA/data/queue/disk.pipe
|
echo "$BIN/v-update-user-disk $user" >> $VESTA/data/queue/disk.pipe
|
||||||
|
|
||||||
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
|
if [ ! -z "$WEB_SYSTEM" ]; then
|
||||||
mkdir $USER_DATA/ssl
|
mkdir $USER_DATA/ssl
|
||||||
chmod 770 $USER_DATA/ssl
|
chmod 770 $USER_DATA/ssl
|
||||||
touch $USER_DATA/web.conf
|
touch $USER_DATA/web.conf
|
||||||
|
@ -133,14 +138,14 @@ if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then
|
||||||
echo "$BIN/v-update-web-domains-disk $user" >> $VESTA/data/queue/disk.pipe
|
echo "$BIN/v-update-web-domains-disk $user" >> $VESTA/data/queue/disk.pipe
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then
|
if [ ! -z "$DNS_SYSTEM" ]; then
|
||||||
mkdir $USER_DATA/dns
|
mkdir $USER_DATA/dns
|
||||||
chmod 770 $USER_DATA/dns
|
chmod 770 $USER_DATA/dns
|
||||||
touch $USER_DATA/dns.conf
|
touch $USER_DATA/dns.conf
|
||||||
chmod 660 $USER_DATA/dns.conf
|
chmod 660 $USER_DATA/dns.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
|
if [ ! -z "$MAIL_SYSTEM" ]; then
|
||||||
mkdir $USER_DATA/mail
|
mkdir $USER_DATA/mail
|
||||||
chmod 770 $USER_DATA/mail
|
chmod 770 $USER_DATA/mail
|
||||||
touch $USER_DATA/mail.conf
|
touch $USER_DATA/mail.conf
|
||||||
|
@ -148,13 +153,13 @@ if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then
|
||||||
echo "$BIN/v-update-mail-domains-disk $user" >> $VESTA/data/queue/disk.pipe
|
echo "$BIN/v-update-mail-domains-disk $user" >> $VESTA/data/queue/disk.pipe
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then
|
if [ ! -z "$DB_SYSTEM" ]; then
|
||||||
touch $USER_DATA/db.conf
|
touch $USER_DATA/db.conf
|
||||||
chmod 660 $USER_DATA/db.conf
|
chmod 660 $USER_DATA/db.conf
|
||||||
echo "$BIN/v-update-databases-disk $user" >> $VESTA/data/queue/disk.pipe
|
echo "$BIN/v-update-databases-disk $user" >> $VESTA/data/queue/disk.pipe
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then
|
if [ ! -z "$CRON_SYSTEM" ]; then
|
||||||
touch $USER_DATA/cron.conf
|
touch $USER_DATA/cron.conf
|
||||||
chmod 660 $USER_DATA/cron.conf
|
chmod 660 $USER_DATA/cron.conf
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -68,7 +68,7 @@ fi
|
||||||
-M -d "$HOMEDIR/$user/web/$domain" \
|
-M -d "$HOMEDIR/$user/web/$domain" \
|
||||||
$ftp_user > /dev/null 2>&1
|
$ftp_user > /dev/null 2>&1
|
||||||
|
|
||||||
echo "$ftp_password" | /usr/bin/passwd "$ftp_user" --stdin &>/dev/null
|
echo "$ftp_user:$ftp_password" | /usr/sbin/chpasswd
|
||||||
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
|
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ is_object_unsuspended 'user' 'USER' "$user"
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Changing user password
|
# Changing user password
|
||||||
echo "$password" | /usr/bin/passwd "$user" --stdin &>/dev/null
|
echo "$user:$password" | /usr/sbin/chpasswd
|
||||||
md5=$(awk -v user=$user -F : 'user == $1 {print $2}' /etc/shadow)
|
md5=$(awk -v user=$user -F : 'user == $1 {print $2}' /etc/shadow)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ is_object_unsuspended 'user' 'USER' "$user"
|
||||||
#----------------------------------------------------------#
|
#----------------------------------------------------------#
|
||||||
|
|
||||||
# Get shell full path
|
# Get shell full path
|
||||||
shell_path=$(/usr/bin/chsh --list-shells | grep -w "$shell" |head -n1)
|
shell_path=$(grep -w "$shell" /etc/shells | head -n1)
|
||||||
|
|
||||||
# Changing passwd file
|
# Changing passwd file
|
||||||
/usr/bin/chsh -s "$shell_path" "$user" &>/dev/null
|
/usr/bin/chsh -s "$shell_path" "$user" &>/dev/null
|
||||||
|
|
|
@ -43,7 +43,8 @@ is_object_value_empty 'web' 'DOMAIN' "$domain" '$FTP_USER'
|
||||||
# Adding user
|
# Adding user
|
||||||
/usr/sbin/adduser $ftp_user -g $user -s /sbin/nologin -M \
|
/usr/sbin/adduser $ftp_user -g $user -s /sbin/nologin -M \
|
||||||
-d "$HOMEDIR/$user/web/$domain" > /dev/null 2>&1
|
-d "$HOMEDIR/$user/web/$domain" > /dev/null 2>&1
|
||||||
echo "$ftp_password" | /usr/bin/passwd "$ftp_user" --stdin &>/dev/null
|
echo "$ftp_user:$ftp_password" | /usr/sbin/chpasswd
|
||||||
|
|
||||||
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
|
ftp_md5="$(awk -v user=$ftp_user -F : 'user == $1 {print $2}' /etc/shadow)"
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue