防止对可启动 USB 进行任何更改

防止对可启动 USB 进行任何更改

我正在创建一个可重复使用的 Ubuntu Server 16.04 映像。其想法是,它将从 USB 驱动器启动,提供一段时间的服务,然后关闭。

不幸的是,如果用户移除驱动器,它很可能会损坏。

我没有交换分区(这对 USB 来说很糟糕),但我可以采取其他措施来防止任何持久写入吗?理想情况下,您可以重新启动,驱动器将恢复到其原始状态,有点像实时 USB,但上面有我所有的东西。

答案1

可以使用修改后的来宾用户帐户

16.04 及之前版本的访客用户帐户由 lightdm.conf 控制,因此需要最小的图形界面:

sudo apt install xorg
sudo apt install --no-install-recommends lightdm-gtk-greeter
sudo apt install --no-install-recommends lightdm
sudo apt install --no-install-recommends openbox

一旦以访客身份登录,Ctrl-Alt-F2 将带您进入文本模式。

如果尚未启用“访客会话”,请打开 /etc/lightdm/lightdm.conf 并更改:

allow-guest=true

现在将会有一个访客帐户。

修改访客账户

您可以使用现有的用户帐户,或创建新的用户帐户,作为定制访客会话的实时基础。

如果尚不存在目录,请为访客会话创建一个目录:

sudo mkdir /etc/guest-session

创建符号链接:

sudo ln -s /home/{NAME} /etc/guest-session/skel

其中 {NAME} 是您希望用作基础的用户帐户的名称。

对用户帐户所做的任何更改都将显示在访客帐户中。

会话结束时,对访客帐户的任何更改都将被删除。

答案2

我最终想到的解决方案是将分区标记为只读/etc/fstab

我更改了根分区的行,/从此:

UUID=949e37ad-bc64-47bd-8478-fa6661267d9f /           ext4    errors=remount-ro        0       1

到:

UUID=949e37ad-bc64-47bd-8478-fa6661267d9f /           ext4    ro,errors=remount-ro        0       1

注意位ro,之前的errors

您可以在Fstab 维基页面

这也很好,因为一旦系统启动,您还可以根据需要将其重新安装为读写。

rootMount=$(findmnt / -o source -n)
mount -o remount,rw "${rootMount}" /

相关内容