BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Vorkonfigurierte ipfw-Firewallregeln verwenden

Möchte man einen FreeBSD -Rechner, der keine Serverdienste zur Verfügung stellt, mittels einer ipfw-Firewall schützen so kann eine vorkonfigurierte Firewall Konfiguration verwendet werden:

firewall_enable="YES"
firewall_type="workstation"

Mit dem Typ workstation wird der Rechner mit einer statefull-Firewallkonfiguration geschützt und keine Serverdienste freigegeben. Nun muss die Konfiguration noch gestartet werden:

# /etc/rc.d/ipfw start

Weitere Firewall-Typen findet man in der Datei /etc/rc.firewall.

Comments (3)  Permalink

/tmp beim Systemstart automatisch löschen

Möchte man den Inhalt der /tmp Partition automatisch beim Systemstart löschen, so kann folgende Zeile in der /etc/rc.conf eingefügt werden:

clear_tmp_enable="YES"
Comments (1)  Permalink

Einem Benutzer nur seine eigenen Prozesse anzeigen

Mit Hilfe der sysctl-Variable security.bsd.see_other_uids kann festgelegt werden, ob ein Benutzer die Prozesse alle Benutzer oder nur seine eigenen sieht. Wird die sysctl-Variable auf 0 gesetzt, kann ein Benutzer nur noch seine eigenen Prozesse mit ps(1) oder top(1) sehen:

# sysctl security.bsd.see_other_uids=0
security.bsd.see_other_uids: 1 -> 0

Soll die Änderung dauerhaft gemacht werden, so kann folgende Zeile in der /etc/sysctl.conf eingefügt werden:

security.bsd.see_other_uids=0
 Permalink

Verzeichnisinhalt gruppiert darstellen

Mit Hilfe von dim lassen sich Verzeichnisinhalte nach Dateiendungen und Dateinamen gruppiert darstellen. Im FreeBSD-Portbaum findet man dim unter sysutils/dim:

# cd /usr/ports/sysutils/dim && make install clean

Zeigt man den Inhalt eines Verzeichnisses mit ls(1) an, so wird der Inhalt alphabetisch ausgegeben:

# ls work/mozilla-central/ipc/chromium/src/third_party/libevent/
ChangeLog               epoll.c                 evrpc-internal.h        mac/
Makefile.am             epoll_sub.c             evrpc.c                 min_heap.h
Makefile.in             evbuffer.c              evrpc.h                 missing
README                  evdns.3                 evsignal.h              mkinstalldirs
README.chromium         evdns.c                 evutil.c                poll.c
aclocal.m4              evdns.h                 evutil.h                quotes.patch
autogen.sh              event-config.h          http-internal.h         sample/
buffer.c                event-internal.h        http.c                  select.c
compat/                 event.3                 install-sh              signal.c
config.guess            event.c                 kqueue.c                strlcpy-internal.h
config.h.in             event.h                 libevent.gyp            strlcpy.c
config.sub              event_rpcgen.py*        linux/                  sys-queue-macros.patch
configure*              event_tagging.c         log.c                   test/
configure.in            evhttp.h                log.h
devpoll.c               evport.c                ltmain.sh

Verwendet man dim, so werden die Dateien spaltenweise nach Dateiendungen und falls identische Dateinamen vorhanden sind zeilenweise sortiert dargestellt:

# dim work/mozilla-central/ipc/chromium/src/third_party/libevent/
ChangeLog              Makefile.am            Makefile.in            aclocal.m4             autogen.sh             
README                 README.chromium        config.h.in                                   ltmain.sh              
compat                 buffer.c                                                                                    
config.guess           devpoll.c              config.sub                                                           
configure              epoll.c                configure.in                                                         
                       epoll_sub.c                                                                                 
                       evbuffer.c                                                                                  
evdns.3                evdns.c                evdns.h                                                              
event.3                event.c                event.h                                                              
event_rpcgen.py        event_tagging.c        event-config.h                                                       
install-sh             evport.c               event-internal.h                                                     
libevent.gyp                                  evhttp.h                                                             
linux                  evrpc.c                evrpc.h                                                              
mac                                           evrpc-internal.h                                                     
missing                                       evsignal.h                                                           
mkinstalldirs          evutil.c               evutil.h                                                             
quotes.patch           http.c                 http-internal.h                                                      
sample                 kqueue.c                                                                                    
sys-queue-macros.patch log.c                  log.h                                                                
test                   poll.c                 min_heap.h                                                           
                       select.c               strlcpy-internal.h                                                   
                       signal.c                                                                                    
                       strlcpy.c    

Mit der -s Option wird zusätzlich noch die Dateigrösse angezeigt:

# dim -s work/mozilla-central/ipc/chromium/src/third_party/libevent/
ChangeLog 11k             Makefile.am 3k            Makefile.in 32k           aclocal.m4 .2m            autogen.sh .2k            
README 1k                 README.chromium .9k       config.h.in 6k                                      ltmain.sh .1m             
compat .5k                buffer.c 9k                                                                                             
config.guess 44k          devpoll.c 10k             config.sub 32k                                                                
configure .7m             epoll.c 8k                configure.in 9k                                                               
                          epoll_sub.c 1k                                                                                          
                          evbuffer.c 10k                                                                                          
