Nützliche Einzeiler: Unterschied zwischen den Versionen

Aus Si:Wiki von Siegrist SystemLösungen - Informatik und Rezepte
Wechseln zu: Navigation, Suche
(Aliases aus sendmail /etc/aliases extrahieren und mit Domainname in eine Postgresql Datenbank als source,destination Paar einfügen)
(Aliases aus sendmail /etc/aliases extrahieren und mit Domainname in eine Postgresql Datenbank als source,destination Paar einfügen)
Zeile 45: Zeile 45:
  
 
==== Aliases aus sendmail /etc/aliases extrahieren und mit Domainname in eine Postgresql Datenbank als source,destination Paar einfügen ====
 
==== Aliases aus sendmail /etc/aliases extrahieren und mit Domainname in eine Postgresql Datenbank als source,destination Paar einfügen ====
Der Oneliner gibt lediglich die 'psql' Statements aus, es wird nichts geschrieben oder verändert. Dind in der Aliases-Datei bereits Einträge in der Form 'user@domain.tld' vorhanden, werden diese so übernommen. Einträge ohne '@domain.tld' wird jeweils ein '@example.ch' angehängt.
+
Der Oneliner gibt lediglich die 'psql' Statements aus, es wird nichts geschrieben oder verändert.  
 +
Sind in der Aliases-Datei bereits Einträge in der Form 'user@domain.tld' vorhanden, werden diese so übernommen. Einträgen ohne '@domain.tld' wird jeweils ein '@example.ch' angehängt.
 
:<code><nowiki> cat /etc/aliases | grep -Pv "^#.*" | grep -v "|" | awk -F: '{ split($2,arr,","); for (i in arr) print $1,arr[i]; }' | sed 's/\\//' | perl -pe 's/(^(?!\S+\@)\S+)\s+((?!.+\@).+)/$1\@example.ch\t $2\@example.ch/' | sort  | awk '{print "psql -h 127.0.0.1 -U dbuser -d database -w -X --set ON_ERROR_STOP=on -t --no-align -t --no-align --field-separator \"|\" --single-transaction -c \"insert into mailagent.forwardings (source, destination) values (\047"$1"\047, \047"$2"\047);\"" }' </nowiki></code>
 
:<code><nowiki> cat /etc/aliases | grep -Pv "^#.*" | grep -v "|" | awk -F: '{ split($2,arr,","); for (i in arr) print $1,arr[i]; }' | sed 's/\\//' | perl -pe 's/(^(?!\S+\@)\S+)\s+((?!.+\@).+)/$1\@example.ch\t $2\@example.ch/' | sort  | awk '{print "psql -h 127.0.0.1 -U dbuser -d database -w -X --set ON_ERROR_STOP=on -t --no-align -t --no-align --field-separator \"|\" --single-transaction -c \"insert into mailagent.forwardings (source, destination) values (\047"$1"\047, \047"$2"\047);\"" }' </nowiki></code>

Version vom 10. März 2016, 15:07 Uhr

ssh forwarding von IPv4 Host zu IPv6 Host (www.example.org) über ein Intermediate Dualstack System

local IPv4 system create tunnel via intermediate: ssh -4 user@intermediate-system -L 2222:[2606:2800:220:1:248:1893:25c8:1946]:22
connect to IPv6 www.example.org: ssh localhost:2222

netcat filetransfer

  1. local: nc -l -p 77 -e "tee gaga" -v
  2. remote: cat file.tar.gz | netcat 192.168.1.113 77

netcat proxy

nc -l -p 1234 | nc www.server.com 80

Ersetze "foo" mit "bar" NUR in Zeilen die "baz" enthalten

sed '/baz/s/foo/bar/g'

Ersetze "foo" mit "bar" AUSSER in Zeilen die "baz" enthalten

sed '/baz/!s/foo/bar/g'

Ausgabe der Zeilen 45-50 einer Datei

sed -n '45,50p' filename

Directory sharing via http

ipv4: python -m SimpleHTTPServer 1234
ipv6: ???

csv to vcard converter

cat addr_book.csv | awk -F"," '{ print "BEGIN:VCARD\nN:" $3 ";" $2 ";" $1 "\nFN:" $3 "\nEMAIL;TYPE=INTERNET:" $5 "\nEND:VCARD"}' > addr_book.vcf

grep access_log und print host info

grep "GET /index.shtml?tcpportscan=" /var/log/apache2/access_log | awk '{system("host " "\""$1"\"")}' | uniq

die 1000 meistgenutzten Ports aus nmap-services als String komma-separiert

cat /usr/share/nmap/nmap-services | sort -nr -k 3 | grep "/tcp" |awk '{print $2}' | sed 1000q | awk -F/ '{print $1}' | sort -n | perl -n -e 'chomp; print "$_,";'

finde alle symlinks die auf DATEI zeigen

find / -type l -print 2>/dev/null | while read symlink; do echo -n "$symlink"; targ=$(readlink -f "$symlink"); echo "-> $targ"; done | grep "DATEI"

finde alle symlinks die auf DIRECTORY zeigen

find / -type l -xtype d -print 2>/dev/null | while read symlink; do echo -n "$symlink"; targ=$(readlink -f "$symlink"); echo "-> $targ"; done | grep "DIRECTORY"

8 Byte Passwort generieren

openssl rand -base64 6

Perl Oneliner um ein Unix-Socket File (Typ: s) zu erstellen

perl -MIO::Socket::UNIX -e 'IO::Socket::UNIX->new(Type => SOCK_STREAM(),Local => "/tmp/einsocket");'

Aliases aus sendmail /etc/aliases extrahieren und mit Domainname in eine Postgresql Datenbank als source,destination Paar einfügen

Der Oneliner gibt lediglich die 'psql' Statements aus, es wird nichts geschrieben oder verändert. Sind in der Aliases-Datei bereits Einträge in der Form 'user@domain.tld' vorhanden, werden diese so übernommen. Einträgen ohne '@domain.tld' wird jeweils ein '@example.ch' angehängt.

cat /etc/aliases | grep -Pv "^#.*" | grep -v "|" | awk -F: '{ split($2,arr,","); for (i in arr) print $1,arr[i]; }' | sed 's/\\//' | perl -pe 's/(^(?!\S+\@)\S+)\s+((?!.+\@).+)/$1\@example.ch\t $2\@example.ch/' | sort | awk '{print "psql -h 127.0.0.1 -U dbuser -d database -w -X --set ON_ERROR_STOP=on -t --no-align -t --no-align --field-separator \"|\" --single-transaction -c \"insert into mailagent.forwardings (source, destination) values (\047"$1"\047, \047"$2"\047);\"" }'