screen – Zugriff auf anderen User

Aufgabe

Man möchte auf “screen” eines anderen Benutzers zugreifen.
Der erste Gedanke wäre so etwas: “sudo -u username screen”.

Problem

Geht nicht. Fehlermeldung:

Cannot open your terminal '/dev/pts/0' - please check.

Lösung

sudo su -username
script /dev/null
screen -r

Quelle

http://dbadump.blogspot.de/2009/04/start-screen-after-sudo-su-to-another.html

Erklärung

Muss ich hier erst mal schuldig bleiben. Von dem Kommando “script” habe ich vorher noch nie gehört.
Ich habe mich einfach mal darüber gefreut, dass es geht.

 

 

Arduino Board

Ich habe mal im Internet nachgeschaut und habe mir das Arduino Board gekauft!

Arduino ist ein schönes Spielzeug für Groß und klein. Der Link zum  Bestellen ist hier: www.fritzing.org

Mit dem Arduino Board kann man Ampeln und andere Sachen bauen. Mir selbst gefällt es gut. Mein Vater und ich sitzen fast jeden Tag damit und machen was neues. Daher werde ich das Arduino Board aus eigener Erfahrung weiter Empfelen.

Nils

P.S.

Bitte hinter lasst ein Kommentar

Dynamics AX – WinAPI::shellExecute – Alternative

System.Diagnostics.Process             objProcess;
System.Diagnostics.ProcessStartInfo    objProcessStartInfo;
int                                    intExitCode;
;

objProcessStartInfo = new System.Diagnostics.ProcessStartInfo();
objProcessStartInfo.FileName(@"myEXEFile");
objProcessStartInfo.Arguments(@"/paraA /paraB");

objProcess = new System.Diagnostics.Process();
objProcess.StartInfo = objProcessStartInfo;

objProcess.Start();
objProcess.WaitForExit();

intExitCode = objProcess.ExitCode;

vmware server 2 – Remote Console mit User und Password aufrufen

Für die fast verzweifelten:

Der Aufruf der Standalone-Konsole (vmware-vmrc.exe) mit den vorgesehene Parametern -u <Username> -p <Password> geht nur, wenn man den Parameter -M <MachineId> durch den Machine-Path ersetzt.

Ein funktionierendes Beispiel:

vmware-vmrc.exe -h VMwareHostName:8333 -u MyUser -p MyPass "[DatastoreName] MachinePath/ConfigFile.vmx"

so geht’s…

tcpdump

Eine kleine Gedächtnisstütze für meine Kollegen die nicht permanent mit Linux arbeiten…

Der Befehl

sudo tcpdump -nt -i eth0

zeigt alle Pakete am Interface eth0 an.
Die Parameter sollen das IP-Lookup verhindern (-n) und die Ausgabe von Timestamps unterdrücken (-t).

Die Ausgabe kann schnell unübersichtlich werden und meistens weiß man noch nicht so recht wonach man sucht. Deshalb blende ich alle uninteressanten Pakete aus:

sudo tcpdump -nt -i eth0 port ! 22 and port ! 80 and host ! 192.168.1.123

Mir ist nicht bekannt, ob es eine Begrenzung für die Auflistung aller nicht interessierenden Dinge gibt.

iptables-counter mit watch verfolgen

Ich habe keine Entschuldigung dafür, dass mir das Kommando “watch” bisher entgangen ist – trotz diverser bestandener LPI-Prüfungen.

Der Befehl

sudo watch -n 0 'iptables -nvL | grep -v "0     0"'

gibt kontinuierlich die Zähler der iptables-Regeln aus.

Zurückstellen der Zähler auf Null geht mit:

sudo iptables -Z

Was könnte man damit machen?

Nehmen wir an, dass offensichtlich HTTP-Traffic (Port 80) aus dem internen Netz (an eth2) ins Internet (an eth0) ungewöhlich viel ist.

Jetzt möchten wir gerne wissen, welcher Client der Verursacher sein könnte. Dass liesse sich mit tcpdump realisieren. Der Befehl

sudo tcpdump -nti eth2 port 80

