在集成 AAD 的 Linux VM 中将磁盘安装到 /home 后权限被破坏

在集成 AAD 的 Linux VM 中将磁盘安装到 /home 后权限被破坏

我的问题如下:

我有一个 Azure Linux VM 和附加到它的外部托管磁盘。我想将此磁盘安装到 /home 目录,以便我的用户的文件在升级此 VM 映像的操作过程中保持不变。升级需要删除 VM 并使用 Terraform 代码中的新映像重新创建(使用当前设置)。

所以我现在正在做的事情是: lsblk(查找磁盘名称,假设它是 sdc)

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

sudo partprobe /dev/sdc

sudo mkfs.xfs /dev/sdc1

sudo mount /dev/sdc1 /home

然后我还在 /etc/fstab 中添加一个条目以使其持久:

回显“UUID = 33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e /home xfs defaults,nofail 1 2”>> /etc/fstab

问题在于,在挂载过程之后,用户在主目录中不再具有之前所需的权限。AAD 集成正在尝试为每个登录的用户创建 /home/[user] 目录,但由于缺乏权限,无法将用户放入其中。x

我能做什么呢?只需设置一次即可,而不必为每个用户运行 chown、chmod 命令。

答案1

不建议在 Linux 中将磁盘直接安装到 /home,因为 /home 通常是用户主目录、配置文件和个人数据的位置。如果将磁盘直接安装到 /home,它可能会覆盖现有的用户数据和配置文件,从而导致潜在的数据丢失和系统不稳定。

因此您需要卸载对 /home 进行的挂载。

如果可能的话,我会将其安装到其他尚不存在的系统文件夹中,我个人使用 /data

您可以在家中创建一个文件夹并将其安装到那里。

顺便问一下,升级虚拟机时如何知道已安装的磁盘没有被触及?我不清楚你的升级过程是如何进行的,但要注意这一点。我认为安装磁盘、使用 nfs 或 blobfuse2 安装 azure 文件共享会更安全。

升级可能会出错,因此请确保在升级之前进行备份。我意识到我添加了一些题外的建议,但我希望这对你有帮助

相关内容