|
1 | | -<<<<<<< HEAD |
2 | | -#!/bin/bash |
3 | | -# info: rebuild system user |
4 | | -# options: USER [RESTART] |
5 | | -# |
6 | | -# The function rebuilds system user account. |
7 | | - |
8 | | - |
9 | | -#----------------------------------------------------------# |
10 | | -# Variable&Function # |
11 | | -#----------------------------------------------------------# |
12 | | - |
13 | | -# Argument defenition |
14 | | -user=$1 |
15 | | -restart=$2 |
16 | | - |
17 | | -# Includes |
18 | | -source $VESTA/conf/vesta.conf |
19 | | -source $VESTA/func/main.sh |
20 | | - |
21 | | - |
22 | | -#----------------------------------------------------------# |
23 | | -# Verifications # |
24 | | -#----------------------------------------------------------# |
25 | | - |
26 | | -check_args '1' "$#" 'USER [RESTART]' |
27 | | -validate_format 'user' |
28 | | -is_object_valid 'user' 'USER' "$user" |
29 | | -is_object_unsuspended 'user' 'USER' "$user" |
30 | | - |
31 | | - |
32 | | -#----------------------------------------------------------# |
33 | | -# Action # |
34 | | -#----------------------------------------------------------# |
35 | | -export PATH=$PATH:/usr/sbin |
36 | | - |
37 | | -# Get user variables |
38 | | -source $USER_DATA/user.conf |
39 | | - |
40 | | -# Rebuild user |
41 | | -shell=$(chsh --list-shells | grep -w "$SHELL" |head -n1) |
42 | | -adduser "$user" -s "$shell" -c "$CONTACT" -m -d "$HOMEDIR/$user" &>/dev/null |
43 | | - |
44 | | -# Update password |
45 | | -shadow='/etc/shadow' |
46 | | -shdw=$(grep ^$user: $shadow) |
47 | | -shdw3=$(echo "$shdw" | cut -f3 -d :) |
48 | | -shdw4=$(echo "$shdw" | cut -f4 -d :) |
49 | | -shdw5=$(echo "$shdw" | cut -f5 -d :) |
50 | | -shdw6=$(echo "$shdw" | cut -f6 -d :) |
51 | | -shdw7=$(echo "$shdw" | cut -f7 -d :) |
52 | | -shdw8=$(echo "$shdw" | cut -f8 -d :) |
53 | | -shdw9=$(echo "$shdw" | cut -f9 -d :) |
54 | | -chmod u+w $shadow |
55 | | -sed -i "/^$user:*/d" $shadow |
56 | | -echo "$user:$MD5:$shdw3:$shdw4:$shdw5:$shdw6:$shdw7:$shdw8:$shdw9" >> $shadow |
57 | | -chmod u-w $shadow |
58 | | - |
59 | | -# Building directory tree |
60 | | -mkdir -p $HOMEDIR/$user/conf |
61 | | -chmod a+x $HOMEDIR/$user |
62 | | -chmod a+x $HOMEDIR/$user/conf |
63 | | -chown $user:$user $HOMEDIR/$user |
64 | | -chown $user:$user $HOMEDIR/$user/conf |
65 | | - |
66 | | -if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then |
67 | | - mkdir -p $HOMEDIR/$user/conf/web |
68 | | - mkdir -p $HOMEDIR/$user/web |
69 | | - mkdir -p $HOMEDIR/$user/tmp |
70 | | - chmod 751 $HOMEDIR/$user/conf/web |
71 | | - chmod 751 $HOMEDIR/$user/web |
72 | | - chmod 771 $HOMEDIR/$user/tmp |
73 | | - chown $user:$user $HOMEDIR/$user/web |
74 | | - $BIN/v-rebuild-web-domains $user $restart |
75 | | -fi |
76 | | - |
77 | | -if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then |
78 | | - mkdir -p $HOMEDIR/$user/conf/dns |
79 | | - chmod 751 $HOMEDIR/$user/conf/dns |
80 | | - $BIN/v-rebuild-dns-domains $user $restart |
81 | | -fi |
82 | | - |
83 | | -if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then |
84 | | - mkdir -p $HOMEDIR/$user/conf/mail |
85 | | - mkdir -p $HOMEDIR/$user/mail |
86 | | - chmod 751 $HOMEDIR/$user/mail |
87 | | - chmod 751 $HOMEDIR/$user/conf/mail |
88 | | - $BIN/v-rebuild-mail-domains $user |
89 | | -fi |
90 | | - |
91 | | - |
92 | | -if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then |
93 | | - $BIN/v-rebuild-databases $user |
94 | | -fi |
95 | | - |
96 | | -if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then |
97 | | - $BIN/v-rebuild-cron-jobs $user $restart |
98 | | -fi |
99 | | - |
100 | | - |
101 | | -#----------------------------------------------------------# |
102 | | -# Vesta # |
103 | | -#----------------------------------------------------------# |
104 | | - |
105 | | -# Creating configuration files and pipes |
106 | | -chmod 770 $USER_DATA |
107 | | -touch $USER_DATA/backup.conf |
108 | | -chmod 660 $USER_DATA/backup.conf |
109 | | -touch $USER_DATA/history.log |
110 | | -chmod 660 $USER_DATA/history.log |
111 | | -touch $USER_DATA/stats.log |
112 | | -chmod 660 $USER_DATA/stats.log |
113 | | - |
114 | | -sed -i "/ $user$/d" $VESTA/data/queue/disk.pipe |
115 | | -echo "v-update-user-disk $user" >> $VESTA/data/queue/disk.pipe |
116 | | - |
117 | | -if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ]; then |
118 | | - mkdir -p $USER_DATA/ssl |
119 | | - chmod 770 $USER_DATA/ssl |
120 | | - touch $USER_DATA/web.conf |
121 | | - chmod 660 $USER_DATA/web.conf |
122 | | - if [ "$(grep -w $user $VESTA/data/queue/traffic.pipe)" ]; then |
123 | | - echo "$BIN/v-update-web-domains-traff $user" \ |
124 | | - >> $VESTA/data/queue/traffic.pipe |
125 | | - fi |
126 | | - echo "v-update-web-domains-disk $user" >> $VESTA/data/queue/disk.pipe |
127 | | -fi |
128 | | - |
129 | | -if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ]; then |
130 | | - mkdir -p $USER_DATA/dns |
131 | | - chmod 770 $USER_DATA/dns |
132 | | - touch $USER_DATA/dns.conf |
133 | | - chmod 660 $USER_DATA/dns.conf |
134 | | -fi |
135 | | - |
136 | | -if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ]; then |
137 | | - mkdir -p $USER_DATA/mail |
138 | | - chmod 770 $USER_DATA/mail |
139 | | - touch $USER_DATA/mail.conf |
140 | | - chmod 660 $USER_DATA/mail.conf |
141 | | - echo "v-update-mail-domains-disk $user" >> $VESTA/data/queue/disk.pipe |
142 | | -fi |
143 | | - |
144 | | -if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ]; then |
145 | | - touch $USER_DATA/db.conf |
146 | | - chmod 660 $USER_DATA/db.conf |
147 | | - echo "v-update-datbases-disk $user" >> $VESTA/data/queue/disk.pipe |
148 | | -fi |
149 | | - |
150 | | -if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ]; then |
151 | | - touch $USER_DATA/cron.conf |
152 | | - chmod 660 $USER_DATA/cron.conf |
153 | | -fi |
154 | | - |
155 | | -# Logging |
156 | | -log_event "$OK" "$EVENT" |
157 | | - |
158 | | -exit |
159 | | -======= |
160 | 1 | #!/bin/bash |
161 | 2 | # info: rebuild system user |
162 | 3 | # options: USER [RESTART] |
|
314 | 155 | log_event "$OK" "$EVENT" |
315 | 156 |
|
316 | 157 | exit |
317 | | ->>>>>>> e81fb6c7307a777644ccaaf4dd15c5ac51b84ebc |
0 commit comments