如何使用严格的安全策略将自己添加回 16.04 加密硬盘中的 sudo 组?

Léo*_* 준영 6 encryption live-usb rescue-mode 16.04

我知道线程如何将自己重新添加为 sudo 用户?,从 Live CD 挂载加密的 LUKS 分区, ... 该线程是关于如何在没有 root 的情况下重新添加 sudo 用户和加密环境中的其他严格安全策略:全媒体加密、主文件夹加密和空白空间覆盖,但您知道加密的密码。尽管如此,安装这种加密设备并不是那么简单。这不是重复的!

我的整个磁盘都是加密的。它包含 Ubuntu 16.04。我知道线程如何将自己添加回 sudo 用户?但它不适用于整个磁盘加密。我不sudo usermod -G staff masi小心做了(错过了-a那里的选项)并注销了。它将我从除staff. 要恢复默认设置,我应该运行

sudo usermod -a -G  adm cdrom sudo dip plugdev lpadmin sambashare masi
Run Code Online (Sandbox Code Playgroud)

但是,我不再是 sudo 组的一部分,所以我无法运行它。你不能在 Grub > 高级选项中进入 Ubuntu 的 Grub > Rescue Mode,因为整盘加密;没有启用root;在加密步骤之前/之后转移不成功;成功进入恢复模式描述这里; 在加密步骤中成功输入密码后没有 Grub 启动;你不能改变只读,/etc/default/grub所以你不能添加那里GRUB_CMDLINE_LINUX_DEFAULT="quiet splash single"让 Grub 工作。因此,您必须拥有带有ecryptfs-utils schroot 的实时 Ubuntu 。

持久的实时 Ubuntu 16.04 尝试

在此处创建一个持久的 Live Ubuntu USB 。我在此处此处没有现成解决方案的来源的推动下执行以下操作

> sudo apt-get update
...
> sudo apt-get install lvm2 cryptsetup
...
> sudo modprobe dm-crypt
> sudo fdisk -l % find the appropriate disc
sudo: unable to resolve host masi-CM6340: Connection refused
...
> sudo cryptsetup luksOpen /dev/sda5 myvolume % my case sda5 i.e. linux, not extended
sudo: unable to resolve host masi-CM6340: Connection refused
Enter passphrase for /dev/sda5: % which I enter successfully
>
> sudo mkdir /media/test
> 
% sudo vgscan not needed to activate the sockets
> sudo vgchange -ay % will make volumes active 
sudo: unable to resolve host masi-CM6340: Connection refused
2 logical volume(s) in volume group "ubuntu-vg" now active
% created also /dev/mapper/myvolume which can be mounted
>
> sudo mount /dev/sda5/home /media/test
mount: special device /dev/sda5/home does not exist (a path prefix is not a directory) 
> 
> % JayEye's 2nd proposal
> sudo mount /dev/mapper/myvolume /media/test
mount: unknown filesystem type 'LVM2_member'  
%
% chroot to the mounted device, add masi back to sudoers and work done
Run Code Online (Sandbox Code Playgroud)

sudo parted -l /dev/mapper/myvolume[JayEye] 的输出

Model: ATA WDC WD64000AAKS-7 (scsi)
Disk /dev/sda: 640 GB
Sector size (logical/physical): 512B/512B
Partition table: msdos
Disk Flags: 

Number Start End Size Type File system Flags
1 1049kB 512MB primary ext2 boot
2 513MB 640GB extended
5 513MB 640GB logical

Model: Kingston HyperX Fury 3.0 (scsi)
Disk /dev/sdb: 31.5GB
Sector size (logical/physical): 512B/512B
Partition table: msdos
Disk Flags

Number Start End Size Type File system Flags
1 27.3MB 30.4GB 30.4GB primary ext4 boot
2 30.4GB 31.5GB 1049MB primary linux-swap(v1)

Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/ubuntu--vg-swap_1: 34.3GB
Sector size (logical/physical): 512B/512B
Partition table: loop
Disk Flags: 

Number Start End Size Type File system Flags
1 0.00B 34.3GB 34.3GB linux-swap(v1)

Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/ubuntu--vg-root: 605GB
Sector size (logical/physical): 512B/512B
Partition table: loop
Disk Flags: 

