mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 17:01:14 +00:00
![Michael Halcrow](/assets/img/avatar_default.png)
eCryptfs is a stacked cryptographic filesystem for Linux. It is derived from Erez Zadok's Cryptfs, implemented through the FiST framework for generating stacked filesystems. eCryptfs extends Cryptfs to provide advanced key management and policy features. eCryptfs stores cryptographic metadata in the header of each file written, so that encrypted files can be copied between hosts; the file will be decryptable with the proper key, and there is no need to keep track of any additional information aside from what is already in the encrypted file itself. [akpm@osdl.org: updates for ongoing API changes] [bunk@stusta.de: cleanups] [akpm@osdl.org: alpha build fix] [akpm@osdl.org: cleanups] [tytso@mit.edu: inode-diet updates] [pbadari@us.ibm.com: generic_file_*_read/write() interface updates] [rdunlap@xenotime.net: printk format fixes] [akpm@osdl.org: make slab creation and teardown table-driven] Signed-off-by: Phillip Hellewell <phillip@hellewell.homeip.net> Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
77 lines
2.3 KiB
Text
77 lines
2.3 KiB
Text
eCryptfs: A stacked cryptographic filesystem for Linux
|
|
|
|
eCryptfs is free software. Please see the file COPYING for details.
|
|
For documentation, please see the files in the doc/ subdirectory. For
|
|
building and installation instructions please see the INSTALL file.
|
|
|
|
Maintainer: Phillip Hellewell
|
|
Lead developer: Michael A. Halcrow <mhalcrow@us.ibm.com>
|
|
Developers: Michael C. Thompson
|
|
Kent Yoder
|
|
Web Site: http://ecryptfs.sf.net
|
|
|
|
This software is currently undergoing development. Make sure to
|
|
maintain a backup copy of any data you write into eCryptfs.
|
|
|
|
eCryptfs requires the userspace tools downloadable from the
|
|
SourceForge site:
|
|
|
|
http://sourceforge.net/projects/ecryptfs/
|
|
|
|
Userspace requirements include:
|
|
- David Howells' userspace keyring headers and libraries (version
|
|
1.0 or higher), obtainable from
|
|
http://people.redhat.com/~dhowells/keyutils/
|
|
- Libgcrypt
|
|
|
|
|
|
NOTES
|
|
|
|
In the beta/experimental releases of eCryptfs, when you upgrade
|
|
eCryptfs, you should copy the files to an unencrypted location and
|
|
then copy the files back into the new eCryptfs mount to migrate the
|
|
files.
|
|
|
|
|
|
MOUNT-WIDE PASSPHRASE
|
|
|
|
Create a new directory into which eCryptfs will write its encrypted
|
|
files (i.e., /root/crypt). Then, create the mount point directory
|
|
(i.e., /mnt/crypt). Now it's time to mount eCryptfs:
|
|
|
|
mount -t ecryptfs /root/crypt /mnt/crypt
|
|
|
|
You should be prompted for a passphrase and a salt (the salt may be
|
|
blank).
|
|
|
|
Try writing a new file:
|
|
|
|
echo "Hello, World" > /mnt/crypt/hello.txt
|
|
|
|
The operation will complete. Notice that there is a new file in
|
|
/root/crypt that is at least 12288 bytes in size (depending on your
|
|
host page size). This is the encrypted underlying file for what you
|
|
just wrote. To test reading, from start to finish, you need to clear
|
|
the user session keyring:
|
|
|
|
keyctl clear @u
|
|
|
|
Then umount /mnt/crypt and mount again per the instructions given
|
|
above.
|
|
|
|
cat /mnt/crypt/hello.txt
|
|
|
|
|
|
NOTES
|
|
|
|
eCryptfs version 0.1 should only be mounted on (1) empty directories
|
|
or (2) directories containing files only created by eCryptfs. If you
|
|
mount a directory that has pre-existing files not created by eCryptfs,
|
|
then behavior is undefined. Do not run eCryptfs in higher verbosity
|
|
levels unless you are doing so for the sole purpose of debugging or
|
|
development, since secret values will be written out to the system log
|
|
in that case.
|
|
|
|
|
|
Mike Halcrow
|
|
mhalcrow@us.ibm.com
|