aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2015-12-10 18:06:16 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2015-12-11 14:50:49 +0100
commit3221356d188e6b9971fccedabf83e8c78fe3de77 (patch)
treeda90a63321c9922a1243e5d5fd371916e2562b7e /README.md
downloadctmg-3221356d188e6b9971fccedabf83e8c78fe3de77.tar.xz
ctmg-3221356d188e6b9971fccedabf83e8c78fe3de77.zip
Initial commit1.1
Diffstat (limited to 'README.md')
-rw-r--r--README.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..322e72b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,56 @@
+## ctmg
+
+`ctmg` is an encrypted container manager for Linux using `cryptsetup` and various standard file system utilities. Containers have the extension `.ct` and are mounted at a directory of the same name, but without the extension. Very simple to understand, and very simple to implement; `ctmg` is a simple bash script.
+
+### Usage
+
+ Usage: ctmg [ new | delete | open | close | list ] [arguments...]
+ ctmg new container_path container_size[units_suffix]
+ ctmg delete container_path
+ ctmg open container_path
+ ctmg close container_path
+ ctmg list
+
+### Examples
+
+#### Create a 100MiB encrypted container called "example"
+
+ zx2c4@thinkpad ~ $ ctmg create example 100MiB
+ [#] truncate -s 100MiB /home/zx2c4/example.ct
+ [#] cryptsetup --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --batch-mode luksFormat /home/zx2c4/example.ct
+ Enter passphrase:
+ [#] chown 1000:1000 /home/zx2c4/example.ct
+ [#] cryptsetup luksOpen /home/zx2c4/example.ct ct_example
+ Enter passphrase for /home/zx2c4/example.ct:
+ [#] mkfs.ext4 -q -E root_owner=1000:1000 /dev/mapper/ct_example
+ [+] Created new encrypted container at /home/zx2c4/example.ct
+ [#] cryptsetup luksClose ct_example
+
+#### Open a container, add a file, and then close it
+
+ zx2c4@thinkpad ~ $ ctmg open example
+ [#] cryptsetup luksOpen /home/zx2c4/example.ct ct_example
+ Enter passphrase for /home/zx2c4/example.ct:
+ [#] mkdir -p /home/zx2c4/example
+ [#] mount /dev/mapper/ct_example /home/zx2c4/example
+ [+] Opened /home/zx2c4/example.ct at /home/zx2c4/example
+ zx2c4@thinkpad ~ $ echo "super secret" > example/mysecretfile.txt
+ zx2c4@thinkpad ~ $ ctmg close example
+ [#] umount /home/zx2c4/example
+ [#] cryptsetup luksClose ct_example
+ [#] rmdir /home/zx2c4/example
+ [+] Closed /home/zx2c4/example.ct
+
+### Installation
+
+ # make install
+
+Or, use the package from your distribution:
+
+#### Gentoo
+
+ # emerge ctmg
+
+### Bug reports
+
+Report any bugs to <jason@zx2c4.com>.