Ich habe mich oft mit in UNIX / Linux-Server mit Apache VirtualHost-Management nach Jahren des unkontrollierten Einsatz von Servern von Systemadministratoren kompromittiert hack nicht wirklich sortiert. Das Ergebnis ist in der Regel eine große Anzahl von Benutzern mit Home-Verzeichnisse unterschiedlich voneinander strukturiert.

Insbesondere in einem aktuellen Fall fand ich mich hundert Mitglieder, von denen ein bestimmter Teil des DocumentRoot-Verzeichnis in Ihrem Hause war, andere, die wir in der Datei / var / www / users /, die ich empfehlen, weil es verhindert hatte Probleme mit dem Apache suEXEC vorkompilierte Versionen.

Um eine chaotische Situation, so dass ich alles richtig in / var / www / users / und ich war mit der Notwendigkeit zur automatischen Erstellung der fehlenden Verzeichnis und dessen symbolische Links auf die verschiedenen Home-Verzeichnissen vorgestellt gesetzt hat. Ich habe das mit einem einfachen Bash-Skript, wenn ich hier veröffentlichen kann nützlich sein, um jemand anderen. Es hat mich ein wenig "ausgegeben, um den Code klar, diejenigen, die Anfänger in bash sind.

Warnung! Line 18 ist eine Kopie eines fast-cgi in das Verzeichnis / var / www / users / ivan / gemacht. Natürlich müssen Sie Ivan als Benutzer auf Ihrem Server ersetzen.

 
 1

 2

 3

 4

 5

 6

 7

 8

 9

 10

 11

 12

 13

 14

 15

 16

 17

 18

 19

 20

 21

 22

 23

 24

 25

 26
 
 # / Bin / bash


 echo "Initializing Scripts ..."


 $ ( ls / home / ) ; do for i in $ 
(ls / home 
/) do
  
 '" echo "Ich Verarbeitung '$ i' bin"
  
 -L / home / $i / public_html ] ; then if 
[-L / home / $ i / public_html], dann
    
 /public_html esiste gia' ... salto!" echo "symbolischen Link / home / $ i / public_html existiert bereits '... jump!"
  
 sonst
    
 /public_html non esiste: provo a crearlo ... " echo "symbolischen Link / home / $ i / public_html existiert nicht: Ich versuche, es zu schaffen ..."
    
 -d / var / www / users / $i ] ; then if 
[-d / var / www / users / $ 
i] then
      
 esiste, non mi resta che linkarla ... " echo "Das Verzeichnis / var / www / users / $ i existiert, ich muss es nur link ..."
      
 ln -s / var / www / users / $i / home / $i / public_html / Bin / 
ln-s / var / www / users / $ i / home / $ i / public_html
    
 sonst
      
 NON esiste, ora la creo ... " echo "Das Verzeichnis / var / www / users / $ NON es, jetzt habe ich schaffen ..."
      
 mkdir / var / www / users / $i / Bin / mkdir / var / www / users / $ i
      
 echo "Das Kopieren der FAST-CGI ..."
      
 cp / var / www / users / ivan / fast-cgi / var / www / users / $i / / Bin / cp / var / www / users / ivan / fast-cgi / var / www / users / $ i /
      
 echo "-Berechtigungen für das Verzeichnis erstellt ..."
      
 chown -R $i : $i / var / www / users / $i / Bin / 
chown-R $ i: $ i / var / www / users / $ i
      
 chmod 700 / var / www / users / $i / Bin / chmod 700 / var / www / users / $ i
      
 echo "Ich habe die symbolische Verknüpfung erstellen ..."
      
 ln -s / var / www / users / $i / home / $i / public_html / Bin / 
ln-s / var / www / users / $ i / home / $ i / public_html
    
 fi
  
 fi

 erledigt 
Diesen Inhalt:
  • del.icio.us
  • Google Bookmarks
  • Digg
  • Facebook
  • Technorati
  • MySpace
  • Twitter