samba for centos7

samba服務linux

http://hongge.blog.51cto.com/ios

RHEL7配置samba:開機自動掛載以及多用戶掛載vim

安裝samba(centos 7/redhat 7提供的samba版本是samba 4)windows

clip_p_w_picpath002

開機啓動centos

clip_p_w_picpath004

啓動服務安全

clip_p_w_picpath005

查看監聽端口(使用netstat或ss命令查看鏈接狀態)服務器

clip_p_w_picpath007

防火牆放行網絡

clip_p_w_picpath008

而後咱們看看配置文件 smb.confide

注意配置任何服務的時候,涉及到權限訪問的配置都有一個基本的順序:工具

1.配置文件,各類conf文件裏面的設置

2.文件權限的訪問,用戶是否有對應的rwx權限

3.SELinux的上下文和布爾值是否打開了

SMB也不例外。

配置文件一開始就提醒SELinux的配置。

clip_p_w_picpath010

標號1:告訴咱們能夠執行testparm檢測samba配置文件的語法正確性

標號2:samba_enable_home_dirs布爾值容許訪問用戶的家目錄

標號3:samba_share_t須要把這個上下文分配給對應的共享文件

global的配置部分主要設置工做組名、描述信息、netbios名、監聽接口或IP、容許域名或網絡範圍等等

clip_p_w_picpath012

注:hosts allow表示容許的IP或域名,書寫格式能夠用如下方式表示

1. 主機IP:多個IP地址用空格分隔,如:172.25.0.1172.25.0.2

2. 網段:能夠用掩碼長度或子網掩碼錶示,如:172.25.0.0/24172.25.0.0/255.255.255.0

3. IP子網前綴:172.25.0.172.25.表示以172.25.0.172.25.開始的地址

4. 主機名或主機後綴名:如desktop.example.com.example.com

5. IPV6地址:2001:db8:0:1::/64

日誌存放點,本地驗證的方式使用user(用戶名方式驗證)

clip_p_w_picpath014

samba 4 下參數security的值再也不容許是share和server,建議使用user

samba 4 下若是但願有匿名訪問共享,可將 map to guest = Bad User 打開

在[global]節中加入map to guest = Bad User,這個配置的意思是將全部samba系統主機所不能正確識別的用戶都映射成guest用戶,這樣其餘主機訪問samba共享目錄時就再也不須要用戶名和密碼了,在定義共享部分添加guest ok = yes。

最後是共享文件

clip_p_w_picpath016

例1:接下咱們來建立一個目錄(如:/common),經過samba輸出共享

經過 SMB 共享/common 目錄,samba服務器必須是 STAFF 工做組的一個成員,共享名必須爲 common,只有 group3.example.com 域內的客戶端能夠訪問 common 共享(group3.example.com中的系統都在子網172.24.3.0/24中),一樣在這個子網中的系統都在,common 必須是能夠瀏覽的,用戶 harry 必須可以讀取共享中的內容,若是須要的話,驗證的密碼是 migwhisk

#yum install –y samba samba-client samba-common //該包裏有 smbpasswd 命令

# mkdir /common

# chcon -R -t samba_share_t /common

# setsebool -P samba_export_all_rwon

# vim /etc/samba/smb.conf

workgroup = STAFF

[common]

path = /common

browseable = yes

# useradd harry

# smbpasswd -a harry ->密碼設置爲 migwhisk

注:與samba配套使用的smbpasswd在samba-client中,建議安裝時一併安裝samba-client

# systemctl start smb

# systemctl enable smb

#firewall-cmd --zone=public --permanent–add-rich-rule=’rule family=」ipv4」 source address=172.24.3.0/24 service name=samba accept’

#firewall-cmd –reload

或者

在smb.conf配置文件的共享定義中使用hosts allow = 172.24.3.只容許group3.example.com 域內的客戶端訪問。

在客戶端上測試訪問samba共享

Windows客戶端

輸入」//samba服務器的IP」回車

clip_p_w_picpath017

輸入用戶名和密碼,回車

clip_p_w_picpath018

從linux客戶端測試訪問

clip_p_w_picpath020

clip_p_w_picpath022

注:掛載smb共享使用的是cifs文件系統

或使用mount.cifs掛載

clip_p_w_picpath024