würde den gesamten HTTP-Traffic am Interface eth2 anzeigen.
Die Auflistung ist nicht sehr übersichtlich. Man muss etwas Übung haben und es ist eine gute Idee, die Ausgabe zum Lesen mit Ctrl-C abzubrechen.

Weitere Infos zu tcpdump.

Erzeugen von Windows Diensten mit Visual Studio 2010

Vorbemerkungen:

  • man benötigt mindestens Visual Studio Professional (Standard reicht nicht)

Ablauf:

  1. neues VS-Projekt mit Vorlage “Windows-Dienst” anlegen
    Name: CidService
  2. Eigenschaft “ServiceName” festlegen: CidService
  3. Optional weitere Eigenschaften festlegen
  4. Methoden OnStart und OnStop füllen
  5. Installer hinzufügen (Rechtsklick auf Service-Hintergrund)
  6. Eigenschaft “StartType” von ServiceInstaller1 festlegen
  7. Eigenschaft “Account” von ServiceProcessInstaller1 festlegen
  8. Projektmappe erstellen
  9. Setup-Projekt hinzufügen
  10. Eigenschaften “Manufacturer” und “ProductName” bearbeiten
  11. Dateisystem-Editor aufrufen (oben im Projektmappen-Explorer”)
  12. “Primäre Ausgabe von …” zu Anwendungsordner hinzufügen
  13. “Editor für benutzerdefinierte Aktionen” aufrufen
  14. benutzerdefinierte Aktion hinzufügen, Anwendungsordner, Ausgabe von…

Quellen:

Gewusst wie: Erstellen von Windows-Diensten
Gewusst wie: Hinzufügen von Installern zur Dienstanwendung

 

.NET-Zugriff auf Registry unter Windows 7 64Bit

Szenario:

  • RegistryKey unter Windows 7 64Bit mit regedit.exe angelegt
  • unter .NET versucht, den RegistryKey mit objRegistryKey.OpenSubKey(…) zu öffnen

Fehler:

  • der von Hand (regedit.exe) angelegte RegistryKey kann nicht geöffnet werden

Diagnose:

  • der testweise Aufruf von objRegistryKey.GetSubKeyNames() zeigt, dass der angelegte RegistryKey fehlt

Erklärung:

Es gibt verschiedene “Views” der Registry. Wenn man unter WIndows 7 64Bit mit regedit.exe einen Schlüssel anlegt, so wird dieser in der “64Bit-Registry” angelegt. Der Zugriff mit .NET ist abhängig von der in VS2010 eingestellten Ziel-CPU (default ist x86). Deshalb hat meine 32Bit-Assembly versucht auf die “32Bit-Registry” zuzugreifen.

Lösung 1:

Man ruft “C:\Windows\SysWOW64\regedit32.exe” auf und legt damit den RegistryKey an. Mit diesem Programm wird die “32Bit-Registry” bearbeitet.

Lösung 2:

Man verzichtet auf die manuelle Anlage von RegistryKeys und legt alle Keys über die eigene Assembly an (blendende Theorie – wird nicht immer möglich sein).

Für Verbesserungsvorschläge für meine etwas unbeholfene (aber hoffentlich verständliche) Wortwahl wäre ich durchaus dankbar.

 

 

Suche (nach nicht vorhandenem Server) beschleunigen

Bei aus Vorlagen entstandenen Office-Dokumenten kann es vorkommen, dass das Öffnen einige Jahre (gefühlt) dauert.

Mögliche Ursache kann sein, dass der Pfad zur Vorlage (z.B. \\SERVERNAME\Vorlagen\…) mittlerweile veraltet ist, weil SERVERNAME im lokalen Netzwerk nicht existiert.

Abhilfe schafft in diesen Fällen ein Eintrag in der Datei

C:\Windows\System32\Drivers\etc\lmhosts

. Nicht lmhosts.sam, diese dann ggfs. umbenennen.

In der Datei dann folgende Zeile ergänzen:

127.0.0.1    SERVERNAME    #PRE

Die Suche nach der Vorlage wird dadurch nicht erfolgreicher (die Freigabe \\localhost\Vorlagen wird vermutlich nicht existieren) – aber die negative Antwort kommt ohne Verzögerung.

Änderungen an der LMHOSTS werden nach Neustart oder durch Eingabe von

nbtstat -R

aktiv.