1. 程式人生 > >linux的samba服務部署

linux的samba服務部署

#################
1.SMB的用處和怎麼登陸
#################
用處是通過儲存分離保護伺服器的穩定
用法
server為伺服器
172.25.254.128
設定好yum源
安裝samba服務
yum install samba samba-common samba-client.x86_64 -y

在這裡插入圖片描述
開啟服務
在這裡插入圖片描述
關閉火牆
在這裡插入圖片描述
關閉核心
在這裡插入圖片描述
新增一個使用者
在這裡插入圖片描述
新增使用者身份
在這裡插入圖片描述

smbpasswd -a westos
New SMB password:
Retype new SMB password:
Added user westos.

檢視有什麼使用者
pdbedit -L


在這裡插入圖片描述
怎麼刪除
smbpasswd -x westos
為了實驗需要刪除後重新新增westos

在這裡插入圖片描述
客戶端為desktop
172.25.254.228
配置好yum源

在這裡插入圖片描述
關閉火牆
在這裡插入圖片描述
關閉核心
在這裡插入圖片描述
安裝samba服務
yum install samba-client.x86_64 -y

在這裡插入圖片描述
匿名訪問
smbclient -L //172.25.254.128
不輸入密碼直接回車

在這裡插入圖片描述
直接訪問
smbclient //172.25.254.128/westos -U westos
put上傳服務端的/home/westos/檔案到westos下
!ls能檢視服務端/home/westos下的檔案

在這裡插入圖片描述
掛載到/mnt下訪問能在客戶端建立檔案儲存到服務端
mount -o username=westos,password=westos
//172.25.254.128/westos
/mnt/

在這裡插入圖片描述
此時在客戶端/mnt下建立的檔案儲存在服務端的/home/westos下
在這裡插入圖片描述
在服務端/home/westos/下檢視檔案
在這裡插入圖片描述
開機自動掛載,修改/etc/fstab檔案
在這裡插入圖片描述

#############################
2.怎麼設定smb配置檔案和核心允許訪問
#############################
開啟配置檔案
vim /etc/samba/smb.conf
更改組

在這裡插入圖片描述
記得重啟服務
systemctl restart smb.service
開啟核心
嘗試登陸,此時無法登陸

在這裡插入圖片描述
conf檔案的30行有提示
在這裡插入圖片描述
按照提示開啟開關
setsebool -P samba_enable_home_dirs on


在這裡插入圖片描述
開啟配置檔案
在任意位置寫下
hosts allow = 172.25.254.228
意思是允許某個ip登陸
這就是白名單

在這裡插入圖片描述
重啟服務後在客戶端登陸
在這裡插入圖片描述
任意位置寫下
意思是允許某個ip不能登陸
hosts deny = 172.25.254.228
這就是黑名單

在這裡插入圖片描述
重啟服務後在客戶端登陸
在這裡插入圖片描述
##################
3.設定共享路徑
##################
開啟smb.conf檔案
[linux]
324 comment = westos dir share
325 path = /westos

在這裡插入圖片描述
退出儲存後重讀服務
在根下建立目錄westos
mkdir /westos

在這裡插入圖片描述
登陸後進不去
原因是核心檢查安全上下文不匹配
修改westos的安全上下文後就能進去了
semanage fcontext -a -t samba_share_t '/westos(/.*)?'

在這裡插入圖片描述
restorecon -RvvF /westos/
檢視安全上下文

在這裡插入圖片描述
smbclient //172.25.254.128/linux -U westos
在這裡插入圖片描述
但有一種情況就是我們設定共享路徑為系統檔案,
由於有別的服務會匹配原安全上下文我們不能隨意修改
326
327 [opt]
328 comment = opt
329 path = /mnt

在這裡插入圖片描述
退出儲存後重讀服務
匿名使用者登入失敗後能顯示我們新增的目錄
smbclient -L //172.25.254.128

