如何將使用者對應到 samba 共享?

如何將使用者對應到 samba 共享?

我有一台帶有已發布 Windows 共享的 Synology Diskstation。在伺服器和用戶端(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 映射到用戶神話?我怎麼做?

來自 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 文件(如下)示範如何將多個用戶名對應到單一用戶,甚至將群組對應到用戶。

使用者名稱圖 (G)

使用者名稱地圖 - 管理

相關內容