Samba 共享在 Windows 和 Linux 中都是只讀的
我正在嘗試配置在 Gentoo Linux 上執行的 Samba,以便與另外兩台機器共享我的外部 NTFS 驅動器,一台執行 Gentoo,另一台執行 Windows 7。之前這個驅動器連接到支持 Samba 的路由器(Zyxel Keenetic Giga II ) 並且我可以使用 Web 界面中指定的登錄/密碼對連接到它。我有讀寫權限。
現在我正在嘗試將 Samba 配置為允許指定有效登錄/密碼對的任何人擁有完全訪問權限。登錄名/密碼是唯一的(我不在其他任何地方使用該使用者名)。
我設法連接了 Linux 和 Windows 機器,但僅限於只讀模式。我
Permission denied
嘗試了所有的寫作嘗試,即使來自的權限ls
表明我應該能夠寫作。網路結構為:
sambaserv:
Samba 伺服器主機名
sambauser/sambapass:
Samba 登錄憑據myuserserv:
我的使用者登錄
linuxclient:
Linux 客戶端主機名
myuserclient:
我的使用者登錄
winclient:
Win 7 客戶端主機名這是我所做的:
sambaserv: ls -l /mnt
... drwxrwxr-x 1 myuserserv myuserserv 4096 2 June 01:08 storage
sambaserv: /etc/fstab
/dev/sdc1 /mnt/storage ntfs-3g defaults,uid=1000,gid=1000,umask=0002,noatime 0 0
這
1000
是 的IDmyuserserv
。我想將此驅動器用於 Samba 共享以外的目的,所以我沒有指定sambauser
。
sambaserv:``sambauser
通過發出以下命令創建:useradd sambauser passwd sambauser pdbedit -a -u sambauser
sambaserv: testparm
$ sudo testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[storage]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [global] server string = sambaserv log file = /var/log/samba/log.%m max log size = 50 dns proxy = No idmap config * : backend = tdb hosts allow = 192.168.1., 127. [storage] comment = Storage path = /mnt/storage valid users = sambauser read only = No create mask = 0775 directory mask = 0775
考慮到驅動器是 NTFS,我不知道如何處理文件權限,但如果不是,這些都可以。
linuxclient: ls -l /mnt
... drwxrwxr-x 1 myuserclient myuserclient 0 2 juin 01:08 storage
linuxclient: /etc/fstab
//sambaserv/storage /mnt/storage cifs credentials=/home/myuserclient/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
winclient:
在下鍵入該sambauser/sambapass
對。Connect network drive``My Computer
如何在 Linux 和 Windows 下獲得寫入權限?
我被指出了一個解決方案(不是解決方案)。如果我添加
sambauser
到myusersrv
on組sambaserv
,問題就會消失。但是,這不是一個好的解決方案,因為它需要弄亂使用者組,而我在不同的環境中可能無法做到這一點。
文件和共享權限彼此不相關,您需要單獨設置它們。您需要這樣的一行
smb.conf
來允許對共享的寫訪問:write list = sambauser
有關詳細資訊,請參見smb.conf手冊頁。