43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| 
								 | 
							
								<section xmlns="http://docbook.org/ns/docbook"
							 | 
						||
| 
								 | 
							
								         xmlns:xlink="http://www.w3.org/1999/xlink"
							 | 
						||
| 
								 | 
							
								         xmlns:xi="http://www.w3.org/2001/XInclude"
							 | 
						||
| 
								 | 
							
								         version="5.0"
							 | 
						||
| 
								 | 
							
								         xml:id="sec-luks-file-systems">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<title>LUKS-Encrypted File Systems</title>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<para>NixOS supports file systems that are encrypted using
							 | 
						||
| 
								 | 
							
								<emphasis>LUKS</emphasis> (Linux Unified Key Setup).  For example,
							 | 
						||
| 
								 | 
							
								here is how you create an encrypted Ext4 file system on the device
							 | 
						||
| 
								 | 
							
								<filename>/dev/sda2</filename>:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<screen>
							 | 
						||
| 
								 | 
							
								$ cryptsetup luksFormat /dev/sda2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WARNING!
							 | 
						||
| 
								 | 
							
								========
							 | 
						||
| 
								 | 
							
								This will overwrite data on /dev/sda2 irrevocably.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Are you sure? (Type uppercase yes): YES
							 | 
						||
| 
								 | 
							
								Enter LUKS passphrase: ***
							 | 
						||
| 
								 | 
							
								Verify passphrase: ***
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$ cryptsetup luksOpen /dev/sda2 crypted
							 | 
						||
| 
								 | 
							
								Enter passphrase for /dev/sda2: ***
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$ mkfs.ext4 /dev/mapper/crypted
							 | 
						||
| 
								 | 
							
								</screen>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								To ensure that this file system is automatically mounted at boot time
							 | 
						||
| 
								 | 
							
								as <filename>/</filename>, add the following to
							 | 
						||
| 
								 | 
							
								<filename>configuration.nix</filename>:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<programlisting>
							 | 
						||
| 
								 | 
							
								boot.initrd.luks.devices = [ { device = "/dev/sda2"; name = "crypted"; } ];
							 | 
						||
| 
								 | 
							
								fileSystems."/".device = "/dev/mapper/crypted";
							 | 
						||
| 
								 | 
							
								</programlisting>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</para>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								</section>
							 |