注:mount.cifs命令由cifs-utils軟件提供

注:sec選項的做用是選擇安全模型

注:linux做爲客戶端掛載windows的共享(共享目錄是ntfs文件系統)也須要安裝cifs-utils包

能夠用man mount.cifs查看手刪頁

clip_p_w_picpath026

例2:配置多用戶SMB掛載

在system1共享經過SMB目錄/devops知足如下要求:

共享名爲devops

共享目錄devops只能被group3.example.com域中的客戶端使用

共享目錄devops必須能夠被瀏覽

用戶kenji必須能以讀的方式訪問此共享,該問密碼是atenorth

用戶chihiro必須能以讀寫的方式訪問此共享,訪問密碼是atenorth

此共享永久掛載在system2.group3.example.com上的/mnt/dev目錄,並使用用戶kenji做爲認證。任何用戶能夠經過用戶chihiro來臨時獲取寫的權限。

在 system1 (smb共享服務器)上建立目錄

# mkdir /devops

建立相關用戶

# useradd kenji

# useradd chihiro

設置/devops目錄的acl權限

# setfacl -m u:chihiro:rwx /devops

設置selinux

# chcon -R -t samba_share_t /devops

# setsebool -P samba_export_all_rw on

修改配置文件

# vim /etc/samba/smb.conf

[devops]

path = /devops

browseable = yes

write list = chihiro

添加samba用戶

# smbpasswd -a kenji

# smbpasswd -a chihiro

重啓服務

# systemctl restart smb nmb

system2 (smb客戶端)上的配置以下:

建立用於測試相關用戶

# useradd lisi

# useradd zhangsan

建立掛載點:

# mkdir /mnt/dev

建立密碼文件

# vim /root/multiuser.txt

username=kenji

password=atenorth

在 fstab 中寫入:

//system1.group3.example.com/devops /mnt/dev cifs

defaults,credentials=/root/multiuser.txt,multiuser,sec=ntlmssp 0 0

注:在客戶端掛載smb共享若使用credentials(指定驗證憑證)參數則要安裝cifs-utils軟件包。

或在 fstab 中寫入:

//system1.group3.example.com/devops /mnt/dev cifs

defaults,username=kenji,password=atenorth,multiuser,sec=ntlmssp 0 0

# mount –a

執行df –hT驗證掛載

clip_p_w_picpath028

#su – lisi

clip_p_w_picpath029

從上圖能夠看到客戶端用戶lisi沒有任何權限,lisi若要以只讀方式訪問共享目錄則執行下面的命令同步服務器kenji用戶身份

#cifscreds add system1 -u kenji

以下圖所示:

clip_p_w_picpath030

從上圖能夠看到客戶端用戶lisi能夠進行讀操做但仍然不能執行寫操做。

客戶端zhangsan用戶能夠對共享目錄執行寫操做又如何實現呢?

方法是執行下面的命令同步服務器chihiro用戶身份

#su – zhangsan

#cifscreds add system1 –u chihiro

clip_p_w_picpath032

注:cifscreds是管理認證憑據(用戶名和密碼),用於多用戶創建會話目的的工具

例3:需求描述

共享名路徑權限

sharedoc/smb/docs全部人員包括來賓都可以訪問

rddocs /smb/tech 僅容許特定組的用戶進行讀寫訪問

特定組的組名爲rd,目前的Alice、Jack、Tom三我的

配置samba服務器

建立共享目錄(假設共享/smb目錄下的文件)

# mkdir -p /smb/docs

# mkdir -p /smb/tech

編輯smb.conf文件

在全局部分添加map to guest項

clip_p_w_picpath033

在共享定義部分添加以下共享配置項

clip_p_w_picpath034

建立系統用戶和組帳戶

clip_p_w_picpath035

將用戶添加到rd組

clip_p_w_picpath036

建立samba用戶

clip_p_w_picpath037

修改目錄權限

clip_p_w_picpath038

重啓smb服務

clip_p_w_picpath039

在客戶端上測試訪問smb共享

以windows系統爲例,在客戶端上輸入:\\samba服務器ip

直接打開共享窗口,當訪問rrdocs共享目錄時,須要輸入用戶名和密碼

http://hongge.blog.51cto.com/

相關文章
相關標籤/搜索