将 Samba 共享目录挂载为客户虚拟机上的用户主文件夹

将 Samba 共享目录挂载为客户虚拟机上的用户主文件夹

我想运行多个基于该虚拟机的 Ubuntu 20.04 虚拟机,libvirt这些虚拟机为用户共享同一个主文件夹。在主机上,我创建了以下 samba 共享文件夹:

lsblk
sdd                          8:48   0   1.9T  0 disk  
└─luks-46538...
                        253:2    0   1.9T  0 crypt 
└─data-ubuntu--gpu--home 253:10   0  1000G  0 lvm   /mnt/shared_home

在主机上,我editors按照本指南创建了组,以便他们访问共享文件夹如何在 Ubuntu Server 20.04 上创建 Samba 共享

来自 /etc/samba/smb.conf

[AABOR-HOME]
    comment = aabor-samba-home
    path = /mnt/shared_home/aabor
    valid users = @editors
    browsable = yes
    writable = yes
    read only = no
[MEDIA]
    comment = aabor-samba-media
    path = /mnt/media
    valid users = @editors
    browsable = yes
    writable = yes
    read only = no        

然后在虚拟机客户机上我添加到 /etc/fstab

//192.168.0.5/aabor-home                  /home/aabor     cifs    rw,relatime,cache=strict,username=aabor,password=<pwd>,domain=WORKGROUP,gid=1000,uid=1000  0 0
//192.168.0.5/media                       /mnt/media     cifs    rw,relatime,cache=strict,username=aabor,password=<pwd>,domain=WORKGROUP,gid=1000,uid=1000  0 0

主机是 Centos Stream 8,所以我还必须调整 SELinux 权限(在主机上):

sudo setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool -a | grep samba_export
sudo semanage fcontext -at samba_share_t "/mnt/shared_home(/.*)?"
sudo restorecon /mnt/shared_home
sudo semanage fcontext -at samba_share_t "/mnt/media(/.*)?"
sudo restorecon /mnt/media

这两个共享在来宾上均可用,我可以浏览和更改文件。

但是当我更改任何系统设置时,它无法保存到用户配置文件中。Ubuntu 不会将电源管理、字体和任何其他设置保存到当前用户配置文件中。例如,当我尝试将其设置nemo为默认文件管理器时,我收到错误:

(nemo:4537): dconf-WARNING **: 13:17:15.032: failed to commit changes to dconf: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dfile_2derror_2dquark.Code2: Failed to rename file “/home/aabor/.config/dconf/user.0WKTV1” to “/home/aabor/.config/dconf/user”: g_rename() failed: Permission denied

如果我打算将主机用作多台客户机上的用户主目录,那么在主机上设置 samba 共享的适当方法是什么?

相关内容