Am de multe ori a fi nevoie să hack în UNIX / Linux servere de management cu VirtualHost Apache compromisă de ani de utilizare necontrolate a serverelor de către administratorii de sistem nu cu adevarat sortate. Rezultatul este de obicei un număr mare de utilizatori, cu directorul de origine structurata in mod diferit de la un altul.

În special, într-un caz recent m-am trezit de o sută de membri, care au avut o anumită parte a DocumentRoot în directorul acasă, în timp ce altele nu a avut nici în / var / www / users /, pe care le recomand, deoarece evită au probleme cu versiuni suexec precompilate de Apache.

Pentru a plasa o situaţie haotică, aşa că am decis de a pune totul chiar în / var / www / users / şi am fost prezentat cu necesitatea de a crea în mod automat directorul lipsesc şi legăturile sale simbolice la directorul acasă diferite. Am facut asta cu un script bash simplu, că publicul de aici, în cazul în care ar putea fi util să altcineva. Mi-a luat un pic de ieşire "pentru a face codul de clar pentru cei care sunt armele primele din bash.

Avertisment linia 18 este o copie a unui fast-cgi în directorul /! Var / www / users / Ivan /. Evident, va trebui să înlocuiască Ivan ca un utilizator prezent pe server.

 
 # / Bin / bash


 echo "Initializare Scripturi ..."


 pentru i în $ (ls / home /) face
  
 echo "Sunt de procesare" $ i ""
  
 în cazul în care [-L / home / $ I / public_html], apoi
    
 echo "symlink / home / $ I / public_html există deja" ... sari! "
  
 altfel
    
 echo "symlink / home / $ I / public_html nu exista: eu încerc să-l creeze ..."
    
 în cazul în care [-d / var / www / users / $ i]; apoi
      
 echo "directorul / var / www / users / $ i există, eu doar trebuie să-l lega ..."
      
 / Bin / ln-s / var / www / users / $ I / home / $ I / public_html
    
 altfel
      
 echo "directorul / var / www / users / $ NON acolo, acum am crea ..."
      
 / Bin / mkdir / var / www / users / $ i
      
 echo "Copierea FAST-CGI ..."
      
 / Bin / cp / var / www / users / Ivan / fast-cgi / var / www / users / $ I /
      
 echo "El a seta permisiuni pentru directorul creat ..."
      
 / Bin / chown-R $ I: $ I / var / www / users / $ i
      
 / Bin / chmod 700 / var / www / users / $ i
      
 echo "Am crea legătura simbolică ..."
      
 / Bin / ln-s / var / www / users / $ I / home / $ I / public_html
    
 Fi
  
 Fi

 făcut 
Partajaţi acest conţinut:
  • del.icio.us
  • Google Bookmarks
  • Digg
  • Facebook
  • Technorati
  • MySpace
  • Twitter