我有两台运行 Kubuntu 19.04 的机器,在使用 KDE GUI 共享文件时遇到了麻烦。这些是我为特定用户(让我们给他起个名字)共享文件夹myuser
以供读写访问所执行的步骤:
- 在机器 A 上,我右键单击名为“传输”的文件夹,选择属性,然后选择共享。由于系统 A 是新安装的,所以没有安装 Samba。选项卡提示安装它,我照做了。然后我就可以在选项卡中选择通过 Samba 共享。
myuser
我在机器A上添加了用户,该用户与机器B上的用户完全匹配。- 我选择使用 Samba 共享该文件夹,并允许访客访问
myuser
并everyone
具有读写权限 - 使用机器 B,我导航到机器 A 的 Samba 共享。文件夹“transfer”可见。当我打开它时,会出现用户/密码提示。但无论我在该提示中输入什么,访问都被拒绝。使用
myuser
,将所有内容留空或机器 A 的所有者用户 - 结果相同。 然后我在机器上添加了一个 samba 用户
sudo smbpasswd -a myuser
并输入与机器 A 和 B 上完全相同的密码。结果仍然是相同的。
然后我将其添加
min protocol = SMB3
到我的/etc/samba/smb.conf
。结果仍然是相同的。
我错过了什么?
这是我的 smb.conf 的全局部分:
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = WORKGROUP
# server string is the equivalent of the NT Description field
server string = %h server (Samba, Ubuntu)
# Disable SMB1 and SMB2
min protocol = SMB3
编辑:这是输出sudo net usershare info --long
(目前“每个人”只有读取权限,HTPC
是机器 A 的名称):
[Transfer]
path=/media/media/6TB 2/Transfer
comment=
usershare_acl=Everyone:R,HTPC\myuser:F,guest_ok=y
编辑:输出ls -al "/media/media/6TB 2"
insgesamt 333
drwxrwxrwx 1 media media 8192 Apr 21 14:48 .
drwxr-x---+ 3 root root 4096 Apr 22 07:43 ..
drwxrwxrwx 1 media media 4096 Dez 15 12:44 '$RECYCLE.BIN'
drwxrwxrwx 1 media media 0 Apr 20 12:39 Aufnahmen
drwxrwxrwx 1 media media 262144 Apr 19 15:40 Aufnahmen_win
drwxrwxrwx 1 media media 4096 Okt 1 2014 Dokumentationen
drwxrwxrwx 1 media media 12288 Okt 3 2018 Downloads
drwxrwxrwx 1 media media 0 Apr 21 15:58 'Kopie Backup'
-rwxrwxrwx 1 media media 435 Dez 19 17:36 mountBackup.bat
drwxrwxrwx 1 media media 0 Jan 6 2016 'System Volume Information'
drwxrwxrwx 1 media media 12288 Apr 19 17:10 Transfer
答案1
解决此问题的一种方法是编辑 /etc/samba/smb.conf 并在其下方workgroup = WORKGROUP
添加这一行:
force user = media
然后重新启动smbd:
sudo service smbd restart
原因:
路径 /media/media 中的第二个“media”是用户名,它具有以下权限:drwxr-x---+ 3 root root 4096 Apr 22 07:43 ..
。这些权限末尾的“+”表示 Linux 自动为所有本地登录用户分配的扩展权限属性。它的实际权限如下所示:
$ getfacl /media/media
getfacl: Removing leading '/' from absolute path names
# file: media/media
# owner: root
# group: root
user::rwx
user:media:r-x
group::---
mask::r-x
other::---
Linux 以这种方式创建它是为了安全/隐私,因为只有 root 和特定用户才有权遍历该文件夹以访问其下的任何文件夹。“guest”用户或“myuser”不是“media”用户,因此他们永远不会访问 Transfer 文件夹。
一旦 samba 允许客户端用户访问,他们将通过“强制用户 = 媒体”指令转换为媒体用户,从而允许他们进入子文件夹。