1. 程式人生 > >Linux的samba文件服務

Linux的samba文件服務

samba文件服務

一.samba提供cifs協議實現共享文件

1.SMB文件共享,通用Internal文件系統(CIFS)也稱為服務器信息塊(SMB),是適用於Microsoft Windows服務器和客戶端的標準文件和打印機共享系統。

2.Samba服務器可用於將Linux文件系統作為CIFS / SMB網絡文件共享進行共享,並將linux打印機作為CIFS / SMB打印機共享進行共享


二.安裝環境

技術分享

技術分享

技術分享


Samba-common - Samba的支持文件

Samba-client - 客戶端應用程序

Samba - 服務器應用程序


yum install samba samba-common samba-client -y

systemctl start smb
systemctl enable smb

三.添加smb用戶

1.smb用戶必須時本地用戶
smbpasswd -a student
New SMB password: 輸入smb當前用戶密碼
Retype new SMB password: 確認密碼

pdbedit -L 查看smb用戶信息

pdbedit -x smb用戶 刪除smb用戶


技術分享



2.以student登陸無法顯示共享內容,主要是Selinux的開啟無法正常訪問

技術分享


在SElinux開啟情況下,修改的sebool值,打開訪問家目錄權限,打開後可以訪問

setsebool -P enable_samba_home_dirs on 在selinux中設定smb用戶可以訪問自己的家目錄


技術分享



四.共享目錄的基本設定


1.基本設置

編輯配置文件vim /etc/samba/smb.conf

workgroup = westos 工作組名稱


[westos] 共享名稱

comment = 對共享目錄的描述
path = 共享目錄的絕對路徑

技術分享


技術分享

smbclient -L //172.25.254.128 -U student 可看到所創建的共享目錄

技術分享


2.當共享目錄為用戶自建立目錄時,需要修改新建目錄的上下文
semanage fcontext -a -t samba_share_t ‘目錄名稱(/.*)?‘
restorecon -RvvF 目錄名稱


技術分享

技術分享



3.當共享目錄為系統建立目錄,為了不影響修改上下文對別的服務影響,修改SElinux的sebool值
setsebool -P samba_export_all_ro on 只讀共享
setsebool -P samba_export_all_rw on 讀寫共享


系統目錄文CONFIG /mnt

技術分享

沒有修改,無法看見文件

技術分享


修改samba的讀取權限後可以正常讀取文件

技術分享


開啟只讀共享後:smbclient //172.25.254.128/CONFIG -U student

技術分享


五.samba的配置參數

1.匿名用戶訪問
guest ok = yes
map to guest = bad user 客戶訪問匿名

技術分享

技術分享

技術分享


2.訪問控制

hosts deny = 僅拒絕

拒絕128登陸

技術分享

技術分享


hosts allow = 僅允許

hosts allow =172.25.254.28,允許28登陸

技術分享


valid users = 當前共享的有效用戶
valid users = student 當前共享的有效用戶為student

未添加共享的有效用戶student ,無法訪問

技術分享


編輯配置文件vim /etc/samba/smb.conf,添加共享有效用戶後可以訪問

技術分享

技術分享



valid users = @student 當前共享的有效用戶為student組
valid users = +student 當前共享的有效用戶為student 組

新建用戶lee,屬於student組,屬於有效訪問組的用戶

技術分享

技術分享

編輯配置文件vim /etc/samba/smb.conf為+student後,lee用戶可以訪問

技術分享

技術分享


3.讀寫控制
所有用戶均可寫
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes

mount -o username=student,password=123 //172.25.254.128/CONFIG /mnt/ 在客戶端上以student身份將172.25.254.128/CONFIG掛載到/mnt上

技術分享


技術分享


技術分享













設定指定用戶可寫
write list = student #可寫用戶
write list = +student #可寫用戶組
write list = @student
admin users = westos #共享的超級用戶指定




6.smb多用戶掛載
在client上
vim /root/haha
username=student
password=lee

chmod 600 /root/haha

yum install cifs-utils -y

mount -o credentials=/root/haha,multiuser,sec=ntlmssp //172.25.254.100/haha /mnt/

#credentials=/root/haha 指定掛載時所用到的用戶文件
#multiuser 支持多用戶認證
#sec=ntlmssp 認證方式為標準smb認證方式


su - kiosk
ls /mnt
ls: cannot access /mnt: Permission denied #因為沒有作smb的認證所以無法訪問smb共享
cifscreds add -u westos 172.25.254.100
Password: ##smb用戶westos的密碼
ls /mnt


























Linux的samba文件服務