Решил свой кейс пока таким образом:
Справка:
Описанные действия предполагают:
- Доступ к директориям и файлам на samba сервере выполняется их под УЗ root (uid=0, gid=0)
- Команды монтирования в fstab к хосту Proxmox содержат uid=100000 и gid=100000 с целью последующего корректного монтирования в непривилегированный LXC в Proxmox (uid_proxmox=uid_lxc+100000, gid_proxmox=gid_lxc+100000)
- Непривилегированный LXC обращается к примонтированной директории из под УЗ root (в LXC: uid=0, gid=0)
- Таким образом обеспечивается корректное сопоставление uid и gid во всей цепочке:
4.1 Samba сервер: root (uid=0, gid=0)
4.2 Монтирование samba сервера к Proxmox серверу: uid=100000 и gid=100000
4.3 Proxmox сервер: root (uid=0, gid=0)
4.4 Proxmox LXC unprivileged: root (uid=0, gid=0) (мэпинг uid и gid на уровне Proxmox +100000) - Параметры file_mode и dir_mode в команде монтирования сетевого каталога к хосту Proxmox:
Когда ты монтируешь сетевую папку (cifs) через /etc/fstab, Linux не может “узнать” реальные права доступа (chmod) на удалённой стороне (т.е. на SAMBA-сервере), потому что протокол SMB не передаёт эту информацию напрямую. Поэтому ты указываешь вручную, какие права доступа отображать локально при монтировании файлов и каталогов.
Команды:
-
Создать директорию на хосте:
mkdir /mnt/pve/share -
Cоздать скрытый файл с авторизационными данными nano /root/.smbcredentials:
username=root
password=password -
Выставить строгие права:
chmod 600 /root/.smbcredentials -
Добавить в nano /etc/fstab
//ip_host/share /mnt/pve/share cifs credentials=/root/.smbcredentials,uid=100000,gid=100000,file_mode=0664,dir_mode=0775,nounix,noserverino 0 0
где:
//ip_host/share - адрес сетевой директории расшаренной на samba сервере
/mnt/pve/share - точка монтирования на хосте Proxmox
file_mode=0664 - все файлы на хосте Proxmox будут отображаться с правами rw-rw-r–
dir_mode=0775 - все каталоги на хосте Proxmox будут отображаться с правами rwxrwxr-x -
Смонтировать
mount -a -
Перезупустить службу (при необходимости):
systemctl daemon-reload
Такая конструкция позволит писать и читать в сетевую шару прокинутую в LXC, но конкретно такой конфиг не рекомендую, нужно переделывать на отличного от root юзера и по правильному на samba сервере нужно создавать пользователей и группы, из под которых подключаться с другого сервера и прочих клиентов.