evdns.3 11k               evdns.c 85k               evdns.h 18k                                                                   
event.3 17k               event.c 22k               event.h 37k                                                                   
event_rpcgen.py 44k       event_tagging.c 9k        event-config.h 7k                                                             
install-sh 4k             evport.c 12k              event-internal.h 3k                                                           
libevent.gyp 1k                                     evhttp.h 11k                                                                  
linux .5k                 evrpc.c 16k               evrpc.h 16k                                                                   
mac .5k                                             evrpc-internal.h 2k                                                           
missing 10k                                         evsignal.h 2k                                                                 
mkinstalldirs .7k         evutil.c 6k               evutil.h 5k                                                                   
quotes.patch .8k          http.c 66k                http-internal.h 4k                                                            
sample .5k                kqueue.c 11k                                                                                            
sys-queue-macros.patch 1k log.c 4k                  log.h 2k                                                                      
test .5k                  poll.c 9k                 min_heap.h 5k                                                                 
                          select.c 8k               strlcpy-internal.h .3k                                                        
                          signal.c 8k                                                                                             
                          strlcpy.c 2k 

Mehr Informationen zu dim erhält man mit der -h Option.

 Permalink

Herausfinden was vom mount Befehl ausgeführt wird

Möchte man herausfinden wie Dateisysteme mit dem mount Befehl gemountet werden, so kann die -d und -v Option von mount verwendet werden. Folgendes Beispiel zeigt welche Befehle von einem mount -a im Single-User-Mode ausgeführt würden. Die einzelnen Befehle werden dabei nur angezeigt und nicht ausgeführt:

# mount -adv
mount -t ufs -o rw -o update /dev/ad4s3a /
mount -t tmpfs -o rw tmpfs /tmp
mount -t ufs -o rw /dev/ad4s3f /usr
mount -t ufs -o rw /dev/ad4s3d /var
mount -t procfs -o rw proc /proc

Mehr Informationen zu mount findet man in der Manpage mount(8).

 Permalink

Fotogalerie fürs Web auf der Kommandozeile generieren

Mit Hilfe von llgal kann auf der Kommandozeile aus einem Verzeichnis mit Fotos eine statische Fotogalerie generiert werden, welche danach auf ein Webserver geladen werden kann. Im FreeBSD -Portbaum findet mann llgal unter www/llgal:

# cd /usr/ports/www/llgal && make install clean

Möchte man die Fotogalerie erstellen, wechselt man in das Verzeichnis mit den Fotos und führt llgal aus:

# llgal
Listing entries in . :  100.00%
Preparing entries:  100.00%
Found 13 entries in current directory
Using '/usr/local/share/llgal/slidetemplate.html' as HTML slide template.
Creating individual slides:  100.00%
Using '/usr/local/share/llgal/indextemplate.html' as HTML index template.
Creating the index.html file:  100.00%
No llgal.css in .llgal/, getting a copy from /usr/local/share/llgal

Eine index.html Datei als Startseite wurde dabei automatisch generiert. Danach kann das ganze Verzeichnis auf ein Webserver geladen werden. Ein Galerie-Titel kann mit der --title Option festgelegt werden. Mit der --sy Option können alle Bilder auf eine bestimmte Höhe in Pixel angepasst werden:

# llgal --title "Meine Fotos" --sy 480

Alle Optionen von llgal erhält man mit der -h Option.

 Permalink

Meta-Daten aus Dateien auslesen

Möchte man aus verschiedenen Dateien die gespeicherten Meta-Daten auslesen so kann dazu IExtract verwendet werden. Im FreeBSD -Portbaum findet man IExtract unter sysutils/iextract:

# cd /usr/ports/sysutils/iextract && make install clean

Nun können die in einer Datei gespeicherten Meta-Daten ausgelesen werden:

# IExtract bookmarks.html gravatar.jpg qemu.png pack.gif qemu.png Lied.mp3 pf-firewall-eurobsdcon.pdf zusammenfassung.doc
bookmarks.html - My Bookmarks     25.05.2005 15:00:04
gravatar.jpg -     Created with The GIMP 27.10.2005 15:06:51
qemu.png -       06.01.2006 14:22:44
pack.gif -     Created with The GIMP 03.07.2005 09:18:21
qemu.png -       06.01.2006 14:22:44
Lied.mp3 - Irgendein Interpreter! Sein Lied! 07.04.2005 15:48:03
pf-firewall-eurobsdcon.pdf - Brannmur med OpenBSDs PF Peter N. M. Hansteen pdfpagemode Foredrag for BLUG 15.11.2006 17:41:00
zusammenfassung.doc - Kapitel 1 OSI-Referenzmodell   14.04.2005 06:56:12

Möchte man Verzeichnisse rekursiv durchsuchen, so kann dazu die -r Option verwendet werden. Alle Optionen von IExtract erhält man mit der -h Option.

 Permalink
1-7/7