====== uid/gid mismatch with directory ====== If u rsync Data from one Server to a new ispCP-Server, sometimes an error like the following appear in /var/log/apache/suexec.log : [2010-06-10 15:10:34]: target uid/gid (2036/2036) mismatch with directory (2035/2035) or program (2035/2035) U can fix it wit a little Script. This script Grab all Domains from the ispCP-Database and set the right uid and gid for the User-Files: First create a script with your Mysql-Root Password: [client] user=root password=mysql_password Then create a file (name it like u want) an insert the following code into it: #!/bin/bash # # PROCESS DIRECTORY RIGHTS (OWNERSHIP & CHMOD) # # # !!!! Edit path to mysql.cnf file !!!! mycnf=/root/mysql.cnf # sample mysql.cnf looks like this: # Please uncomment it and add your own Data # [client] # user=user_for_ispcp_database_usualy_root # password=password_of_user for domain_id in `echo "SELECT domain_id FROM ispcp.domain" | mysql --defaults-file=$mycnf -s`; do uid=`echo "SELECT domain_uid FROM ispcp.domain WHERE domain_id='$domain_id'" | mysql --defaults-file=$mycnf -s`; gid=`echo "SELECT domain_gid FROM ispcp.domain WHERE domain_id='$domain_id'" | mysql --defaults-file=$mycnf -s`; dmn=`echo "SELECT domain_name FROM ispcp.domain WHERE domain_id='$domain_id'" | mysql --defaults-file=$mycnf -s`; echo "==========================================================="; echo " $dmn"; echo "==========================================================="; # process ftp echo "UPDATE \`ispcp\`.\`ftp_group\` SET \`gid\`='$gid' WHERE \`groupname\`='$dmn'" | mysql --defaults-file=/root/mysql.cnf -s echo "UPDATE \`ispcp\`.\`ftp_users\` SET \`uid\`=$uid, \`gid\`='$gid' WHERE \`userid\` like '%@$dmn'" | mysql --defaults-file=/root/mysql.cnf -s chown -R vu$uid:vu$gid /var/www/virtual/$dmn chmod 770 /var/www/virtual/$dmn chown vu$uid:www-data /var/www/virtual/$dmn chown -R vu$uid:www-data /var/www/virtual/$dmn/backups chmod 770 /var/www/virtual/$dmn/backups chown -R vu$uid:vu$gid /var/www/virtual/$dmn/cgi-bin chmod 755 /var/www/virtual/$dmn/phptmp chown -R vu$uid:vu$gid /var/www/virtual/$dmn/errors chmod 775 /var/www/virtual/$dmn/errors chown -R vu$uid:vu$gid /var/www/virtual/$dmn/htdocs find /var/www/virtual/$dmn/htdocs -type d -exec chmod 775 {} \; chown vu$uid:www-data /var/www/virtual/$dmn/.ht* chown vu$uid:www-data /var/www/virtual/$dmn/.svn* chmod 640 /var/www/virtual/$dmn/.ht* chown -R vu$uid:www-data /var/www/virtual/$dmn/logs chmod 770 /var/www/virtual/$dmn/logs chown -R vu$uid:www-data /var/www/virtual/$dmn/phptmp chmod 770 /var/www/virtual/$dmn/phptmp chown -R vu$uid:vu$gid /var/www/fcgi/$dmn chmod 755 /var/www/fcgi/$dmn chmod 755 /var/www/fcgi/$dmn/php5-fcgi-starter chown -R vmail:mail /var/mail/virtual/* sleep 1 done Make the script executable chmod +x ./myWonderfullNewRenamerScript And run it ./myWonderfullNewRenamerScript ====== Credits ====== This Wiki is based on the Thread from **[[http://isp-control.net/forum/thread-5610.html?highlight=howto | fulltilt]]** and the Blog of **[[http://blog.benny-baumann.de/?p=443 |BenBe]]**. Thanks for this workarround. For me it works like a charm. --- //[[info@suther.de|Samuel Suther]] 2010/06/10 17:19//