VirtualBox – Expand VDI

Min virtuelle Windows 7 på 12GB kunne ikke rigtigt være med, når jeg skulle køre iTunes og synke musik. GUI værktøjet understøtter ikke disk-expansion og der er ikke meget hjælp at hente i VirtualBox FAQ’en. Jeg faldt heldigvis over denne artikkel, som beskriver problemet og løsningen :)

Helt basalt går det ud på at lave en ny disk (på den ønskede størrelse),

VBoxManage createhd --filename new_disk.vdi --size 102400 --remember

herefter kloner vi den gamle disk over i den nye,

VBoxManage clonehd old_disk.vdi new_disk.vdi --existing

nu tilføjer vi den nye disk (istedet for den gamle) til den virtuelle maskine og booter en CDROM med f.eks. gparted og udvider partitionen. Husk at ntfsprogs skal være installeret. Herefter er den klar til at boote Windows igen. Jeg måtte starte på Windows 7 CDROM’en og vælge ‘repair’ før jeg kunne boote den nye disk.

Her er lidt yderligere information om emnet.

Share

Remote backup of Linux vserver

On my server i have several Linux Vservers running. This works really well, but i am missing some sort of fail-over. I have read articles about drdb8 and active-passive setups, but I don’t want something to complicated. To solve my problem, I have written a small script to rsync a vserver remotely. The script will be executed from the remote server and uses SSH, rsync and vserver-build to do the work. This will not provide any fail-over, but will give you a copy of the vserver in case the real server crashes. You will have to start the vserver manually and the data will be old (from when the script was executed). I have developed and tested the script on Debian GNU/Linux 5.0 (Lenny). It should work on other Linux distributions, but you may have to change some paths.

#!/bin/sh
# Small script to copy a linux vserver from remote host to local host by using
# ssh, rsync and vserver-build. To avoid typing password, you can generate ssh keys
# without passphrase and append public key to the remote .ssh/authorized_keys file.
# If you specify the third parameter, true, the vserver will be started on this host
# after copying is done. Otherwise it will be started on the remote host again.
 