Number Start End Size Type File system Flags
1 0.00B 605GB 605GB ex4

Error: /dev/mappper/myvolume: unrecognized disk label
Model: Linux device-mapper (crypt) (dm)
Disk /dev/mapper/myvolume: 640GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Run Code Online (Sandbox Code Playgroud)

我运行sudo mount /dev/mapper/myvolume--vg-root /mnt[JayEye] 并得到

mount: special device /dev/mapper/myvolume--vg-root does not exist
Run Code Online (Sandbox Code Playgroud)

我运行sudo mount /dev/mapper/ubuntu--vg-root /mnt[DavidFoester] 并得到以下输出,这可能仍表明安装成功

sudo:无法解析主机 masi-CM6340:连接被拒绝

这是我之前在上面的脚本中收到 3 次的警告。我成功访问加密设备的第一步vi /mnt/home/masi/README.txt

THIS DIRECTORY HAS BEEN UNMOUNTED TO PROTECT YOUR DATA. 

From the graphical desktop, click on: 
 "Access Your Private Data"

From the command line, run: 
 ecryptfs-mount-private
Run Code Online (Sandbox Code Playgroud)

其中访问您的私人数据文件中/mnt/home/masi/Access-Your-Private-Data.desktop,但点击它不会导致任何GUI输出中(图标启动,但关闭自动)。我也可以ecryptfs-mount-private在终端中找到,但没有它的联机帮助页/帮助页。我在文件夹中运行它,我得到

ERROR: Encrypted private directory is not setup properly
Run Code Online (Sandbox Code Playgroud)

如何ecryptfs-mount-private成功运行?

Boot to the System - DavidFoerster 的建议(3)不带 Live System

我的系统没有启用 root。我启动到 Grub > 高级选项 > 恢复模式。我运行sudo adduser masi sudo但得到错误代码 1

Adding user 'masi' to group 'sudo' ...
Adding user masi to group sudo
gpasswd: cannot lock /etc/group; try again later
adduser: '/usr/bin/gpasswd -a masi sudo' returned error code 1. Exiting. 
Run Code Online (Sandbox Code Playgroud)

重新启动,再次登录系统,我这样做了sudo echo "masi",我发现masi 不在 sudoers 文件中。...

我认为这里的问题是没有 mount 和 chroot。

Ubuntu 16.04 Live 系统尝试

我无法在正常的 Live 系统中打开加密。我跑不成功

> sudo modprobe dm-crypt
> sudo fdisk -l % find the appropriate disc
...
Device Boot Start End Sectors Size Id Type
/dev/sdf1 ... 449.9G ... Linux 
/dev/sdf2 ... 15.9G ... Extended
/dev/sdf5 ... 15.9G ... Linux swap / Solaris
> sudo cryptsetup luksOpen /dev/sdf1 myvolume 
Device /dev/sdf1 is not a valid LUKS device
> sudo cryptsetup luksOpen /dev/sdf2 myvolume  
Device /dev/sdf2 is not a valid LUKS device
Run Code Online (Sandbox Code Playgroud)

我仍然执行以下操作,但请注意,在继续之前必须成功完成上述步骤

sudo fdisk -l % find the correct sector
ubuntu@ubuntu:~$ sudo mount /dev/sdf1 /mnt
ubuntu@ubuntu:~$ sudo chroot /mnt
sudo adduser masi sudo
Run Code Online (Sandbox Code Playgroud)

输出

sudo: unable to resolve host ubuntu: Connection refused
The user `masi' is already a member of `sudo'.
Run Code Online (Sandbox Code Playgroud)

TODO 我认为您需要在执行此操作之前输入加密密码。 但是,它在任何阶段都没有问过我。


您如何使用严格的安全策略将自己重新添加到 16.04 加密硬盘中的 sudo 组中?

Léo*_* 준영 0

不可能的。由于严格的安全策略,您无法将自己添加回磁盘。这里的答案并没有为他们提供测试环境。他们还没有成功测试自己的答案。我已经在那里测试过很多再现。