Registrieren
x

Log in

Benutzername:

Passwort:
 

oder Registrieren

  Passwort vergessen?



Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 362
» Neuestes Mitglied: mic1962
» Foren-Themen: 178
» Foren-Beiträge: 707

Komplettstatistiken

Benutzer Online
Momentan sind 9 Benutzer online
» 0 Mitglieder
» 9 Gäste

Aktive Themen
Swap einrichten?
Letzter Beitrag: Padrio
07-05-2012 01:06 PM
» Antworten: 2
» Ansichten: 75
Technische Warnungen des ...
Letzter Beitrag: MiLeon
06-05-2012 09:14 AM
» Antworten: 7
» Ansichten: 367
Letzte 10 Posts
Letzter Beitrag: CyberFlash
30-04-2012 05:50 PM
» Antworten: 3
» Ansichten: 201
Vorstellung - CyberFlash
Letzter Beitrag: CyberFlash
30-04-2012 05:46 PM
» Antworten: 0
» Ansichten: 138
Security News - Technisch...
Letzter Beitrag: MiLeon
11-04-2012 06:02 PM
» Antworten: 5
» Ansichten: 139
Ich bins!
Letzter Beitrag: mcandy007
10-04-2012 08:56 PM
» Antworten: 0
» Ansichten: 94
Firewall
Letzter Beitrag: mcandy007
10-04-2012 08:47 PM
» Antworten: 0
» Ansichten: 102
Wichtige iptables Regeln ...
Letzter Beitrag: mcandy007
10-04-2012 08:25 PM
» Antworten: 4
» Ansichten: 1984
WordPress installieren un...
Letzter Beitrag: main5tream
08-04-2012 05:32 PM
» Antworten: 0
» Ansichten: 89
GEZ Fail
Letzter Beitrag: HolgerIhmann
02-04-2012 11:02 AM
» Antworten: 5
» Ansichten: 708

 
  WordPress installieren und absichern
Geschrieben von: main5tream - 08-04-2012 05:32 PM - Keine Antworten

1. WordPress runterladen und auf euren FTP hochladen ( zB. FileZilla )