在這裡插入圖片描述
smbclient //172.25.254.128/opt -U westos
發現登陸進不去,原因是/mnt下的安全上下文不匹配
我們需要修改核心開關,使服務端的核心開啟samba所有的讀許可權
setsebool -P samba_export_all_ro on

在這裡插入圖片描述
smbclient //172.25.254.128/opt -U westos再次登陸
此時無法上傳檔案原因是這個目錄下寫檔案的許可權沒有開啟

在這裡插入圖片描述
########################
4.設定使用者在目錄下的許可權
########################

配置/etc/samb/sam.conf

126 map to guest = bad user
[linux]
324 comment = westos dir hare
325 path = /westos
326 writable = yes
327 ; write list = @westos
328 ; valid users = +student
329 browseable = yes
330 ; admin users = student
331 guest ok = ye

map to guest = bad user
設定匿名使用者以什麼身份登陸

設定在此目錄下可寫
writable = yes

設定在此目錄下可寫的組
write list = @westos

設定只能登陸此目錄的使用者身份
valid users = +student

設定能在此目錄下瀏覽就是ls
browseable = yes

設定此目錄下什麼身份的使用者有root許可權
admin users = student

設定允許匿名使用者登陸
guest ok = yes
於此同時設定126行匿名以什麼身份登陸
(按照規範應該寫在126行,但寫在別的地方也能生效)**

(1)測試匿名登陸上傳檔案的效果
在這裡插入圖片描述
登陸命令為
smbclient //172.25.254.128/linux
上傳一個檔案anaconda-ks.cfg 有報錯
這個錯誤是因為服務端/westos這個目錄的許可權不夠

在這裡插入圖片描述
修改許可權為777
在這裡插入圖片描述
修改後再次登陸上傳
在這裡插入圖片描述
在服務端檢視檔案許可權,nobody意思是匿名使用者
在這裡插入圖片描述
(2)測試組可寫許可權
新增一個組
westos屬於這個組
在這裡插入圖片描述
設定為組可寫write list = @westos
完成後重啟服務

在這裡插入圖片描述
此時匿名使用者無法上傳檔案
在這裡插入圖片描述
此時屬於westos組的westos能在此目錄寫檔案(上傳和刪除)
在這裡插入圖片描述
(3)測試valid users = +student只有student能登陸
設定配置檔案

在這裡插入圖片描述
新增使用者student的身份
在這裡插入圖片描述
用westos登陸被拒絕
用student登陸成功

在這裡插入圖片描述
(4)設定某使用者在這個目錄下有root權力
表現方式為上傳檔案的所有人為root

在這裡插入圖片描述
以westos的身份上傳檔案
在這裡插入圖片描述
檢視上傳的檔案的所有人
在這裡插入圖片描述

################
5.多使用者不交叉登陸
################
在客戶端以westos身份建立檔案後客戶端的普通使用者student可以不通過認證檢視檔案,這不合理,我們需要設定一個認證方式
在服務端只保留瀏覽和寫許可權
在這裡插入圖片描述
加入一個使用者身份student
在這裡插入圖片描述
在客戶端
yum install cifs-utils

在這裡插入圖片描述
設定客戶端root以westos的身份登陸
vim /root/smbpass
username=westos
password=westos

在這裡插入圖片描述
chmod 600 /root/smbpass
在這裡插入圖片描述
掛載登陸服務端
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.128/linux /mnt/
移動到mnt下
cd /mnt
建立root檔案
touch root
切換到student
su - student
移動到mnt
cd /mnt
檢視檔案發現被拒絕
ls
在這裡插入圖片描述
為客戶端的student新增在服務端的身份,
此時的student是服務端的student身份,
密碼為服務端設定的密碼
cifscreds add -u student 172.25.254.128
檢視檔案
ls
如果密碼錯誤需要清除之前登陸的帳號
cifscreds clearall

在這裡插入圖片描述