歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

文件共享服務之samba 的配置與應用

SMB (Service Message Block,服務信息塊):局域網上共享文件夾/打印機的一種協議。既可以用在TCP/IP之上,亦可以在其他網絡協議之上。

提供兩種服務:文件共享服務 smbd

名稱解析服務 nmbd

進程:winbindd 將linux加入到windows 域中,使用windows域中的資源。

軟件包:samba(服務器端),samba-client(客戶端),samba-common(額外組件)

samba-swat 基於web接口,提供samba服務器配置管理。

samba-client samba-common 默認已經安裝

主配置文件:/etc/samba/smb.conf

啟動腳本:/etc/init.d/smb

語法檢查工具:testparm

端口:137 (向別人提供服務 服務器端) 提供netbios服務

138 (接受別人服務 客戶端) 提供netbios服務

139 (文件傳輸) 445(文件傳輸)

主配置文件相關參數:

[global]

workgroup = MYGROUP //** 工作組

server string = Samba Server Version %v //** 說明信息

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 //**定義監聽接口

hosts allow = 127. 192.168.12. 192.168.13. //** ACL 白名單

log file = /var/log/samba/%m.log //** 定義日志

security = user //** 安全級別 默認 user

安全等級:share 不用賬號和密碼可以直接登錄,最不安全。

user 需要輸入有效地賬號和密碼,通過驗證後才能使用服務器的共享資源。

server 與user等級,也需要輸入有效地賬號和密碼,但密碼的驗證會由另一

台SMB服務器負責,必須指定口令服務器,即“password server”選項。

[homes]

comment = Home Directories //**注釋信息

browseable = no //** 是否可被浏覽

writable = yes //** 是否可寫

; valid users = %S //** 哪些用戶可以使用此類共享

; valid users = MYDOMAIN\%S

[printers]

printable = yes //** 標識一個打印設備

下面就來共享一個目錄:

[root@mail samba]# mkdir /share

編輯/etc/samba/smb.conf 添加一個共享目錄

[tools]

comment = Public Software

path = /share

browseable = yes

writable = yes

public = yes //**允許所有人訪問

保存退出。

添加samba用戶:

smbpasswd -a 添加一個用戶

-d 禁用一個用戶

-e 啟用用戶

-x 刪除用戶

PS:Samba要求來訪問的用戶必須是系統賬號,但是密碼必須是samba提供的密碼。

[root@mail samba]# setenforce 0

為用戶添加寫權限:

[root@mail samba]# setfacl -m u:lucy:rwx /share

只允許某些用戶有寫權限:

編輯主配置文件

[tools]

comment = Public Software

path = /share

browseable = yes

write list = lucy //** 如果允許一組用戶有寫權限 則 write list = @develop

public = yes

為組添加/share目錄的寫權限:

[root@mail samba]# setfacl -m g:develop:rwx /share/

在SElinux開啟的情況下允許用戶有寫權限:

首先改變目錄的標簽:

[root@mail samba]# chcon -R -t samba_share_t /share

[root@mail samba]# ls -dZ /share

drwxrwxr-x+ root root root:object_r:samba_share_t /share

開放samba家目錄的訪問權限:

[root@mail samba]# setsebool -P use_samba_home_dirs 1

[root@mail samba]# setsebool -P samba_enable_home_dirs 1

利用smbclient訪問共享資源:

列出目標主機上所有可以訪問的共享資源

[root@mail samba]# smbclient -L //192.168.0.39

[root@mail samba]# smbclient -L //192.168.0.39 -U lucy%lucy //** 以某個用戶身份來查看

訪問共享目錄:

[root@mail samba]# smbclient //192.168.0.39/tools -U lucy

將遠端共享目錄掛載到本地主機目錄下

[root@mail ~]# mount -t cifs //192.168.0.39/share /samba -o username=lucy

設置開機設置自動掛載

編輯/etc/fstab

//192.168.0.181/tools /mnt cifs credentials=/etc/samba/cred 0 0

credentials=/etc/samba/cred //** 驗證信息存放位置

建立cred文件:

uername=lucy

password=lucy

實現samba的訪問控制功能

編輯主配置文件:

hosts allow = 127. 192.168.0. line 81

設置iptables規則:

[root@mail ~]# iptables -t filter -A INPUT -s 192.168.0.1 -d 192.168.0.39 -p tcp -m multiport --dports 139,445 -j ACCEPT

[root@mail ~]# iptables -t filter -A INPUT -s 192.168.0.1 -d 192.168.0.39 -p udp -m multiport --dports 137,138 -j ACCEPT

[root@mail ~]# iptables -A INPUT -s 0.0.0.0/0.0.0.0 -d 192.168.0.39 -p tcp -m multiport --dports 139,445 -j REJECT

[root@mail ~]# iptables -A INPUT -s 0.0.0.0/0.0.0.0 -d 192.168.0.39 -p udp -m multiport --dports 137,138 -j REJECT
 

Copyright © Linux教程網 All Rights Reserved