青草久久影院-青草久久伊人-青草久久久-青草久久精品亚洲综合专区-SM双性精跪趴灌憋尿调教H-SM脚奴调教丨踩踏贱奴

17站長(zhǎng)網(wǎng)

詳解samba + OPENldap 搭建文件共享服務(wù)器問(wèn)題

2022-10-14 13:01| 查看: 1734 |來(lái)源: 互聯(lián)網(wǎng)

這里我使用的是 samba(文件共享服務(wù)) v4.9.1 + OPENldap(后端數(shù)據(jù)庫(kù)軟件) v2.4.44 + smbldap-tools(后端數(shù)據(jù)庫(kù)管理軟件) v0.9.11 + CentOS7。 如果有不同,可能 ...

這里我使用的是 samba(文件共享服務(wù)) v4.9.1 + OPENldap(后端數(shù)據(jù)庫(kù)軟件) v2.4.44 + smbldap-tools(后端數(shù)據(jù)庫(kù)管理軟件) v0.9.11 + CentOS7。 如果有不同,可能會(huì)有部分問(wèn)題。

注:

  • samba 的功能不只有文件共享,還可以作為一臺(tái)Windows域成員,甚至Windows域控制器。千萬(wàn)不要認(rèn)為samba只是一個(gè)文件共享服務(wù)。

  • 由于我們使用了samba的文件共享功能,與文件權(quán)限有直接的聯(lián)系,所以samba中的使用的用戶必須是Linux中能查詢到。因?yàn)槭褂昧?OPENldap 作為samba 的后端數(shù)據(jù)庫(kù),所以我們這里還需要配置Linux能查詢到 OPENldap 中的用戶信息,也就是需要配置 NSS。關(guān)于NSS部分的配置需要在smbldap-tools 初始化ldap數(shù)據(jù)庫(kù)后完成NSS部分的配置,需要注意!!!

  • samba 有使用PAM作為認(rèn)證模塊,和使用其自帶的認(rèn)證程序,在CentOS中編譯時(shí)配置的是使用其自帶的認(rèn)證程序,所以PAM的配置可以省略。

  • 如果想要配置OPENldap中的用戶可以登入系統(tǒng),可以查閱這篇文章:《配置Linux使用LDAP用戶認(rèn)證》,其中的配置與本文中的配置并不相同,需要注意!!!

初始化配置

yum 源和網(wǎng)絡(luò)配置省略。

yum -y install samba openldap-servers openldap-clients smbldap-tools nss-pam-ldapd

配置OPENldap服務(wù)

這里只進(jìn)行簡(jiǎn)單的服務(wù)配置,數(shù)據(jù)庫(kù)配置這里會(huì)使用 smbldap-tools 進(jìn)行配置,如果不知道OPENldap 可以去看看這篇文章:《OPENLDAP 服務(wù)搭建和后期管理》

這里將 OPENldap 所有配置清空,重新配置。

