Samba 共享在 Windows 和 Linux 中都是只读的

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是 的 ID myuserserv。我想将此驱动器用于 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/sambapassConnect network drive下面输入该对My Computer


如何在 Linux 和 Windows 下获得写权限?

答案1

文件分享权限之间没有关联,需要单独设置。您需要这样的一行来smb.conf允许对共享的写访问:

write list = sambauser

smb配置文件详细信息的手册页。

答案2

我被指出A解决方案(不解决方案)。如果我添加到onsambauser组,问题就会消失。然而,这不是一个好的解决方案,因为它需要扰乱用户组,而我在不同的环境中可能无法做到这一点。myusersrvsambaserv

相关内容