我有一台 Synology Diskstation,上面有一个已发布的 Windows 共享。在服务器和客户端 (Ubuntu 12.04) 上,我都有用户名和密码匹配的用户帐户。(神话/神话)
共享已安装:
//192.168.88.1/plex /mnt/plex cifs username=myth,password=xxxx 0 0
我可以创建、读取和删除共享上的文件。但无法编辑或覆盖它们。
它们的创建方式如下:
-rw-rw-r-- 1 1026 users 725178368 Mar 18 13:12
服务器(Synology DiskStation,运行 DSM4.1,他们自己的 Linux 版本)有一个名为 myth 的用户。客户端(Ubuntu 12.04)有一个名为 myth 的用户。两个帐户的密码相同。
因此,似乎我需要将 uid 1026 映射到用户 myth?我该怎么做?
来自 DiskStation 的 smb.conf:
[global]
printcap name=cups
winbind enum groups=yes
security=user
local master=no
realm=*
passdb backend=smbpasswd
printing=cups
winbind enum users=yes
load printers=yes
workgroup=WORKGROUP
[plex]
invalid users=nobody,nobody
valid users=nobody,guest,admin,myth,nobody
comment="Storage Location For PlexMediaServer"
path=/volume1/plex
guest ok=yes
browseable=yes
fileindex=yes
mediaindex=no
edit synoacl=no
enable recycle bin=yes
recycle bin admin only=no
hide unreadable=no
ftp disable list=no
ftp disable modify=no
ftp disable download=no
read list=nobody,guest,nobody
write list=nobody,admin,myth,nobody
writeable=yes
答案1
您要做的是设置一个 Samba 用户名映射文件。
在 /etc/samba/smb.conf 文件的 [Global] 部分中,您可以将“用户名映射”选项设置为映射文件的位置。
[global]
username map = /pathToMapFile/usermap.txt
usermap.txt(或任何你想叫它的名字)包含以下格式的行:映射至 = 映射自例如,如果我想确保我的 Windows 计算机上的用户可以访问我的 Ubuntu 计算机上的 Samba 共享,我的 usermap.txt 文件将包含如下一行:
myUbuntuUserName = myWindowsUserName
当然,要看到这些变化,您需要重新启动 Samba 服务。
sudo service smbd restart
如果您需要更多帮助,请查看以下文档。官方 Samba 文档(如下)演示了如何将多个用户名映射到单个用户,甚至将组映射到用户。