我正在尝试配置在 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/sambapass
在Connect network drive
下面输入该对My Computer
。
如何在 Linux 和 Windows 下获得写权限?
答案1
答案2
我被指出A解决方案(不这解决方案)。如果我添加到onsambauser
组,问题就会消失。然而,这不是一个好的解决方案,因为它需要扰乱用户组,而我在不同的环境中可能无法做到这一点。myusersrv
sambaserv