当前位置: 首页 > news >正文

文件服务器部署(samba集成ldap认证)

1 部署环境

OpenEuler-24.03-LTS-SP1

离线环境,以系统光盘作为本地软件源。

2 准备ldap认证环境

2.1 安装软件

dnf install openldap-clients sssd

2.2 测试ldap服务

从ldap服务器下载ldap.crt证书,添加本地信任,并测试远程连接。

openssl s_client -connect IP:636 -showcerts </dev/null 2>/dev/null | openssl x509 -out /etc/pki/ca-trust/source/anchors/ldap.crt #或者使用scp直接将ldap.crt拷贝到本地 scp USERNAME@IP:/etc/openldap/certs/ldap.crt /etc/pki/ca-trust/source/anchors/ #添加自签名证书到信任库 update-ca-trust #验证证书有效性,返回Verify return code: 0 (ok)则为正常,否则进一步排查证书配置 openssl s_client -connect IP:636 -CAfile /etc/pki/ca-trust/source/anchors/ldap.crt #验证ldap服务器连接是否正常,注意ldap.dong.net要与证书中的域名一致 ldapsearch -H ldaps://ldap.dong.net:636 -x -b "dc=dong,dc=net" -D "cn=Manager,dc=dong,dc=net" -W #如果有问题,可以使用以下命令查看错误原因 ldapsearch -d 5 -x -H ldaps://ldap.dong.net:636 -b "" -s base

输入密码,回显ldap用户信息为正常,若无法访问则排查ldap故障。

2.3 系统集成ldap认证

cp /etc/pki/ca-trust/source/anchors/ldap.crt /etc/ssl/certs/ vi /etc/sssd/sssd.conf

修改以下配置:

domains = LDAP

#

[domain/LDAP]

id_provider = ldap

auth_provider = ldap

ldap_schema = rfc2307

ldap_uri = ldaps://ldap.dong.net:636

ldap_search_base = dc=dong,dc=net

#

ldap_id_use_start_tls = True

ldap_tls_reqcert = demand

ldap_tls_cacertdir = /etc/ssl/certs

ldap_tls_cacert = /etc/ssl/certs/ldap.crt

重启服务,并添加开机自启:

systemctl restart sssd systemctl status sssd systemctl enable sssd

验证ldap认证结果:

getent passwd LDAP_USERNAME #也可以使用id命令 id LDAP_USERNAME

应返回ldap用户名、uid、gid、家目录等内容,如报错,需逐项排查配置问题。

3 安装samba软件

dnf install samba samba-client vi /etc/samba/smb.conf

修改以下配置:

[global]

workgroup = WORKGROUP

netbios = DONG

security = user

passdb backend = ldapsam:ldap://dong.net

ldap ssl = start tls

#

ldap suffix = dc=dong,dc=net

ldap user suffix = ou=People

ldap group suffix = ou=group

ldap machine suffix = ou=machine

ldap admin dn = cn=Manager,dc=dong,dc=net

ldap passwd sync = yes

#

idmap config * : backend = tdb

idmap config * : range = 10000-29999

idmap config DONG : backend = tdb

idmap config DONG : range = 30000-49999

#

log file = /var/log/samba/log.%m

max log size = 5000

#

include = /etc/samba/usershares.conf

# 其他配置均为默认,共享资源在usershares.conf文件中进行配置。

设置ldap管理员Manager密码(输入ldap管理员密码并确认),测试读取ldap用户信息:

smbpasswd -W pdbedit -L

如正常显示ldap用户信息,则配置成功。

4 samba共享配置

touch /etc/samba/usershares.conf vi /etc/samba/usershares.conf

添加如下内容:

[file]

comment = 文件共享

path = /data/file

browseable = no

guest ok = no

valid users = USER_NAME,@GROUP_NAME

writeable = yes

writelist = USER_NAME,@GROUP_NAME

create mask = 0640

directory mask = 0750

force user = USER_NAME

force group = GROUP_NAME

admin users = USER_NAME

简要说明如下:

[共享名]

omment = 任意字符串(对该共享的描述,可以是任意字符串)

path = 共享目录路径(声明共享目录的路径)

browseable = yes/no(指定该共享是否可以浏览)

writable = yes/no(指定该共享路径是否可写)

write list = 允许写入该共享的用户

available = yes/no(指定该共享资源是否可用)

admin users = 该共享的管理者(对该共享具有完全控制权限)

valid users = 允许访问该共享的用户(多个用户或者组中间用逗号隔开,组表示为“@+组名”)

nvalid users = 禁止访问该共享的用户

public = yes/no (同:guest ok = yes/no,用来声明是否允许guest账户访问)

检查配置文件,并测试共享资源:

testparm systemctl restart smb systemctl restart nmb systemctl enable smb systemctl enable nmb smbclient -L IP -U USER_NAME

输入密码后,正常情况下会显示共享资源。

以上配置已可以实现基本功能,可使用man samba、man smb.conf等命令自行了解更多配置内容。

http://www.jsqmd.com/news/447216/

相关文章:

  • C++ 之类的构造、析构、初始化列表使用注意事项经典易错案例详细分析总结
  • 【AI平台】n8n入门7:本地n8n更新(保留配置)
  • Yari架构揭秘:如何高效渲染MDN Web Docs海量技术文档
  • 【HEVC视频流可视化分析工具】画出视频中每帧的CTU块的形状与深度——v1.0
  • 力扣2615. 等值距离和
  • 使用python编程贪吃蛇单机小游戏(超详细讲解)
  • 倒立摆系统控制器设计报告
  • FTP服务器部署(vsftpd)
  • 贝叶斯分类
  • uniapp token过期的几种常见处理方案
  • ubuntu+windows双系统恢复
  • 7.28 进制交换|迭代器模式|map|子集按位或|带参递归
  • Elasticsearch-SQL终极指南:如何用SQL轻松查询Elasticsearch日志数据
  • 扫码枪写入案例。关于js原生聚焦以及扫码枪原理
  • 中医药方剂大模型开发方案
  • Qt/C++运行报错:exited with code -1073741819
  • iOS分页标签栏终极性能优化:快速解决XLPagerTabStrip滚动卡顿问题
  • 基于新型群智能优化算法的BP神经网络初始权值与偏置优化
  • 科研智能体平台设计与实现:社科类研究支持系统
  • RT-Thread ESP-Hosted
  • durable_rules模式匹配技术:DFA编译如何实现纳秒级字符串处理
  • local-web-server性能优化指南:让你的开发服务器飞起来
  • Flutter响应式管理面板AI功能集成:智能分析与自动化操作终极指南
  • 生产车间班组长绩效考核方案优化与绩效提升策略
  • 记录踩过的坑-金蝶云·苍穹平台-页面开发
  • 自平衡摩托车控制系统设计:Python实现方案
  • Ease高级特性:动态更新targetValue实现实时动画轨迹调整
  • 如何用Jspreadsheet CE快速创建动态数据表格:从数组到JSON的实战指南
  • REINFORCE、Remax、GRPO、DR.GRPO、DAPO、REINFORCE++、GPG、OPO、GSPO、SAPO、CLIP-COV、VC-PPO、VAPO对比
  • 微信小程序单元测试与集成测试完整指南:从入门到实战