天天看點

Day10 samba&NFS(Enginner04)一、samba服務基礎二、配置NFS共享

為客戶機提供共享使用的檔案夾

SMB(Server Message Block)伺服器消息塊

端口:139/tcp

CIFS(Common Internet File System)通用網際檔案系統

端口tcp/445

帳号體系與linux系統賬戶有很大的關聯

samba的共享帳号和linux系統帳号名字相同、但密碼不同

useradd harry -s /sbin/nologin

安裝samba軟體包

建立samba共享帳号

useradd kenji -s /sbin/nologin

useradd chihiro -s /sbin/nologin

把系統賬戶添加到samba的賬戶資料庫,并且修改密碼

pdbedit -a harry

pdbedit -a kenji

pdbedit -a chihiro

列出所有有效的samba賬戶

samba的主配置檔案

字段解釋:

[global]

workgroup = 工作組名 #windows專用

[homes] #家目錄共享

[printer] #列印機共享

[共享名]

path = 要共享的檔案夾絕對路徑

browseable = yes #no為隐藏共享

read only = yes #yes為隻讀

write list = user #允許寫入的使用者

valid users = username #有效的使用者

89行,修改workgroup為STAFF

追加到配置檔案的最後

[common]

path = /common

hosts allow = 172.25.0.0/24

systemctl restart smb

systemctl enable smb

安裝smaba用戶端軟體

列出172.25.0.11上共享的目錄

這個包可裝可不裝。連接配接\172.25.0.11,進入互動式界面,對\172.25.0.11\common目錄的内容進行操作

檢視受SELinux管理的服務布爾值的開關狀态

設定SELinux管理的samba服務,它的samba_export_all_ro這個值為on的狀态。即對該項功能的開關,需要加-P選項才能永久生效

臨時挂載伺服器的共享檔案夾到/mnt/samba

安裝cifs軟體包

_netdev這個參數很重要,它表示是一個網絡裝置,必須等網絡服務啟動之後再挂載

永久挂載共享目錄

測試挂載配置是否正确

測試挂載是否正常

用戶端通路服務端不正常的排錯思路:

1.防火牆是否限制

2.服務本身的通路控制

3.SELinux是否限制

4.服務端目錄是否有權限

追加到檔案最後

[devops]

path = /devops

write list = chihiro

mkdir /devops

echo dev >/devops/te.txt

重新開機samba服務

設定samba的讀寫功能為開啟(on)

在共享目錄中嘗試建立檔案,還是提示權限不足。原因是服務端本地目錄對chihiro使用者沒有寫的權限

單獨為chihiro使用者添加/devops目錄的讀寫權限

管理者一次挂載,用戶端可以臨時切換身份對共享目錄做寫操作

用戶端:

挂載mnt目錄。

修改user為kenji

增加multiuser,sec=ntlmssp參數

切換到普通使用者

切換到chihiro的身份,通路/mnt/dev,可以執行讀寫操作

故障現象:

mount -a

mount error(13): Permission denied

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

可能原因:

server沒有使用pdbedit添加samba使用者

挂載成功後無法建立檔案

server samba共享的目錄沒用setfacl配置設定寫權限

server的setsebool沒打開samba_export_all_rw=on

NFS(Network File System)網絡檔案系統

端口:2049/TCP、2049/UDP

RPC(Remote Process Call)遠端程序調用

端口:111/TCP、111/UDP

nfs-utils

nfs-server

NFS的配置檔案

echo "/public 172.25.0.0/24(ro)" >>/etc/exports

服務端設定共享目錄

重新開機NFS服務

添加nfs挂載

服務端設定可讀寫的共享目錄

服務端重新開機NFS服務

用戶端添加NFS挂載配置檔案

挂載測試

touch /mnt/protected/aaa.txt

不壓榨root使用者權限,即允許root在nfs共享裡面建立的檔案還是屬于root使用者,而不是屬于nfsnobody使用者

/abc 172.25.0.0/24(rw,no_root_squash)

當用戶端的普通使用者通路服務端時,服務端會映射成本地相同uid的使用者,然後查找是否存在相同uid的使用者。如果有,那麼就以本地使用者的身份去通路檔案夾;如果沒有,直接拒絕

初始化服務端和用戶端的ldap環境

LDAP:網絡使用者,提供使用者名

Kerberos:密碼驗證。一次密碼認證,多次免密登陸

生産環境中會用LDAP驗證使用者名,再用kerberos驗證密碼。

使用者首次通路時,找LDAP驗證使用者名,驗證通過後再找kerberos驗證密碼。全部驗證通過後,kerberos會給使用者頒發令牌(token)

當使用者再次通路時,找LDAP驗證使用者名,驗證通過後。服務端發現有token,就不再去找kerberos,直接放行

服務端:

mkdir -p /protected/project

chown ldapuser0 /protected/project

ls -l /protected/project

echo "/protected 172.25.0.0/24(rw,sec=krb5p)" >>/etc/exports

服務端:重新開機安全nfs服務及nfs服務

mkdir /mnt/nfssecure

ls -l /mnt/nfssecure

tail -1 /etc/fstab

用戶端:重新開機nfs-secure服務

用戶端:挂載測試

用戶端:檢視挂載

遠端登陸server0

touch /protected/project/ldfile.txt

mount.nfs: an incorrect mount option was specified

mount.nfs: access denied by server while mounting 172.25.0.11:/protected

本文轉自 goldwinner 51CTO部落格,原文連結:http://blog.51cto.com/355665/2068712,如需轉載請自行聯系原作者

繼續閱讀