Englisch ( http://wordpress.org/download/ )

Deutsch ( http://de.wordpress.org/ )

2. Config.php konfigurieren

Schreibt in die Config.php eure Datenbank Informationen rein, sollte so aussehen :

Code:
define(‘DB_NAME’, ‘Datenbankname’);
define(‘DB_USER’, ‘Datenbankbenutzer’);
define(‘DB_PASSWORD’, ‘Datenbankpasswort’);
define(‘DB_HOST’, ‘localhost’);
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);

Außerdem ist es empfehlenswert einen anderen Präfix als wp_ zu benutzen

Code:
$table_prefix  = ‘myblog123_’;

Disallow File Edit solltet ihr erst verbieten wenn ihr alle Einstellungen beendet habt.

Code:
define(‘DISALLOW_FILE_EDIT’, true);

Damit keine Fehlermeldungen auf eurer Webseite angezeigt werden und ggf. sonstiges angezeigt wird was besser nicht angezeigt werden sollte, muss der Debug Modus ausgestellt werden

Code:
define(‘WP_DEBUG’, false);

Lasst euch Schlüssel generieren und fügt diese ebenfalls hinzu https://api.wordpress.org/secret-key/1.1/

zum Beispiel : ohne “// ” … Bitte generiert euch “eigene”

Code:
// define(‘AUTH_KEY’, ‘Y5x@O^>N#A(Oa__aNW3-[2Z%3(4A> _OHx,3So%N=AzZ[O+1w&gBQ v$@pAn/7|[');
// define('SECURE_AUTH_KEY', '2:(WG|>])]7.vT$O$u|?hh| D0Q8|nH%QL=9bS,6@uw_5^d$pr-1n5(/+^|y.R;U’);
// define(‘LOGGED_IN_KEY’, ‘M`ZfZZ}5UqIDT8{_Oqa x$)XK{S)dQq L=B*-!]3B-i`K}W9NT52fJ68G?QZ$E2N’);
// define(‘NONCE_KEY’, ‘,OgC~-2U/kcq[7s_OqRM]469V5In{/xo]|mI`fOSoO_ 3c|s(na7ScJeixx/Fxul’);

3. WordPress installieren

Achtet dadrauf, dass ihr bei der Installation von WordPress nach möglichkeit nicht “admin” als Benutzeraccount benutzt. Benutzt einfach irgendwas außergewöhnliches was ihr euch aber merken könnt. Den Anzeigenamen in den Artikel lässt sich nachträglich im Profil (wp-admin/profile.php) ändern. Ein sicheres Passwort sollte ebenfalls benutzt werden, ich empfehle hierzu folgenden Generator : http://www.gaijin.at/olspwgen.php. Ein Beispiel Passwort, welches so schnell nicht crackbar ist, könnte zB so aussehen : sN@KMqhKxlWV2oqubl]Esö0&8uYq@!vbgI!QDHJFpj5yb@>Z


4. Ordner/Datei Rechte richtig einstellen

Um die Berechtigungen für ein Verzeichniss einzusellen, macht Ihr Rechtsklick auf den Ordner und klickt auf “Dateiberechtigungen”, anschließend gebt ihr dort die “Zahl” ein,

welche im Bild bei “Needed Chmod” steht.

Die config.php sollte bestenfalls 440 oder 400 haben, falls diese Einstellungen nicht gehen benutze 644

[Bild: WordPress_1329497020157.png]

4. Plugins installieren

Anti-Vorratsdatenspeicherung 2.0 ( speichert IPs als MD5 ) von daher besser zu V 1.x greifen, Ips werden als 127.0.0.1 gespeichert, User-Agents und Email Adressen werden nicht gespeichert.

http://wordpress.org/extend/plugins/remove-ip/ Emails und User Agent werden gespeichert / IP’s werden ebenfalls als 127.0.0.1 gespeichert

Askimet würde ich durch AntiSpam Bee ersetzen. Wie der Name schon zu vermuten lässt versucht AntiSpam Bee Spam in Kommentaren, Pingbacks etc herauszufiltern und zu blockieren.

Jetpack wird hauptsächlich für Statistiken benutzt. Hierfür ist ein WordPress.com Account notwendig.
block-bad-queries/ protect WordPress Against Malicious URL Requests

WordPress File Monitor http://wordpress.org/extend/plugins/word...le-monitor
WordPress Firewall 2 http://wordpress.org/extend/plugins/word...irewall-2/
Secure WordPress by WebsiteDefender http://www.websitedefender.com/secure-wordpress-plugin/

nähere Informationen zu den letzten 3 Plugins : http://blog.yakuza112.org/?p=6352

4.1 Error, FTP Zugangsdaten werden benötigt ?!

Falls das Installieren der Plugins deshalb fehlschlägt, habt ihr 2 Möglichkeiten.

1. Ihr bearbeitet eure Config.php wie folgt :

Code:
define(‘FS_METHOD’, ‘ftpext’); // forces the filesystem method: “direct”, “ssh”, “ftpext”, or “ftpsockets”
define(‘FTP_BASE’, ‘/puplic_html/blog/’); // absolute path to root installation directory
define(‘FTP_CONTENT_DIR’, ‘/puplic_html/blog/wp-content/’); // absolute path to “wp-content” directory
define(‘FTP_PLUGIN_DIR ‘, ‘/puplic_html/blog/wp-content/plugins/’); // absolute path to “wp-plugins” directory
define(‘FTP_PUBKEY’, ‘/home/username/.ssh/id_rsa.pub’); // absolute path to your SSH public key
define(‘FTP_PRIVKEY’, ‘/home/username/.ssh/id_rsa’); // absolute path to your SSH private key
define(‘FTP_USER’, ‘username’); // either your FTP or SSH username
define(‘FTP_PASS’, ‘password’); // password for FTP_USER username
define(‘FTP_HOST’, ‘ftp.domain.de:21′); // hostname:port combo for your SSH/FTP server

2. Ihr gebt eure Zugangsdaten in der Form ein, was mir sicherer erscheint.

[Bild: WordPress_1329498847006.png]

5. WordPress und Plugins aktuell halten

Prüft in regelmäßigen Abständen ob neue Plugin bzw WordPress Updates verfügbar sind (/wp-admin/update-core.php)

Wenn ihr lieber informiert werden wollt, benutzt einfach das Plugin von https://websitedefender.com.

6. Entfernt die WordPress Version / ( Error Messages )

Sucht in eurem Theme Order nach der Datei functions.php und fügt folgende Zeilen ein

Entfernen der WP Version
Code:
function no_generator() { return ”; }
add_filter( ‘the_generator’, ‘no_generator’ );

Entfernen der WP – Login / Error Messages

Code:
function explain_less_login_issues(){ return ‘ERROR: Entered credentials are incorrect.’;}
add_filter( ‘login_errors’, ‘explain_less_login_issues’ );

7. Entfernt unsichere Dateien

Code:
readme.html

/wp-admin/install.php

8. Index.php hinzufügen

Zum Schluss solltet ihr in Ordner wie zB “uploads“, “themes“, usw eine leere index.php Datei einfügen, damit man diese Ordner nicht direkt anbrowsen kann.

htaccess Datei ( in das haupt verzeichniss kopieren ):

Code:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
################################################################################​####
# www2nowww
RewriteCond %{HTTP_HOST} ^([^.]+)\.blog.yakuza112\.org$ [NC]
RewriteRule ^(.*)$ http://blog.yakuza112.org/$1 [R=301,L]
################################################################################​####
# Hinzufuegn von Slash
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

#Disable Directory Listing
Options -Indexes
################################################################################​####
# Schutz der wp-config.php
<files wp-config.php>
Order deny,allow
deny from all
</files>
################################################################################​####
php_flag display_errors off
php_flag log_errors off
php_flag register_globals off
php_flag session.use_trans_sid off
################################################################################​####

################################################################################​####
<Files 403.shtml>
order allow,deny
allow from all
</Files>
################################################################################​####
################################################################################​####
################################################################################​####
################################################################################​####
################################################################################​####
### PERISHABLE PRESS 4G BLACKLIST ###
# ESSENTIALS
RewriteEngine on
ServerSignature Off
Options All -Indexes
Options +FollowSymLinks
################################################################################​####
# FILTER REQUEST METHODS
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK) [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>
################################################################################​####
# BLACKLIST CANDIDATES
<Limit GET POST PUT>
Order Allow,Deny
Allow from all
Deny from 75.126.85.215   "# blacklist candidate 2008-01-02 = admin-ajax.php attack "
Deny from 128.111.48.138  "# blacklist candidate 2008-02-10 = cryptic character strings "
Deny from 87.248.163.54   "# blacklist candidate 2008-03-09 = block administrative attacks "
Deny from 84.122.143.99   "# blacklist candidate 2008-04-27 = block clam store loser "
Deny from 210.210.119.145 "# blacklist candidate 2008-05-31 = block _vpi.xml attacks "
Deny from 66.74.199.125   "# blacklist candidate 2008-10-19 = block mindless spider running "
Deny from 203.55.231.100  "# 1048 attacks in 60 minutes"
Deny from 24.19.202.10    "# 1629 attacks in 90 minutes"
</Limit>
################################################################################​####
# QUERY STRING EXPLOITS
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ../    [NC,OR]
RewriteCond %{QUERY_STRING} boot.ini [NC,OR]
#RewriteCond %{QUERY_STRING} tag=     [NC,OR]
RewriteCond %{QUERY_STRING} ftp:     [NC,OR]
RewriteCond %{QUERY_STRING} http:    [NC,OR]
RewriteCond %{QUERY_STRING} https:   [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig [NC,OR]
# RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|'|"|;|?|*).* [NC,OR]
# RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>
################################################################################​####
# Datei zum Regeln von IP-Bereichen
Order deny,allow
Allow from all
# Sperre folgende IPs
#deny from 127.1.1.1

http://blog.yakuza112.org/?p=6397

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

  Passwordgnerator in Python
Geschrieben von: gehaxelt - 29-03-2012 06:25 PM - Keine Antworten

Wenn man sichere Passwörter nutzen will, dann muss man sich solche auch erstellen.

Wie man sich ein kleinen und plattformunabhängiges Programm in Python schreibt, zeige ich euch auf dem folgenden Video.






Source:

Code:
#Passwordgenerator by gehaxelt
import random

def generatePassword():
    pw=""
    for i in range(0,25,1):
        pw=pw+chr(random.randint(33,133))
    return pw

for i in range(0,5,1):
    print generatePassword()

Gruß

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

  Autostarts einfach bearbeiten
Geschrieben von: gehaxelt - 29-03-2012 06:22 PM - Keine Antworten

Hallo Com,
die meisten bösartigen Programme schreiben einen Eintrag in den Autostart, bzw. legen in der Registry einen entsprechenden Eintrag an.

Wie man diesen auf die Schliche kommen und leicht entfernen kann, zeige ich auf dem folgendem Video.





Gruß

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

  KeePass nutzen
Geschrieben von: gehaxelt - 14-03-2012 09:04 PM - Keine Antworten

Hier mal ein kleines Videotutorial von mir, in dem ich euch zeige, wie man KeePass benutzt.





Gruß

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

  TrueCrypt - Dateien verschlüsseln
Geschrieben von: gehaxelt - 06-03-2012 05:36 PM - Keine Antworten

Wenn man nicht möchte, das jeder an bestimmte Dateien gelangt, dann sollte man diese verschlüsseln.

TrueCrypt ist eine Open-Source Software, welche Container erstellen und verwalten kann. Diese können mit verschiedenen Algorithmen vom AES bis Twofish verschlüsselt werden.

Wie man dies macht, habe ich in einem Video gezeigt.





Gruß

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

  Sichere Passwörter
Geschrieben von: gehaxelt - 06-03-2012 05:23 PM - Antworten (5)

Ein kleines Tutorial von mir, über Passwörter.

Daten über das Tutorial:
- Zeitaufwand: 15 Minuten


Aufbau:
Was ist ein Passwort?
Was ist Brute-Force?
Was ist ein sicheres Passwort?
Wie kann ich es mir merken?


1. Was ist ein Passwort?
Ein Passwort ist heutzutage kein Wort mehr, sondern eine Zeichenkette, welche es einem Benutzer ermöglicht sich gegenüber einem System zu authentifizieren und in Bereiche einzusehen, die von Außen ohne die entsprechenden Logindaten nicht möglich wäre.

Ein Passwort ist sozusagen ein Schlüssel, um ein Schloss zu öffnen und den verschlossenen Inhalt zu nutzen.

Man kann sich das aus dem Englischen herleiten:

“password” -> “to pass” – “vorbeigehen/durchlassen” -> “word” – “Wort”


2. Was ist Brute-Force?
Brute-Force bedeutet so viel wie “Rohe Gewalt” und stellt eine Methode zum “Erraten” des Passwortes dar.

Dabei versucht der Angreifer das Passwort zu erraten, in dem er einen Login mit einer generierten Zeichenkette versucht. Dabei wird die Zeichenkette “iteriert”, d.h. die Kette fängt mit “a” an und wird danach auf “b” geändert. Das wiederholt sich fortlaufend auf mit der Länge:

a
b
aa
ab
ac
bbb
bbc

Dann gibt es noch die Möglichkeit einen Brute-Force über sogenannte Wortlisten durchzuführen. Dabei nutzt der Angreifer statt den generierten Passwörtern, Passwörter aus den Wortlisten, in denen häufige Passwörte, z.B. “test123″, “passwort”, abgespeichert sind, und so den Zeitaufwand für das Brute-Forcen zu verringern.

Wenn das System, z.B. ein Forum, sich nicht gegen solche Angriffe schützt, in dem z.B. die Anzahl der maximalen Loginversuche begrenzt wird, und bei Überschreitung dieser Anzahl der Zugriff auf die Seite gesperrt wird, kann der Angreifer sich “alle Zeit der Welt” nehmen und solange Passwörter ausprobieren, bis er das richtige gefunden hat.



3. Was ist ein sicheres Passwort?
Ein sicheres Passwort sollte möglichst zufällig gestaltet sein. Es sollten Buchstaben (Klein- und Großschreibung!), Zahlen & Sonderzeichen darin vorhanden sein, und das Passwort sollte eine Länge von 8+ Stellen besitzen. Das erhöht die Zeit, welche der Angreifer für einen Brute-Force benötigt, ungemein.

Nehmen wir mal an, man hält sich an die o.g. Regeln, und nutzt alle Zeichenkategorien aus dem ASCII-Zeichensatz. Demnach gäbe es 93 verschiedene Zeichen die man verwendet haben könnte (33:! bis 126: ~). Der Angreifer weiß nicht genau welche, und muss deswegen von allen ausgehen. Die Anzahl der möglichen Kombinationen ergibt sich aus:

Anzahl = Zeichenanzahl ^ Passwortlänge.

Bei unserem Beispiel mit einer Passwortlänge von 8 Zeichen entspricht das:

Anzahl = 93 ^ 8

Anzahl = 5.595.818.096.650.401 Möglichkeiten

Wenn der Angreifer es schafft, 1.000.000 Passwörter pro Sekunde zu testen, was bei einem Login auf ein Forum utopisch sein dürfte, dann würde die Person immer noch 5595818096 Sekunden brauchen, was ~ 177 Jahren entspricht.

Hier nochmal die wichtigsten Punkte aufgelistet:

-Großbuchstaben
-Kleinbuchstaben
-Zahlen
-Sonderzeichen
-Mindestens 8 Stellen
-Passwortwechsel alle x Wochen
-Den letzten Punkt habe ich noch nicht angesprochen, aber man sollte seine Passwörter alle x Wochen ändern, auch wenn man das ungern macht.

Ein Passwort ist nur dann sicher, wenn es nur im Gehirn geschrieben steht und nirgend woanders zu finden ist.

Auch sollte die Weitergabe des Passwortes an “angeblich” beste Freunde unterbleiben.



4. Wie kann ich es mir merken?
Wenn man nun für jeden Login ein anderes, komplexes Passwort nutzt, dann wird man irgendwann Probleme haben, sich alle Passwörter zu merken, und deswegen muss man zu kleinen Eselsbrücken greifen. Die Satz-Strategie hat sich am meisten bewährt.

Dabei denkt man sich einen Satz aus, und nimmt zum Beispiel alle Anfangs- oder Endbuchstaben der Wörter, und reiht diese aneinander.

Beispiel:

Satz:

=>I’am writing this tutorial for you, because you do not know, how to create secure passwords!

Zusammengefasst:

=> I’awtt4u,budnk,h2csp!

Man kann die Sätze immer auf die entsprechende Situation anpassen, zum Beispiel bei Shopping-Seiten:

I like to buy my clothes @ amazonWink


Dabei ist der Kreativität freien Lauf gelassen.


Gruß
gehaxelt

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

Information Einführung in die Bash - Teil 4: Kommandosubstitution
Geschrieben von: Florian Reith - 27-01-2012 08:16 PM - Keine Antworten

Einführung in die Bash - Teil 4: Kommandosubstitution

Unter einer Kommandosubstitution versteht man die Ausgabe eines Programmes, die normalerweise auf die Standardausgabe (stdout) geleitet werden würde. Steht der Befehl jedoch zwischen zwei Backticks (`), wird dieser ausgeführt und kann innerhalb eines anderen Befehls genutzt werden.

Hier ein Beispiel:

EingabeAusgabeErklärung
pwd/rootDer Befehl pwd gibt das aktuelle Verzeichnis aus.
echo Wir sind im Verzeichnis `pwd`Wir sind im Verzeichnis /rootDer Befehl innerhalb der Backticks wird zuerst ausgeführt und dann in den echo -Befehl eingesetzt.
echo Wir sind im Verzeichnis $(pwd)Wir sind im Verzeichnis /rootDie ausführliche Version der Kommandosubstitution. Kein Unterschied zur Kurzversion. Jedoch mittlerweile üblicher

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

Information Einführung in die Bash - Teil 3: Globbing
Geschrieben von: Florian Reith - 25-01-2012 10:09 AM - Keine Antworten

Einführung in die Bash - Teil 3: Globbing

Die Bash bietet uns verschiedene Hilfsmittel um Dateinamen an ein Programm zu übergeben. Entweder man gibt eine vollständige Liste der entsprechenden Dateinamen an oder man verwendet Patterns (Suchmuster) um die entsprechenden Dateien automatisch zu ermitteln.

Die Bash generiert daraufhin eine Liste mit den passenden Dateinamen und übergibt diese an das Programm.

Idea Hinweis: Bei versteckten Dateien (Dateiname beginnt mit einem Punkt) muss der führende Punkt explizit angegeben werden.

MetazeichenBeschreibungBeispielMögliches Resultat
?Genau ein Zeichen.x?x1, xa, xb, ...
*Kein oder beliebig viele Zeichen.x*x, x1, xab, xabcdefg, ...
[abc] [a−z]Ein Zeichen, welches innerhalb von [] steht.x[yz]xy, xz
[!abc] [!a−z]Genau ein Zeichen, welches NICHT innerhalb von [] steht.x[!yz]xa, xb, xc, ...
~Home-Verzeichnis des aktuellen Benutzers~/Daten/root/Daten
~FlorianHome-Verzeichnis des Benutzers "Florian"~Florian/Daten/home/Florian/Daten
{abc,def,...}Liste der angegebenen Zeichenkettenls *.{c,h,sh}install.sh ips.c uninstall.sh webinstall.h
/Verzeichnistrenner--


Idea Hinweis: Um Globbing zu unterbinden muss der Text in "" geschrieben werden.

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

Information Einführung in die Bash - Teil 2: Standard Kanäle und Pipes
Geschrieben von: Florian Reith - 24-01-2012 11:58 AM - Keine Antworten

Einführung in die Bash - Teil 2: Standard Kanäle und Pipes

Standard Kanäle

Wie jede andere Shell auch, bringt die Bash drei Standard Kanäle zur Regulierung von Streams (Datenströmen) mit sich.
Man spricht hier von I/O bzw. Input/Output (Eingabe/Ausgabe).

[Bild: 4020820a81-STDStreamsbzw.Kanaele.png]

stdin (Kanal 0) - der Eingabekanal (Standard-Input)
Dieser Kanal empfängt Daten oder Eingaben und reicht sie an das Programm weiter.

stdout (Kanal 1) der Ausgabekanal (Standard-Output)
Dieser Kanal gibt die Daten aus, die ein Prozess zurückgibt.

stderr (Kanal 2) der Fehlerausgabekanal (Standard-Error)
Produziert ein Prozess einen Fehler, so wird dieser auf diesem Kanal ausgegeben.


Umleitung der Standard Kanäle (I/O Redirect)

[Bild: e321963b85-umleitung.png]

Die eben beschriebenen Standard Kanäle lassen sich nicht nur ausgeben sondern alternativ auch aus Dateien heraus bzw. in Dateien hinein umleiten (lesen/schreiben).

Beispiel 1 - Umleiten von stdout in eine Datei (überschreiben)

Die Dateien und Ordner in einem Verzeichnis sollen aufgelistet und das Ergebnis in die Datei "liste.txt" gespeichert werden.

Kommando:

Code:
ls 1> liste.txt
Beschreibung:
Der Kanal 1 (Standard Output bzw stdout) des Programms ls wird in die Datei liste.txt umgeleitet, welche vor dem eigentlichen Umleiten erstellt wird.

Exclamation Hinweis: Existiert diese Datei, wird sie überschrieben!



Beispiel 2 - Umleiten von stdout in eine Datei (anhängen)

Die Dateien und Ordner in einem Verzeichnis sollen aufgelistet und das Ergebnis an die Datei "liste.txt" angehängt werden.

Kommando:
Code:
ls 1>> liste.txt
Beschreibung:
Der Kanal 1 (Standard Output bzw. stdout) des Programms ls wird an die Datei liste.txt angehängt. Die Datei wird dementsprechend nicht überschrieben.


Beispiel 3 - Umleiten von stderr in eine Datei (anhängen)

Die Dateien und Ordner in einem nicht existierenden Verzeichnis sollen aufgelistet und die Fehlermeldung an den Error-Log "error.log" angehängt werden.

Kommando:
Code:
ls abcd 2>> error.log
Beschreibung:
Das Verzeichnis "abcd" existiert nicht und der Fehler wird über Fehlerkanal 2 (Standard Error bzw. stderr) des Programms ls an die Datei error.log angehängt. Die Datei wird wie auch in den vorherigen Beispielen nicht überschrieben.

Exclamation Tipp: Lässt man die 1 bei der Ausgabeumlenkung (>) weg, so benutzt die Bash automatisch Kanal 1 (Output).


Beispiel 4 - Umleiten von mehreren Kanälen

Die Dateien und Ordner in einem dem Verzeichnis abcd werden aufgelistet und in die Datei liste.txt gespeichert. Existiert die der Ordner abcd nicht, wird der Fehler in der Datei error.log vermerkt.

Kommando:
Code:
ls abcd > liste.txt 2> error.log
Beschreibung:
Fall 1: Das Verzeichnis "abcd" existiert und die Dateiliste wird in die Datei liste.txt geleitet.
Fall 2: Das Verzeichnis "abcd" existiert nicht und der Fehler wird in die Datei error.log geleitet.

Exclamation Tipp: Die Reihenfolge des Befehls ist von Bedeutung, existierende Dateien werden überschrieben.



Beispiel 5 - Kanäle ineinander leiten

Die Dateien und Ordner in einem dem Verzeichnis abcd werden aufgelistet und in die Datei full.log gespeichert. Fehler landen ebenfalls in der full.log

Kommando:
Code:
ls abcd >full.log 2>&1
Beschreibung:
Alles Ausgaben aus Kanal 1 und 2 werden in die gleiche Datei geleitet (full.log)

Exclamation Tipp: Die Reihenfolge des Befehls ist von Bedeutung, existierende Dateien werden überschrieben.


Beispiel 6 - eine einfache Eingabe-Umleitung:

Kommando:
Code:
mail -s "Anti-Hack ist toll" [email protected] < nachricht.txt
Beschreibung:
An [email protected] wird eine E-Mail mit dem Betreff "Anti-Hack ist toll" und dem Text aus der Datei nachricht.txt versandt.

[Bild: 7b6c9f3931-Bildschirmfoto_20120124_um_11.43.12.png]

Exclamation Tipp: Lässt man die 0 vor der Eingabeumlenkung (<) weg, so benutzt die Shell den Kanal 0 (stdin)!


Pipes

Bei der Verwendung von Pipes wird die Ausgabe eines Prozesses zur Eingabe eines anderen Prozesses:

Beispiel:

Kommando:
Code:
cat namen.txt | grep Florian

Beschreibung:
Gibt nur die Zeilen der Datei namen.txt aus,
welche das Wort bzw. den Namen "Florian" enthalten.

Weiterlesen:
Einführung in die Bash - Teil 3: Globbing

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund

Information Einführung in die Bash - Teil 1: Definition
Geschrieben von: Florian Reith - 24-01-2012 11:57 AM - Keine Antworten

Einführung in die Bash - Teil 1: Definition

Die Bash (Bourne-again shell) ist eine Erweiterung der Unix-Shell und bietet dem Benutzer auf Unix und Linux Systemen eine Schnittstelle zum Kernel (Das Herz des Betriebssystems).

Da man via Bash Befehle eingeben und ausführen kann, spricht man hier von einem Kommandozeileninterpreter bzw. CLI (command-line interpreter ).

Mit der Bash ist es außerdem möglich Scripte bzw. Scriptsprachen zu interpretieren und auszuführen, so lassen sich kleine bis komplexe Aufgaben (teil-)automatisieren.


Weiterlesen:
Einführung in die Bash - Teil 2: Standard Kanäle und Pipes

Drucke diesen Beitrag Sende diesen Beitrag zu einem Freund


Kontakt   Anti-Hack - Gemeinsam gegen DDoS, Spam und Hacker   Nach oben   Zum Inhalt   Archiv-Modus   RSS-Synchronisation   Impressum