我在访问 samba 共享时遇到“权限被拒绝”的情况

1 permissions samba users zfs

我是新来的,经过一些研究,我发现我“认为”我需要帮助。我希望我做得正确,也许我的英语并不完美,但我会努力。那么让我们开始吧。

我的计算机安装了 Ubuntu Server 18.04.6 (x64)。更多规格:

-Samba 服务器已安装(samba 包)并配置。

-ZFS 存储已安装并配置 - 安装在/free中。

-SSH 密码验证已禁用 - 通过私钥与用户borhacker进行验证。

-我的主要共享目录位于 zfs 池下,位于/free/fr/...。例如,/free/fr/data - /free/fr/video - /free/fr/music - 等等。

-关于 samba 用户,我有 6 个 - borhacker - papa - mama - alex - raspberry - family - 他们都通过sudo smbpasswd -a alex(例如)调整了 samba 密码

现在,从昨天开始,我发现我只能浏览和使用用户borhacker的共享。

我正在尝试从alex用户(从 Windows 7 系统)访问 [Fr-data] 共享,但它显示You can't access V:\ accessied

我还为他在/free/fr/vidalex中正确设置了名为[Fr-vidalex]的特殊共享的用户和权限- 它不起作用。然后我尝试在google上搜索了几次,但没有找到解决方案。现在我发现也许他的主目录不会给我带来问题,所以我将[Fr-vidalex]设置为path = /home/alex - 现在它可以工作了。但只有这个份额。

pdbedit -L -v我可以给出在另一个网站上找到的命令的输出;我的/etc/samba/smb.conf内容;/etc/group的内容;[Fr-data]目录和[Fr-vidalex]旧目录以及/home/alex的所有权和权限。最初我试图将它们全部放入问题中,但是 AskUbuntu 系统不允许我发布 - 它将我的消息标记为垃圾邮件 - 也许信息太多。现在我将发布 smb.conf,如果任何愿意提供帮助的人向我询问更多信息,我将发布。第一部分没有改变,所以我没有发布。我只编辑了分享,然后将其发布。



[Fr-data]
path = /free/fr/data
read-only = yes
valid users = @global
write list = borhacker
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

[Fr-portable]
path = /free/fr/portable
read-only = yes
valid users = @global
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

[Fr-portablefr]
path = /free/fr/portablefr
read-only = yes
valid users = @global
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

[Fr-backup]
path = /free/fr/backup
read-only = no
valid users = borhacker
write list = borhacker
force create mode = 0770
force directory mode = 0770
create mask = 0770
directory mask = 0770

[Fr-emu]
path = /free/fr/emu
read-only = yes
valid users = @global
write list = @raspberry
force group = raspberry
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

[Fr-images]
path = /free/fr/images
read-only = no
valid users = borhacker
write list = borhacker
force create mode = 0770
force directory mode = 0770
create mask = 0770
directory mask = 0770

[Fr-mama]
path = /free/fr/mama
read-only = no
valid users = @mama
write list = @mama
force group = mama
force create mode = 0770
force directory mode = 0770
create mask = 0770
directory mask = 0770

[Fr-papa]
path = /free/fr/papa
read-only = no
valid users = @papa
write list = @papa
force group = papa
force create mode = 0770
force directory mode = 0770
create mask = 0770
directory mask = 0770

[Fr-music]
path = /free/fr/music
read-only = yes
valid users = @global
write list = borhacker
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

[Fr-todos]
path = /free/fr/todos
read-only = no
valid users = @global
write list = @global
force group = global
force create mode = 0770
force directory mode = 0770
create mask = 0770
directory mask = 0770

[Fr-video]
path = /free/fr/video
read-only = yes
valid users = @global
write list = borhacker
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

[Fr-workplace]
path = /free/fr/workplace
read-only = no
valid users = borhacker
write list = borhacker
force create mode = 0770
force directory mode = 0770
create mask = 0770
directory mask = 0770

[Fr-transmission]
path = /free/transmission
read-only = yes
valid users = @debian-transmission
write list = borhacker
force group = debian-transmission
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

[Fr-vidalex]
path = /home/alex
read-only = no
valid users = alex
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775

Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。感谢您的时间和关注。

干杯

博哈克

编辑

嗨莫比乌斯1!感谢您的回答这是 ls -al 输出

borhacker@freebnt:~$ ls -al /free/fr/
total 152
drwxrwx--- 15 borhacker borhacker 15 Dec 19 12:39 .
drwxr-xr-x  5 root      root       5 Sep 19 12:30 ..
drwxrwx--- 36 borhacker borhacker 38 Dec 16 21:33 backup
drwxrwxr-x 26 borhacker borhacker 26 Dec 14 15:05 data
drwxrwxr-x 14 raspberry raspberry 20 Dec 10 16:34 emu
drwxrwx--- 23 borhacker borhacker 23 Dec 10 16:34 images
drwxrwx---  8 mama      mama       8 Dec 10 16:34 mama
drwxrwxr-x  8 borhacker borhacker  8 Dec 10 16:35 music
drwxrwx---  8 papa      papa      10 Dec 18 22:48 papa
drwxrwxr-x  3 borhacker borhacker  3 Nov  9 20:21 portable
drwxrwxr-x  5 borhacker borhacker  5 Nov 19 17:07 portablefr
drwxrwx---  7 borhacker global    13 Dec 18 22:32 todos
drwxrwxr-x  2 alex      alex       2 Dec 19 12:39 vidalex
drwxrwxr-x 10 borhacker borhacker 10 Dec 10 16:35 video
drwxrwx---  3 borhacker borhacker  5 Dec 16 20:59 workplace
borhacker@freebnt:~$
Run Code Online (Sandbox Code Playgroud)

这是 /etc/group 的输出

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,borhacker
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:borhacker
floppy:x:25:
tape:x:26:
sudo:x:27:borhacker
audio:x:29:
dip:x:30:borhacker
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:
sasl:x:45:
plugdev:x:46:borhacker
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
systemd-journal:x:101:
systemd-network:x:102:
systemd-resolve:x:103:
input:x:104:
crontab:x:105:
syslog:x:106:
messagebus:x:107:
lxd:x:108:borhacker
mlocate:x:109:
uuidd:x:110:
ssh:x:111:
landscape:x:112:
borhacker:x:1000:
rdma:x:113:
sambashare:x:114:
papa:x:1001:borhacker
mama:x:1002:borhacker
family:x:1004:
raspberry:x:1005:borhacker
global:x:1006:borhacker,mama,papa,family,raspberry,alex
debian-transmission:x:115:borhacker
alex:x:1003:
Run Code Online (Sandbox Code Playgroud)

Mor*_*us1 6

让我们仅以第一个共享为例 - 在这里我更正 read-only = yes 行:

[Fr-data]
path = /free/fr/data
read only = yes
valid users = @global
write list = borhacker
force create mode = 0775
force directory mode = 0775
create mask = 0775
directory mask = 0775
Run Code Online (Sandbox Code Playgroud)

唯一能够访问共享文件夹的用户是 borhacker。不是因为 smb.conf 中的共享定义,而是因为父文件夹仅允许该用户访问。事实上,borhacker 是唯一可以出于同样原因访问这些共享的用户。

这代表 /free/fr 上的 Linux 权限:

drwxrwx--- 15 borhacker borhacker 15 十二月 19 12:39 。

您需要允许 borhacker 以外的用户能够遍历 /free/fr 文件夹:

sudo chmod 775 /free/fr
Run Code Online (Sandbox Code Playgroud)

samba 共享定义无法覆盖正在共享的文件夹的 Linux 权限或该文件夹路径的 Linux 权限