Script to reset ownership of virtualmin email users
Днес ще споделя решаването на 2 проблема, които имах, нямащи много общо с OpenERP, освен сървърната част.
В един от сайтовете на Joomla 2.5.10 забелязах, че има ъпдейт за 2.5.11. Ъпдейта обаче упорито не минаваше. Понеже по навик работя с потребител root (знам, че е неправилно, но навик), се усъмних в правата на папката на сайта. Без да се замисля, смених правата на цялата /home/site_folder папка с chown -R. Усетих какво правя веднага след като натиснах Enter, но беше вече късно. В резултат ъпдейтите тръгнаха, но загубих достъп до пощите. Понеже сървъра е с Virtualmin, опитах Validate Virtual Servers, където ми бе съобщено, че правата на папките на съответните пощи не са правилни. За съжаление Fix Permissions на Validate Virtual Servers има ефект само върху папките на съответните сайтове. И за да бъде по-интересно, потребителите на пощите са доста и ръчна смяна с chown -R би ми отнела доста време.
В следващите 2 минути открих елегантно решение на проблема - скрип точно за целта в http://www.virtualmin.com/node/22640?destination=node%2F22640
#!/bin/bash echo First we are setting the ownership on the parent accounts \(domains\) for username in `grep /home/ /etc/passwd | grep -v /homes/ | awk -F: '{ print $1 }'` do echo Resetting ownership for: $username useraccount=`grep ^\`echo $username\`: /etc/passwd` homedir=`echo $useraccount | awk -F: '{ print $6 }'` echo Home dir is: $homedir echo Changing ownership of home directory recursively chown -R $username:$username $homedir echo Done. echo . done echo . echo Now we are setting the ownership on the child accounts \(email users\) for username in `grep /home/ /etc/passwd | grep /homes/ | awk -F: '{ print $1 }'` do echo Resetting ownership for: $username useraccount=`grep ^\`echo $username\`: /etc/passwd` homedir=`echo $useraccount | awk -F: '{ print $6 }'` echo Home dir is: $homedir echo Changing ownership of home directory recursively chown -R $username $homedir echo Done. echo . done
Скрипта сменя правата на папките с пощите както трябва да са. Наддявам се този скрипт да е полезен на някой с подобен проблем!