• moderiert von:
  • Arktur3.4Admin,
  • Arktur3.5Admin
Zum aktuellsten Beitrag
re: [schan-user] datei in alle home-verzeichnisse kopieren - arktur 3.4
  • verfasst: 07.02.2006, 22:35
     
    registriert:
     Februar 2006
    Status:
    offline
    letzter Besuch:
    05.02.09
    Beiträge:
    5816
    Absender: hhullen_bs@t-online.de (helmut hullen)
    1. Hallo, Martin,
    2.  
    3. Du meintest am 07.02.06 zum Thema Re: [Schan-user] Datei in alle home-Verzeichnisse kopieren - Arktur 3.4:
    4.  
    5. >>>> Wie kopiere ich eine bestimmte Datei in alle Homeverzeichnisse?
    6.  
    7. > Script wäre natürlich toll, - wenns denn funktioniert - das kann
    8. > ich dann immer wieder anpassen, wenns mal was neues gibt.
    9.  
    10. Dann nehmen wir doch einfach die saubere Lösung:
    11.  
    12. Funktion aus "/usr/lib/ods-server/bin/makehome" ein wenig verkürzt
    13.  
    14. #! /bin/bash
    15. # kopiert Verzeichnis aus Quelle nach /home/*/Ziel
    16. # Vorlage: /usr/lib/ods-server/bin/makehome
    17. # Helmut Hullen, 7. Februar 2006
    18.  
    19. makeh(){
    20.     user=
    21.     name=${Gecos%,*}
    22.  
    23.         mkdir -p $Home/$Ziel
    24.         cp -a $Quelle/. $Home/$Ziel
    25.         cd $Home/$Ziel
    26.         find . -exec chown $Uid:$Gid {} \;
    27.         # Grundmuster fürs Patchen:
    28.         for f in $(find . -type f \( -name .\*.sed -o -name \*.sed \))
    29.             do
    30.             nf=${f%.sed}
    31.             cp $f $nf # (wegen der Berechtigungen)
    32.             sed 's/:$USER:/'$user'/
    33.                  s/:$DOMAIN:/'"$(domainname)"'/
    34.                  s/:$USERNAME:/'"$name"'/' $f > $nf
    35.             rm $f
    36.             done
    37.  
    38.  
    39.     case "$Gid" in
    40.     101|105)
    41.         Eigner=$Uid:root
    42.         Rechte=700
    43.         ;;
    44.     102)
    45.         Eigner=$Uid:fachl
    46.         Rechte=770
    47.          ;;
    48.         esac
    49.         chown -R $Eigner $Home/$Ziel
    50.                 chmod $Rechte $Home/$Ziel
    51.  
    52. }       # Ende der Funktion makeh
    53.  
    54. # Aufruf:
    55. Quelle=/irgendein/Verzeichnis
    56. Ziel=verz-unterhalb-user-home
    57.  
    58. test -d $Quelle || {
    59.         echo kein Quellverzeichnis gefunden
    60.         exit 1
    61.         }
    62.  
    63. while IFS=: read Logon Passw Uid Gid Gecos Home Shell Rest
    64.   do
    65.         case $Gid in
    66.                 101|102|105)
    67.                 makeh $Logon
    68.                 ;;
    69.         esac
    70.  
    71.   done < /etc/passwd
    72.  
    73. #
    74.  
    75.  
    76. Viele Gruesse!
    77. Helmut
    78.  
    79.  
    80. _______________________________________________
    81. schan-user mailing list
    82. schan-user@listserv.heise.de
    83. http://www.heise.de/bin/newsletter/listinfo/schan-user

 Suchen:


 Umfrage

(Nur für angemeldete Benutzer)

Was wird hier am meisten vermisst?

[ Ergebnis | Umfragen ]

Stimmen: 621
Kommentare: 0

 Zitate

This driver conforms to Linus Confidence Level 2:
It looks right
X It builds
It works
It passes stress tests

-- Jeff Garzik on linux-kernel