#sysadmin Teil 1: Wie man sich auf Linux Systemen verstecken kann

Hier mal ein paar kleine Dinge zusammengeschrieben wie man sich auf Linux Systemen verstecken kann. Was man als Sysadmin dagegen tun kann gibt es dann in dem nächsten Blogpost

  • Wenn man den Output von den Kommandos lastlog, last oder lastb leeren möchte hilft folgendes:
    user@host ~ $ >/var/log/lastlog
    user@host ~ $ >/var/log/wtmp
    user@host ~ $ >/var/log/btmp
  • Befehle die mit vorangestellten zwei Leerzeichen ausgeführt werden sind normalerweise nicht der History sichtbar
    user@host ~ $   cat /var/www/foo/mysql.inc.php
  • Kommandos nicht in die History schreiben:
    user@host ~ $ export HISTSIZE=0
  • PROMPT_COMMAND resetten:
    user@host ~ $ export PROMPT_COMMAND=""
  • History löschen und Shell beenden:
    user@host ~ $ unset HISTFILE && exit
  • Prozesse verstecken kann man, indem man ein leeres Verzeichnis über ein /proc/PID Verzeichnis mountet. Den Mount wiederum kann man auch verstecken:
    user@host ~ $ mkdir /tmp/foo
    user@host ~ $ cp /etc/mtab /tmp/t
    user@host ~ $ mount --bind /tmp/foo /proc/PID
    user@host ~ $ mv /tmp/t /etc/mtab

Weiteres gerne in die Kommentare.

Update 1, 25.07.2015:

Unix Timestamp vs. Java Timestamp

Wer als Sysadmin mit Java Entwicklern zu tun hat und beide wie selbstverstaendlich ueber Timstamps reden, dann gibt es doch einen entscheidenen Unterschied. Beide Timestamps geben die Zeit seit dem 01.01.1970 00:00:00h wieder. Unix Timestamps jedoch in Sekunden, Java Timestamps in Millisekunden.

Fuer die Praxis:

  • 01.01.2014 00:00:00 als Unix Timestamp:
    user@host:~$ date -d "2014-01-01 00:00:00" "+%s"
    1388530800
    user@host:~$
  • 01.01.2014 00:00:00 als Java Timestamp:
    usaer@host:~$ echo $(date -d "2014-01-01 00:00:00" "+%s")*1000 | bc
    1388530800000
    user@host:~$