8:losetup

From Linux Man Pages

Jump to: navigation, search
      losetup - set up and control loop devices
      

Contents

SYNOPSIS

      losetup [ -e encryption ] [options] loop_device file
      losetup -F [options] loop_device [file]
      losetup [ -d ] loop_device
      losetup -a

DESCRIPTION

      losetup  is  used  to  associate  loop devices with regular files or block devices, to detach loop devices and to
      query the status of a loop device. If only the loop_device argument is given, the  status  of  the  corresponding
      loop device is shown.

OPTIONS

      -a     Show status of all loop devices.
 
      -C itercountk
             Runs  hashed  password  through itercountk thousand iterations of AES-256 before using it for loop encryp-
             tion. This consumes lots of CPU cycles at loop setup/mount time but not thereafter.  In  combination  with
             password seed this slows down dictionary attacks. Iteration is not done in multi-key mode.
 
      -d     Detach the file or device associated with the specified loop device.
 
      -e encryption
             Enable data encryption. Following encryption types are recognized:
 
             NONE   Use no encryption (default).
             XOR    Use a simple XOR encryption.
             AES128 AES
                    Use 128 bit AES encryption. Password is hashed with SHA-256 by default.
             AES192 Use 192 bit AES encryption. Password is hashed with SHA-384 by default.
             AES256 Use 256 bit AES encryption. Password is hashed with SHA-512 by default.
 
             twofish128 twofish160 twofish192 twofish256
             blowfish128 blowfish160 blowfish192 blowfish256
             serpent128 serpent192 serpent256 mars128 mars192
             mars256 rc6-128 rc6-192 rc6-256 tripleDES
                    These  encryption  types are available if they are enabled in kernel configuration or corresponding
                    modules have been loaded to kernel.
 
      -F     Reads and uses mount options from /etc/fstab that match specified loop  device,  including  offset=  size-
             limit=  encryption=  pseed=  phash=  loinit=  gpgkey= gpghome= itercountk= and looped to device/file name.
             loop= option in /etc/fstab must match specified loop device name. Command line options take precedence  in
             case of conflict.
 
      -G gpghome
             Set gpg home directory to gpghome, so that gpg uses public/private keys on gpghome directory. This is only
             used when gpgkey file needs to be decrypted using public/private keys. If gpgkey file  is  encrypted  with
             symmetric cipher only, public/private keys are not required and this option has no effect.
 
      -H phash
             Uses  phash  function  to  hash  password. Available hash functions are sha256, sha384, sha512 and rmd160.
             unhashed1, unhashed2 and unhashed3 functions also exist for compatibility with some  obsolete  implementa-
             tions.
 
             Hash  function random does not ask for password but sets up random keys and attempts to put loop to multi-
             key mode. When random/1777 hash type is used as mount option for mount program, mount program will  create
             new  file  system  on the loop device and construct initial permissions of file system root directory from
             octal digits that follow the slash character.
 
             WARNING! DO NOT USE RANDOM HASH TYPE ON PARTITION WITH EXISTING IMPORTANT DATA ON  IT.  RANDOM  HASH  TYPE
             WILL DESTROY YOUR DATA.
 
      -I loinit
             Passes a numeric value of loinit as a parameter to cipher transfer function. Cipher transfer functions are
             free to interpret value as they want.
 
      -K gpgkey
             Password is piped to gpg so that gpg can decrypt file gpgkey which contains the real keys that are used to
             encrypt  loop  device.  If decryption requires public/private keys and gpghome is not specified, all users
             use their own gpg public/private keys to decrypt gpgkey. Decrypted gpgkey should contain 1  or  64  or  65
             keys,  each  key  at  least  20 characters and separated by newline. If decrypted gpgkey contains 64 or 65
             keys, then loop device is put to multi-key mode. In multi-key mode first key is  used  for  first  sector,
             second key for second sector, and so on.  65th key, if present, is used as additional input to MD5 IV com-
             putation.
 
      -o offset
             The data start is moved offset bytes into the specified file or device. Normally offset is included in  IV
             (initialization  vector) computations. If offset is prefixed with @ character, then offset is not included
             in IV computations. @ prefix functionality may not be supported on some older kernels and/or loop drivers.
 
      -p passwdfd
             Read  the passphrase from file descriptor passwdfd instead of the terminal. If -K option is not being used
             (no gpg key file), then losetup attempts to read 65 keys from passwdfd, each key at  least  20  characters
             and  separated  by newline. If losetup successfully reads 64 or 65 keys, then loop device is put to multi-
             key mode. If losetup encounters end-of-file before 64 keys are read, then only first key is used  in  sin-
             gle-key mode.
 
      -r     Read-only mode.
 
      -s sizelimit
             Size  of loop device is limited to sizelimit bytes. If unspecified or set to zero, loop device size is set
             to maximum available (file size minus offset). This option may not be  supported  on  some  older  kernels
             and/or loop drivers.
 
      -S pseed
             Sets encryption password seed pseed which is appended to user supplied password before hashing. Using dif-
             ferent seeds for different partitions makes dictionary attacks slower but does not prevent  them  if  user
             supplied password is guessable. Seed is not used in multi-key mode.
 
      -t timeout
             make the password prompt time out after timeout seconds have passed by.
 
      -T     Asks password twice.
 
      -v     Verbose mode.

RETURN VALUE

      losetup returns 0 on success, nonzero on failure. When losetup displays the status of a loop device, it returns 1
      if the device is not configured and 2 if an error occurred which prevented losetup from determining the status of
      the device.

FILES

      /dev/loop0,/dev/loop1,...   loop devices (major=7)

EXAMPLE

      The following commands can be used as an example of using the loop device.
 
      dd if=/dev/zero of=/file bs=1k count=500
      head -c 2925 /dev/random | uuencode -m - | head -n 66 \
          | tail -n 65 | gpg --symmetric -a >/etc/fskey9.gpg
      losetup -e AES128 -K /etc/fskey9.gpg /dev/loop0 /file
      mkfs -t ext2 /dev/loop0
      mount -t ext2 /dev/loop0 /mnt
       ...
      umount /dev/loop0
      losetup -d /dev/loop0

RESTRICTION

      XOR encryption is terribly weak.

CATEGORY

Personal tools