# 首先備份文件,以免無(wú)法復(fù)原
mkdir /root/back
tar -Jcvf /root/back/slapd.config-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /etc/openldap/slapd.d/
tar -Jcvf /root/back/slapd.data-`date '+(%Y.%m.%d_%H:%M:%S)'`.tar.xz /var/lib/ldap/
# 然后再刪除配置文件
rm -rf /etc/openldap/slapd.d/*
rm -rf /var/lib/ldap/*
# 復(fù)制一個(gè)samba的schema文件
cp /usr/share/doc/samba-4.9.1/LDAP/samba.ldif /etc/openldap/schema/

這里的配置文件我是從[code]/usr/share/openldap-servers/slapd.ldif[/code] 中復(fù)制過(guò)來(lái),并修改成如下這個(gè)樣子的。主要修改了baseDN(suffix), OPENLDAPTLS,olcRootPW(密碼由 slappasswd 生成,本文中的密碼為: 123456) 和 include

# file: /tmp/slapd.ldif

dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/openldap/slapd.args
olcPidFile: /var/run/openldap/slapd.pid

dn: cn=schema,cn=config
objectClass: olcSchemaConfig
cn: schema

include: file:///etc/openldap/schema/core.ldif
include: file:///etc/openldap/schema/cosine.ldif
include: file:///etc/openldap/schema/nis.ldif
include: file:///etc/openldap/schema/inetorgperson.ldif
include: file:///etc/openldap/schema/samba.ldif

dn: olcDatabase=frontend,cn=config
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: frontend

dn: olcDatabase=config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: config
olcAccess: to * 
 by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage 
 by * none

dn: olcDatabase=monitor,cn=config
objectClass: olcDatabaseConfig
olcDatabase: monitor
olcAccess: to * 
 by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read 
 by dn.base="cn=Manager,dc=black,dc=com" read 
 by * none

dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcSuffix: dc=black,dc=com
olcRootDN: cn=Manager,dc=black,dc=com
olcRootPW: {SSHA}l1vBI/HOMKLEiQZgcm3Co+hFQI68rH1Q
olcDbDirectory: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub,uid

根據(jù)配置生成服務(wù)器的配置文件

slapadd -F "/etc/openldap/slapd.d/" -b "cn=config" -l /tmp/slapd.ldif
# 這里還需要注意文件屬主還是root的,需要改回為openldap
chown -R ldap:ldap /etc/openldap/slapd.d/*
# 然后再開啟服務(wù)即可
systemctl start slapd

_#################### 100.00% eta none elapsed none fast!
Closing DB...

注:這里只配置了OPENldap中的服務(wù)配置部分,沒(méi)有配置OPENldap 的數(shù)據(jù)庫(kù),這里再次強(qiáng)調(diào)以下。

配置 samba

這里只是為了測(cè)試使用samba 與 OPENldap 的使用,就不進(jìn)行過(guò)于復(fù)雜的文件共享配置了,只共享一個(gè)用戶的家目錄僅供測(cè)試。

# file: /etc/samba/smb.conf

[global]
 workgroup = MYGROUP # 指定共享組名稱。
 server string = Samba Server Version %v
 log file = /var/log/samba/log # 日志
 security = user # 指定安全級(jí)別為User
 passdb backend = ldapsam:ldap://127.0.0.1 # 指定passdb 的后端數(shù)據(jù)庫(kù)使用ldapsam
 ldap suffix = dc=black,dc=com # 指定ldap的 suffix
 ldap user suffix = ou=People # 指定用戶的 suffix 段位 ou=People 這里會(huì)與上一個(gè)suffix結(jié)合。
 ldap group suffix = ou=Group # 上同,指定的是用戶組。
 ldap admin dn = cn=Manager,dc=black,dc=com # 指定查詢ldap服務(wù)使用的管理員用戶
 ldap ssl = no # 指定不使用SSL加密。
 load printers = no # 指定不加載共享打印機(jī)。
[homes]
 comment = Home Directories
 browseable = no
 writable = yes
 create mask = 0600
 directory mask = 700

smbpasswd -w 123456 # 存儲(chǔ)用于連接 LDAP 服務(wù)的用戶密碼,!!!非常重要,否則無(wú)法啟動(dòng)smb服務(wù)。

啟動(dòng)samba服務(wù)

systemctl start nmb
systemctl start smb

smbldap-tools 配置

這里使用 smbldap-tools 來(lái)快速完成 samba 服務(wù)所需要的數(shù)據(jù)信息,同時(shí)通過(guò) smblda-tools 來(lái)進(jìn)行用戶段管理。但是smbldap-tools 有一個(gè)缺點(diǎn)就是 不會(huì)管你本地用戶是否有相同的 UID 或則 GID,可能有沖突,需要注意。

smbldap 會(huì)從 /etc/samba/smb.conf 讀取部分信息,所以需要先配置好samba再配置 smbldap-tools 服務(wù)。

smbldap-config # 配置 smbldap-tools 的配置,這里使用smbldap-conifg 簡(jiǎn)易配置。

這里省略下面的配置過(guò)程,不知道的默認(rèn)即可。

smbldap-populate # 初始化配置 OPENldap 數(shù)據(jù)庫(kù)。

這里再創(chuàng)建一個(gè)用戶用于后面的測(cè)試使用。

smbldap-useradd -a -m User1 # 添加用戶User2
# -a: 指定添加的用戶類型為Windows,這樣samba 才能識(shí)別到該用戶。
# -m: 指定創(chuàng)建該用戶的家目錄。
smbldap-passwd User1 # 修改該用戶的用戶密碼

這里省略該用戶的密碼修改過(guò)程。

這樣 OPENldap 的數(shù)據(jù)庫(kù)初始化就完成了,這樣就能去查詢OPENldap 中的內(nèi)容了。如下圖,這個(gè)就是[code]smbldap-populate[/code] 所創(chuàng)建的內(nèi)容了。下圖為 apache Directory Studio,有興趣可以去研究一下《apache Directory Studio 簡(jiǎn)易使用》

在圖中我們可以看到 UID = root 和 nobody 的用戶,我并不想讓這些特殊用戶登入到服務(wù)器,所以在下面的配置,我會(huì)通過(guò) fliter 將這2個(gè)用戶過(guò)濾掉。

NSS 配置

這里的NSS配置主要就是需要配置,NSS 將 LDAP 的請(qǐng)求轉(zhuǎn)發(fā)給 nslcd ,由 nslcd 來(lái)查詢 OPENldap 中的用戶信息。

首先配置 NSS ,只需添加 passwd 段和 group 段的ldap認(rèn)證即可。

# file: /etc/nsswitch.conf

passwd: files ldap
shadow: files
group: files ldap
hosts: files dns myhostname
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files sss
netgroup: nisplus sss
publickey: nisplus
automount: files nisplus sss
aliases: files nisplus

然后配置 nslcd, 注意 nslcd 是以daemon 形式運(yùn)行的,主要配置后重啟。

# file:/etc/nslcd.conf

uid nslcd
gid ldap
uri ldap://127.0.0.1/ # ldap URL地址
base dc=black,dc=com # base dn 路徑
binddn cn=Manager,dc=black,dc=com # 指定連接的用戶
bindpw 123456 # 指定密碼
ssl no  # 指定不要使用SSL 加密連接。
filter passwd (&(objectClass=posixAccount)(uidNumber>=1000)) # 編寫 passwd 的過(guò)濾規(guī)則。
filter group (&(objectClass=posixGroup)(gidNumber>=500)) # 上同,編寫的是 group
Copy
chmod 600 /etc/nslcd.conf # 配置文件權(quán)限,非常重要,否則無(wú)法啟動(dòng)服務(wù)。
systemctl start nslcd # 啟動(dòng) nslcd 服務(wù)。

我們這里測(cè)試以下 NSS 的配置是否可用

getent passwd User1

User1:*:1001:513:System User:/var/smb/User1:/bin/bash

如上可見(jiàn),我們配置的 NSS 和 OPENldap 服務(wù) 已經(jīng)生效了,下面我們?cè)賮?lái)繼續(xù)配置samba,使其可用。

samba 權(quán)限配置

如果看的比較仔細(xì)的人,就會(huì)發(fā)現(xiàn)我將用戶的home 目錄位置存放在了/var/smb位置,主要是為了不與系統(tǒng)中的用戶搞混。并且這樣可以通過(guò)SELinux來(lái)隔離samba 禁止訪問(wèn)/home路徑下的資源,詳細(xì)請(qǐng)看下面操作。

# 上面通過(guò) smbldap-useradd 命令,已經(jīng)創(chuàng)建了用戶的home 目錄,
# 下面可以直接進(jìn)行SELinux 的相關(guān)配置了。
semanage fcontext -a -t samba_share_t '/var/smb(/.*)?' # 修改/var/smb 路徑的默認(rèn)type,這里我用 samba 共享使用的type,SELinux 默認(rèn)允許訪問(wèn)這個(gè)type類型
# 如果要使samba 可以訪問(wèn) /home 則應(yīng)當(dāng)開啟 samba_enable_home_dirs 這個(gè) bool 值。
# 但是 我這里因?yàn)槭褂玫氖?nbsp;samba_share_t 這個(gè) type 類型,所以無(wú)需開啟 任何 bool 值,這樣就能使samba只能訪問(wèn)到 /var/smb 和 samba 其他所需文件。
restorecon -R /var/smb/ # 然后我們?cè)谥刂?nbsp;/var/smb 目錄下的SELinux type 類型即可。
Copy
# 這里我們就能進(jìn)行samba的測(cè)試了
smbclient -L //127.0.0.1/ -U User1

這里我們也就可看到了,User1 用戶已經(jīng)可以登入并查詢到共享目錄了。

那么我們這里直接登入進(jìn)去,上傳一些文件做一些測(cè)試:


OK,那么這樣一個(gè)samba 的文件共享就完成了。


總結(jié)

以上就是小編給大家介紹的詳解samba + OPENldap 搭建文件共享服務(wù)器問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

本文最后更新于 2022-10-14 13:01,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請(qǐng)?jiān)诰W(wǎng)站留言或聯(lián)系站長(zhǎng):[email protected]
·END·
站長(zhǎng)網(wǎng)微信號(hào):w17tui,關(guān)注站長(zhǎng)、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營(yíng)銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長(zhǎng)網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信

大家都在看

熱門排行

    最近更新

      返回頂部
      主站蜘蛛池模板: 亚洲精品国产拍在线观看 | tube69hdxxxx日本 | 三级黄色在线看 | 国产精品第一综合首页 | 成人免费在线视频 | 99久久精品一区二区三区 | abp-146 | 69丰满少妇AV无码区 | 樱桃视频高清免费观看在线播放 | 亚洲人成人77777在线播放 | 捏揉舔水插按摩师 | 亚洲精品第一页 | 精品视频在线播放 | 99久久精品免费精品国产 | 久久99国产视频 | 色AV色婷婷97人妻久久久 | 久青草国产在线视频 | 亚洲三级在线中文字幕 | 囯产免费久久久久久国产免费 | 可以看的黄页的网站 | 欧美黑白配性xxxxx | 亚洲精品线在线观看 | 狼人大香伊蕉国产WWW亚洲 | 国产白色视频在线观看w | 亚洲国产系列一区二区三区 | 老头狠狠挺进小莹体内视频 | 亚洲 小说 欧美 激情 另类 | 亚洲精品www久久久久久 | 午夜十八岁禁 | 日本黄色成年人免费观看 | 国产成+人欧美+综合在线观看 | 成人精品视频在线观看 | 免费成年人在线视频 | 成年女人色毛片免费 | 天美麻豆成人AV精品视频 | 91麻豆精品一二三区在线 | 国产精品自在在线午夜蜜芽tv在线 | 国产精品视频国产永久视频 | 国产精品VIDEOSSEX久久发布 | 亚洲精品中文字幕在线 | 有人在线观看的视频吗免费 |