CategoryUncategorized

doing things with subversion

Because I don’t use subversion that often, i thought that it might be cool to have some basic svn commands written down here… so that’s what i did.

on the server do:

create a new branch:

# svnadmin create /path/to/new/branch
# chown www-data:www-data /path/to/new/branch

the piece of text to put into your apache2 config to enable svn over WebDAV:

<Location /newbranch>
 DAV svn
 SVNPath /path/to/new/branch
 SVNAutoversioning on
 AuthType Basic
 AuthName "Subversion new branch, please authenticate"
 AuthUserFile /path/to/new/branch/.passwd
 Require valid-user
</Location>

create that .passwd file:

# htpasswd -cs /path/to/new/branch/.passwd username

to add an other user, use only “-c” the second time.

on client side do:

download all that stuff witch is in the repository (checkout):

$ svn co --username username https://svn.yourserver.com/apachealias

then, edit stuff. If you added some new files, add them to the repo with:

$ svn add newfile.txt

next time you edit stuff in your local repository, make an update to be sure that you work with up to date files:

$ svn up

and finally, when you are finished working, commit your work back to the repository:

$ svn ci -m 'comment about your changes'

thats it.

If you like to get an actual pro, try this online book: http://svnbook.red-bean.com/ or visit http://subversion.apache.org/.

Netzwerk tool Verzeichnis

Immer wieder einmal braucht man für die Arbeit mit dem Internet diverse Tools, die das Leben vereinfachen. Damit ich diese Tools nicht immer und immer wieder von neuem suchen muss wenn ich mal wieder nicht auf meinem Computer bin, habe ich ein Verzeichnis dieser Tools erstellt: netools.ch.

Man findet da tools wie Whois, Dig, Traceroute usw. Ein Blick auf die Site lohnt sich allemal!

Dateiattribute unter Linux

Wenn man Linux mit Ext 2 oder 3 betreibt, kann man den Dateien ganz lustige Attribute setzen. Diese können unter anderem verhindern, das ein File verändert, gelöscht oder ungenügend gelöscht werden kann. Eine Auflistung aller Attribute mal vorweg:

  • a Append only. Zu Dateien mit diesem Attribut können nur noch Daten hinzugefügt werden.
  • A No atime update. Wenn dieses Attribut gesetzt ist und auf die Datei zugegriffen wird, wird die atime nicht geupdated, was manchmal zu mehr Geschwindigkeit führen kann.
  • D Änderungen in einem Ordner der dieses Attribut gesetzt hat, werden sofort auf die Harddisk geschrieben.
  • i Immutable. Wenn dieses Attribut gesetzt ist, kann die entsprechende Datei nicht mehr verändert oder gelöscht werden. Berechtigungen können auch nicht mehr verändert werden und es können keine Links zu dieser Datei erstellt werden.
  • s Wenn eine Datei mit gesetztem s gelöscht wird, wird sie mit Nullen überschrieben.
  • S Diese Datei wird sofort auf die Festplatte geschrieben, das selbe wie die sync Option, aber nur gezielt.
  • u Wird diese Datei gelöscht, behält das System die Daten auf der Platte, kann also wiederhergestellt werden.

Diese Liste ist nicht vollständig, allerdings sind die anderen Flags eher weniger zu gebrauchen, wer sie trotzdem sehen will, kann das hier machen.

Mit lsattr kann man sehen, welche Attribute bei einer Datei gesetzt sind, mit chattr kann man die Attribute ändern, z.B. so:

host:~# touch test  # test Datei erstellen
host:~# lsattr test
------------------- test # Keine Attribute gesetzt
host:~# chattr +i test # "Unlöschbar" machen
host:~# lsattr test
----i-------------- test # "Immutable" gesetzt
host:~# rm test
rm: cannot remove `test': Operation not permitted # Ooops, geht nicht..
host:~# chattr -i test # "Immutable" wieder weg nehmen
host:~# rm test
host:~# ls test
ls: cannot access test: No such file or directory # und weg
host:~#

Diese Attribute können nützlich sein, um ein System etwas sicherer zu machen. Wenn man z.B. das a Attribut auf Logdateien anwendet, können diese nicht mehr verändert, sondern nur noch ergänzt werden. Oder wenn i auf das gesamte /bin oder /sbin Verzeichnis angewandt wird, können die Programme nicht mehr verändert werden, dies kann vor RootKits o.ä. schützen, muss aber bei einem Systemupdate kurzfristig wieder rückgängig gemacht werden, da sonst die alten nicht mit den neuen Programmversionen überschrieben werden können.

Ausserdem können diese Attribute als root genau so schnell gelöscht wie gesetzt werden, wirkliche Sicherheit geben diese Attribute also nicht, aber sie können eine weitere Hürde auf dem Weg in das System sein.

XEN CD-Image im Betrieb wechseln

Wenn während der Installation eines HVM Gastes die CD gewechselt werden muss, geht das mit XEN bequem in der Konsole :)

Als erstes abchecken welche Blockdevices an der Maschiene angehängt sind:

dom0:# xm block-list -l <domain name>
(768
    ((backend-id 0)
        (virtual-device 768)
        (device-type disk)
        (state 1)
        (backend /local/domain/0/backend/vbd/31/768)
    )
)
(5632
    ((backend-id 0)
        (virtual-device 5632)
        (device-type cdrom)
        (state 1)
        (backend /local/domain/0/backend/vbd/31/5632)
    )
)

Die erste Nummer ist die “device number”, optimal ist nur ein CD-Rom attached, dann muss man die Nummer wählen die vor dem Block mit device-type cdrom steht, sonst muss man probieren. Wenn man weiss welches Gerät abgehängt werden muss, tut man dies mit:

dom0:# xm block-detach <domain name> <device number>

(ich musste jeweils noch -f mitgeben, sonst ist nichts passiert)

Danach das neue Image mit xm block-attach anhängen:

dom0:# xm block-attach <domain> file://path/to/image.iso /dev/hdc r

Natürlich kann file:// z.B. durch phy:// ersetzt werden, wenn man das physikalische CD-Rom anhängen möchte. Auch /dev/hdc kann verändert werden.

Zabbix Template für Dateiintegrität

Wenn die Server eh schon mit Zabbix überwacht werden, kann man damit auch gleich die Integrität von wichtigen Dateien checken. Dies hilft z.B. beim entdecken von Angriffen auf das System durch RootKits, welche oft Dateien manipulieren um sich selbst zu verstecken.

Einfach diese XML Datei herunterladen und via die Importfunktion zu Zabbix hinzufügen, danach direkt den Host oder das Standardtemplate damit verlinken.

Weitere Vorschläge für zu überwachende Dateien sind sehr willkommen!

© 2017 netmess

Theme by Anders NorenUp ↑