# Check parameters
if [ $# -lt 2 ]; then
        echo "Usage: $0 [source] [vhost] <true>"
        echo "Example: $0 root@primary-server vhost1"
        exit 1
fi
 
# Set values
SOURCE=${1:-"root@primary-server"}
VHOST=${2:-"vhost1"}
MIGRATE=${3:-"false"}
LOGFILE="/tmp/rsync-vhost_$$.log"
 
# Warning
echo "WARNING: this script will delete the LOCAL vserver ${VHOST} before copy/move"
echo "Press CTRL-C to abort !!!"
sleep 5
 
# Get context and network
CONTEXT=$(ssh -q -n $SOURCE cat /etc/vservers/${VHOST}/context)
NET_DEV=$(ssh -q -n $SOURCE cat /etc/vservers/${VHOST}/interfaces/0/dev)
NET_IP=$(ssh -q -n $SOURCE cat /etc/vservers/${VHOST}/interfaces/0/ip)
NET_PREFIX=$(ssh -q -n $SOURCE cat /etc/vservers/${VHOST}/interfaces/0/prefix)
NETWORK="${NET_DEV}:${NET_IP}/${NET_PREFIX}"
 
# Write to logfile
echo "Source: $SOURCE, Vserver: $VHOST, Migrate: $MIGRATE, Context: $CONTEXT, Network: $NETWORK" | tee $LOGFILE
# Make sure vserver is NOT running on local host
vserver $VHOST running >/dev/null 2>&1
if [ $? -eq 0 ]; then
        echo "Vserver $VHOST is already running on LOCAL host, aborting."
        exit 1
fi
 
# Make sure vserver is running on remote host
ssh $SOURCE "vserver $VHOST running" >/dev/null 2>&1
if [ $? -ne 0 ]; then
        echo "Vserver $VHOST is NOT running on REMOTE host, aborting."
        exit 1
fi
 
# Delete vserver on local host
echo "Deleting LOCAL copy of $VHOST"
echo 'y' | vserver $VHOST delete >/dev/null 2>&1
 
# Stop vserver on remote host
echo "Stopping REMOTE vserver ($VHOST on $SOURCE)"
ssh -q -n $SOURCE "vserver $VHOST stop" >>$LOGFILE 2>&1
 
# Build copy of vserver
echo "Building LOCAL copy of REMOTE vserver ($VHOST on $SOURCE)"
RSYNC_RSH=ssh
vserver ${VHOST} build -m rsync --context ${CONTEXT} \
  --hostname ${VHOST}.nellemann.biz \
  --interface ${NETWORK} \
  -- --source ${SOURCE}:/vservers/${VHOST}
 
# Start vserver on remote host - or local host if migrating
if [ x"$MIGRATE" == x"true" ]; then
        echo "Migrating $VHOST to LOCAL server"
        echo "vserver $VHOST start"
else
        echo "Starting REMOTE vserver ($VHOST on $SOURCE)"
        ssh -q -n $SOURCE "vserver $VHOST start" >>$LOGFILE 2>&1
fi
 
echo "done."
exit 0
Share

OpenOffice kontorpakke i Lyngby Taarbæk

Jeg har læst på version2.dk, at Lyngby Taarbæk kommune tilbyder OpenOffice kontorpakken til deres lærere og elever. Det er vel heller ikke rimeligt at forlange at elever og/eller lærere bruger licens penge til både Microsoft Windows og Microsoft Office kontor pakken. For mig er det frie valg vigtigt: jeg kan vælge den gratis OpenOffice eller købe MS Office. Valget skal være mit.

Kilde: http://www.version2.dk/artikel/12299-lyngby-taarbaek-skifter-til-openoffice-vil-undgaa-ulovlig-download

Share

Importer CAcert rod certifikat

For at undgå SSL sikkerheds advarsler i browser og email-klienter, når min mailserver tilgåes, så er det nødvendigt at importere rod certifikatet fra CAcert.

Bruger du Internet Explorer:

Bruger du Firefox (anbefales):

Mere information om CAcert:

/Mark

Share

EPG plugin for Dreambox|EPG plugin til Dreambox

Har længe kigget efter et EPG plugin, der virker med de danske sat kanaler (VIASAT, Canal Digital). De fleste plugins har kun virket med SKY eller andre udenlandske kanaler.

Jeg fandt EPG-Evolution (http://epg.evolution.project-x.us/index.php) og installerede det manuelt på min IPBOX-350. Og det ser ud til at virke fremragende :)

I have been looking for a EPG plugin that will work with my Danish satellite channels (Canal Digital, Viasat). Most plugins only suppotr foreign channels. I have found EPG-Evolution (http://epg.evolution.project-x.us/index.php) and installed it manually on my IPBOX 350 and it works superb.

Share

Linux LDAP Authentication (Debian family)

This short guide should get your Linux box authenticating it’s users against a central LDAP server.

Packages
We start by installing the required packages. The package names below are valid for Debian Etch and Ubuntu Edgy, but should work for other Debian/Ubuntu derived distributions.

apt-get install libpam-ldap libnss-ldap

PAM Configuration
In /etc/pam.d we are going to edit a couple of files, to let PAM know when to consult the LDAP directory. You should add the lines to the files listed below.

/etc/pam.d/common-account:

account     [default=bad success=ok user_unknown=ignore] pam_ldap.so

/etc/pam.d/common-auth:

auth     sufficient      pam_ldap.so use_first_pass

/etc/pam.d/common-password:

password     sufficient      pam_ldap.so use_authok

/etc/pam.d/common-session:

session       optional        pam_ldap.so

NSS Configuration
We need to tell the Name Server Switch to look in the LDAP

/etc/nsswitch.conf:

passwd:         compat ldap
group:          compat ldap
shadow:         compat

/etc/libnss-ldap.conf:

# LDAP Servers (one or many)
host ldap01.domain.org ldap02.domain.org# The distinguished name of the search base.
base dc=domain,dc=org
Share

Recovering the grub boot loader after Windows (re)install

After re-installing Windows XP on my Laptop (I dual-boot Windows and Ubuntu), my grub (linux bootloader) was overwritten. It is easy to fix this, so I once again can select between Linux and Windows at boot time:

  • Boot Ubuntu Desktop/Live CD
  • Open Terminal application
  • Mount root partition of local Linux Install (eg. mount /dev/sda2 /mnt)
  • Reinstall grub: grub-install –root-directory=/mnt /dev/sda

  • If you get errors try: grub-install --root-directory=/mnt /dev/sda --recheck
  • Remember to use the correct device names above.

More at: https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows#head-bf3232f10ddf1b078de064622ccbb25225cdb3c0

Share

Bedre sikkerhed med Linux-PAM, del 2.

Jeg skrev kort om valg af sikre adgangskoder i første del af Linux-PAM artiklen. Her kigger vi nærmere på to andre PAM moduler, der under de rigtige omstændigheder også forbedrer sikkerheden.

Historik
Det er muligt at slå password historik til, så en bruger ikke kan genbruge sine tidligere adgangskoder. Dette ser man ofte i Windows miljøer, hvor brugerne bliver tvunget til at finde på nye koder, men det er også muligt under Linux (og andre Unix’er der bruger PAM). For at dette virker, skal pam_unix.so modulet, have en fil, hvor den kan gemme og sammenligne gamle adgangskoder, så den opretter vi:

touch /etc/security/opasswd
chown root:rot /etc/security/opasswd
chmod 600 /etc/security/opasswd

Herefter skal vi ændre i /etc/pam.d/common-password filen, så linien med pam_unix.so, og fortælle at vi skal huske på de 24 (f.eks) sidste adgangskoder:

password required pam_unix.so      md5 remember=24 use_authtok

Login Forsøg
Med pam_tally.so modulet, er det muligt at låse brugere ude af systemet, hvis de taster deres adgangskode forkert et hvis antal gange.

auth        required      pam_tally.so onerr=fail magic_root
account     required      pam_tally.so deny=4 magic_root reset

Der er både fordele og ulemper med ovenstående teknikker og det er ikke sikkert at sikkerheden i sidste ende bliver forbedret. Stiller man for store krav til sine brugere, når de skal vælge adgangskoder, så ender det ofte med at koden står på en gul seddel siden af skærmen.

Share