背景
Debian12上已部署samba server端,设置smb用户a,能否让该用户上传的文件,文件归属为100033:100033?
LXC使用非特权容器,映射了宿主机的硬盘。为了更快捷的权限,lxc中的id33对应宿主机的100033。我需要通过smb服务,更快捷的把文件传输到宿主机中,但是保持lxc中的权限一致。下面都是宿主机操作。
用户准备
#用户创建 groupadd --gid 100033 cloud useradd --uid 100033 --gid 100033 --no-create-home --shell /usr/sbin/nologin cloud #配置密码并启用 smbpasswd -a cloud smbpasswd -e cloud
smb.conf配置
[global] workgroup = WORKGROUP server string = Samba Server security = user map to guest = Never passdb backend = tdbsam guest ok = no usershare allow guests = no local master = no preferred master = no min protocol = SMB2 max protocol = SMB3 ntlm auth = no # 禁用打印机功能 load printers = no printing = bsd printcap name = /dev/null disable spoolss = yes [Cloud-SSD] path = /mnt/HY110/ writable = yes valid users = root,cloud create mask = 0644 directory mask = 0755
实施效果
这样,如果登录的用户是cloud,上传的文件权属就是100033:100033,lxc中可以正常删除创建
清除Windows端smb连接
如果只是想断开所有 SMB 连接,在cmd中运行 (net use * /delete /yes) 是最直接有效的方式。这样可以减少配置更改造成的干扰
net use * /delete /yes