Linux SMB 文件共享设置问题

Linux SMB 文件共享设置问题

Linux 文件共享设置问题 使用 Ubuntu 18 LTS,想要在分支机构使用具有 AD 身份验证和文件权限的 Linux SMB 共享。客户端 Windows 计算机是 Windows 10 Pro。

按照网上找到的信息。

https://help.ubuntu.com/lts/serverguide/sssd-ad.html

https://help.ubuntu.com/lts/serverguide/samba-ad-integration.html

https://raymii.org/s/tutorials/SAMBA_Share_with_Active_Directory_Login_on_Ubuntu_12.04.html

我正在尝试使用 SSSD 进行 AD 加入/身份验证;为什么选择 SSSD 而不是 Winbind,“同样开放”?

https://rhelblog.redhat.com/2015/04/02/sssd-vs-winbind/

https://blog.netnerds.net/2016/04/joining-ubuntu-to-an-active-directory-domain/

我打开 Windows 资源管理器并在地址栏中输入 \\servername,它会提示输入凭据。如果我输入我的 AD 用户名和密码,它会说访问被拒绝。如果我以 .\username 的形式给它一个 Linux 主机上存在的用户名,那么它将允许我查看共享,但双击共享以查看内容,它会再次提示我输入权限并返回消息“\\servername\sharename 不可访问。您可能没有权限使用此网络资源”。

本地帐户“testsmb”是 nogroup 的成员。/srv/samba/share (777) 的文件权限:drwxrwxrwx 2 nobody nogroup 4096 8 月 6 日 17:28 share

# SMB.CONF
[global]
# Change this to the workgroup/NT-domain name your Samba server will part of
  workgroup = DOM
   ...
    client signing = yes
    client use spnego = yes
    kerberos method = secrets and keytab
    security = ads
    realm = DOMAIN.LOCAL
   ...
[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755
     # testsmb is local account on Linux
    valid users = "@DOM\Domain Users",testsmb

# /etc/sssd/conf.d/sssd.conf
[sssd]
services = nss, pam
config_file_version = 2
domains = DOMAIN.LOCAL

[domain/DOMAIN.LOCAL]
lookup_family_order = ipv4_only
krb5_store_password_if_offline = True
id_provider = ad
access_provider = ad
# access_provider = simple
override_homedir = /home/%d/%u
simple_allow_users = [email protected],[email protected]
simple_allow_groups = domain users,
# Uncomment if the AD domain is named differently than the Samba domain
 ad_domain = domain.local

# /etc/nsswitch.conf
passwd:         compat systemd sss
group:          compat systemd sss
shadow:         compat sss
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files sss
ethers:         db files
rpc:            db files

netgroup:       nis sss
sudoers:        files sss

谢谢你,杰西。

答案1

我也遇到过同样的问题。就我而言,我重新启动了客户端系统(Windows 10),然后尝试访问共享,它对我有用。我想它对你也会有用。

答案2

我还没有回来更新帖子,但我找到了解决方法。我想我会像在 Windows 中那样处理它。将共享设置为允许所有,然后使用文件系统权限进行限制。

按如下方式设置共享(删除“有效用户”指令:

[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = no
    read only = no
    create mask = 0777

然后我就可以访问共享和底层文件了。我可以从服务器的命令行修改文件系统权限,但不能通过 Windows 资源管理器 GUI 修改。(jesse 是我的域帐户,nobody 是本地 Linux 帐户)

sudo ls -l /srv/samba/share
total 16
-rwxr--r-- 1 jesse domain users 0 Aug 13 11:27 'New Text Document.txt'
d---rwx--- 2 nobody security-test 4096 Aug 13 12:10 Security-Test
-rwxrw-rw- 1 jesse security-test 19 Aug 13 12:07 testFile03.txt
-rwxrwx---+ 1 jesse domain users 316 Aug 13 11:20 testfile2.txt
-rwxrwxr-x 1 nobody nogroup     38 Aug 13 10:40 testfile.txt

sudo ls -l /srv/samba/share/Security-Test/
total 8
----rwx--- 1 nobody security-test 21 Aug 13 11:06 anotherTest.txt
-rwxrw-rw- 1 jesse domain users 0 Aug 13 11:35 newTest02.txt
-rwxrw-rw- 1 jesse domain users 0 Aug 13 11:33 'New Text Document1.txt'
-rwxrw-rw- 1 jesse security-test 21 Aug 13 12:04 testFile03.txt
-rwxrw-rw- 1 jesse security-test 0 Aug 13 12:10 testFile04.txt

看来 Samba 无法查看 AD 帐户,但 Linux 系统可以。问候,Jesse。

相关内容