我创建了一个 samba 共享并将其安装到~server。
Samba 共享目录归“用户”所有,我将共享挂载到的目录归“scinkpad”所有
我可以从 scinkpad 看到共享上的文件,但无法创建文件
# /etc/samba/smb.conf
# [...]
public = yes
path = /home/user/server
only guest = yes
writable = yes
write list = user scinkpad scinorandex
printable = no
msdfs root = no
这是smb.conf
如果我在挂载共享的目录上运行 ls -ld,我会得到这个
[scinkpad ~] ls -ld server/
drwxr-xr-x 2 root root 0 Jun 5 17:32 server/
我已尝试访问chown
该目录,但没有成功。
这是我用来挂载 samba 共享的命令
sudo mount -t cifs //192.168.1.9/fileserver server
答案1
明白了。有很多方法可以做到这一点,我认为最简单的方法是:
从这里更改服务器上的共享定义:
public = yes
path = /home/user/server
only guest = yes
writable = yes
write list = user scinkpad scinorandex
printable = no
msdfs root = no
对此:
public = yes
path = /home/user/server
writeable = yes
force user = user
编辑:每次我看到这个变化,我都觉得它会让人感到困惑,所以我把路径中的“用户”改成了我自己的,以使其更清楚:
public = yes
path = /home/morbius/server
writeable = yes
force user = morbius
保存文件然后重新启动 smbd:
sudo service smbd restart
当此系统的客户端连接到共享时,他的身份将更改为服务器上的“用户”(路径中的“用户”相同) - 仅适用于此共享。因此,当他添加文件夹/文件时,它将保存为所有者 = 用户,并且你们双方都可以编辑其内容。