您的位置首页  散文日记

怎么可以错过free9(freeok)

Samba是SMB网络协议(CIFS是它的一个版本)的重新实现,免费且提供文件和打印共享服务。通过Samba实现的文件共享服务在很多公司中使用,

怎么可以错过free9(freeok)

 

Samba是SMB网络协议(CIFS是它的一个版本)的重新实现,免费且提供文件和打印共享服务通过Samba实现的文件共享服务在很多公司中使用,因为目前主流的桌面操作系统都支持SMB协议,比如Windows、macOS等。

Samba服务虽然兼容性很好,但是账号和权限管理比较麻烦实际使用中,我们可能想配置某个文件夹只能允许一个部门访问,一些文件夹每个人都可以访问,单个人可以拥有自己私有的文件夹,如果都使用Linux的本地账号管理,将非常麻烦,本文介绍Samba集成LDAP,实现集中式的账号管理和权限隔离。

为演示方便,假定运行FreeIPA的主机名为“ipa.example.com”,运行Samba的服务器主机名为“samba.example.com”前提条件服务器操作系统为“CentOS Linux release 7.9.2009 (Core)”。

主机都配置合格的主机名,且能够正常解析如果使用现有的DNS服务,添加服务器IP的反向解析每台服务器配置NTP同步如果内网环境安全性较高,可以关闭SELinux,iptables各个链的默认策略配置为“ACCEPT”

LDAP实现使用FreeIPA实现LDAP,安装配置比较简单,参见Grafana集成LDAP认证Samba主机配置1,注册Samba主机到FreeIPA# 安装ipa-client,完成后,可以使用ipa-client-install命令

yum install -y ipa-client# 执行下面命令后,主机samba.example.com将出现在FreeIPA的"Identity->Hosts"中 ipa-client-install

--mkhomedir --force-ntpd --enable-dns-updates“ipa-client-install”这条命令做了很多事情,操作完后可以通过FreeIPA上的账号登录服务器,同时还会生成文件/etc/krb5.keytab。

2,安装Sambayum -y install samba samba-client sssd-libwbclient systemctl enable nmb.service systemctl enable

smb.serviceFreeIPA主机配置1,添加CIFS Principalipa service-add cifs/samba.example.com2,LDAP数据库中添加Samba属性(很重要)

yum -y install ipa-server-trust-ad # 全部回答“yes” ipa-adtrust-install--add-sids3,权限授予为了实现FreeIPA与Samba服务的集成,需要给

Samba服务授予读取用户密码的权限ipa permission-add"CIFS server can read user passwords" \ --attrs={ipaNTHash,ipaNTSecurityIdentifier} \ --type=user --right={read,search,compare} --bindtype=permission ipa privilege-

add"CIFS server privilege" ipa privilege-add-permission "CIFS server privilege" \ --permission="CIFS server can read user passwords"

ipa role-add"CIFS server" ipa role-add-privilege "CIFS server" --privilege="CIFS server privilege"

ipa role-add-member "CIFS server" --services=cifs/samba.example.comSamba服务配置1,生成CIFS的keytabSamba服务对FreeIPA来说也是一个实体,需要生成相应的keytab

kinit -kt /etc/krb5.keytab ipa-getkeytab -s ipa.example.com -p cifs/samba.example.com -k /etc/samba/samba.keytab

2,安装“ipa-server-trust-ad”包,yum -y install ipa-server-trust-adSamba配置文件"/etc/samba/smb.conf"中有些选项需要“ipa-server-trust-ad”包的支持

3,准备Samba配置文件内容如下:[global] # freeipa configurationsdebugpid = yesrealm = EXAMPLE.COMworkgroup = EXAMPLE

domainmaster = Yesldapgroup suffix = cn=groups,cn=accountsldapmachine suffix = cn=computers,cn=accounts

ldapssl = offldapsuffix = dc=example,dc=comldapuser suffix = cn=users,cn=accountslogfile = /var/log/samba/log

maxlog size = 100000domainlogons = Yesregistryshares = Yesdisablespoolss = Yesdedicatedkeytab file = FILE:/etc/samba/samba.keytab

kerberosmethod = dedicated keytabpassdbbackend = ipasam:ldap://ipa.example.comsecurity = USERcreatekrb5 conf = No

rpc_daemon:lsasd = forkrpc_daemon:epmd = forkrpc_server:tcpip = yesrpc_server:netlogon = externalrpc_server

:samr = externalrpc_server:lsasd = externalrpc_server:lsass = externalrpc_server:lsarpc = externalrpc_server

:epmapper = externalldapsam:trusted = yesidmapconfig * : backend = tdbidmapconfig * : range = 10000-999999

ldapadmin dn = cn=Directory Manager # public share configurationsmapto guest = bad user # 用户独享的目录空间-家目录

[homes]comment = Home Directoriesvalidusers = %S, %D%w%Sbrowseable = Noreadonly = Noinheritacls = Yes

# 通过验证的用户都可以访问share[share]comment = Public Sharepath = /samba/sharewritable = yesbrowsable = yesguest

ok = yesreadonly = no# 通过验证且属于infra组的用户可以访问infra[infra]comment = Public Sharepath = /samba/infrawritable

= yesbrowsable = yesguestok = yesreadonly = novalidusers = @infra# 通过验证且属于development组的用户可以访问dev[dev]

comment = Public Sharepath = /samba/devwritable = yesbrowsable = yesguestok = yesreadonly = novalidusers = @development

4,创建用户在FreeIPA上创建用户,并将用户加入预先创建的用户组。测试中创建两个组“infra”和“development”,操作这步,便可以通过用户组的粒度来控制权限的分配。

创建两个组5,创建需要的目录根据Samba的配置文件,创建对应的目录并授予合适的权限为了成功访问Samba共享的内容,用户不仅要满足文件系统的权限要求而且要满足Samba服务的权限要求为了方便管理,可以在文件系统层授予用户全部权限,仅使用Samba管理用户权限:。

[aneirin@samba~]$ls-lh/sambatotal0drwxrwxrwx2nobodynobody6Jul314:46devdrwxrwxrwx2nobodynobody6Jul314:45

infradrwxrwxrwx2nobodynobody19May2417:58share总结Samba集成Ldap认证比较复杂,里面涉及的概念较多,文章没有对Samba配置文件中的各个选项做介绍,读者可以自行上网查找,遇到问题,欢迎讨论。

希望这篇文章能帮到正在努力的你,欢迎关注、评论!

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186