1.用yum命令安裝Samba服務
# yum install samba
2.配置訪問共享資源的用戶(如root,該賬戶一定要本來就在當前系統就存在的,我們用的root這肯定存在了)
# pdbedit -a -u root (會提示我們輸入密碼和確認密碼,注意此處的輸入密碼是輸入該賬戶在Samba服務數據庫中的密碼,這和root賬戶的系統密碼是不一樣的概念,我是設置的一樣的)
3.創建共享目錄同時賦予訪問共享資源用戶對該文件的權限。
# mkdir /home/database --創建目錄
# chown -Rf root:root /home/database --賦權限
# semanage fcontext -a -t samba_share_t /home/database --修改 database 目錄的 SELinux 安全上下文
# restorecon -Rv /home/database --恢復SELinux文件屬性,使上面修改操作立刻生效
4.設置 SELinux 服務與策略,使其允許通過 Samba 服務程序訪問普通用戶家目錄。(由於我們使用的是root用戶,所以就算我們執行了這一步操作也無權限訪問root目錄)
# getsebool -a | grep samba --查看Samba 服務程序相關的 SELinux 域策略
# setsebool -P samba_enable_home_dirs on --允許通過 Samba 服務程序訪問普通用戶家目錄
5.修改Samba 服務程序的主配置文件,我們只需要改[global]這一個參數,和新建一個[database]參數就行,其他不用動,劉遄老師說可以刪掉[homes]和[printers]參數,這里我是沒有刪。
# vim /etc/samba/smb.conf
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[database]
comment = Do not arbitrarily modify the database file
path = /home/database
public = no
writable = yes
6.重啟 smb 服務(Samba 服務程序在 Linux 系統中的名字為 smb)並清空 iptables 防火牆
# systemctl restart smb --重啟smb服務
# systemctl enable smb --使smb服務自動啟動
# iptables -F --清空iptables防火牆
# service iptables save --對iptables服務進行保存(注1)
linux上的共享配置工作就已經完成,接下來就是去Windows上訪問試試了,打開運行窗口輸入\\ip,再輸入我們配置的共享用戶:root再輸入密碼就可以訪問共享文件夾了。
注1:如果輸入# service iptables save之后提示"The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl."
解決辦法:
1.先執行如下命令:
systemctl stop firewalld
systemctl mask firewalld
2.安裝iptables services
yum install iptables-services
3.設置開機啟動
systemctl enable iptables
4.重啟iptables service
systemctl restart iptables
5.執行保存配置命令
service iptables save
在linux上查看linux共享出來的文件夾方法:
1.在客戶端(也就是你要讀取共享文件的電腦)安裝文件共享服務軟件包(cifs-utils)
# yum install cifs-utils
2.創建認證文件,將用戶名、密碼、共享域寫入進去,你也可以設置權限將該文件只可以root可以讀寫
# vim auth.smb --創建文件,寫入信息
username=root
password=password
domain=MYGROUP
# chmod 600 auth.smb --只有root有權限讀寫
3.在 Linux 客戶端上創建一個用於掛載 Samba 服務共享資源的目錄,並把掛載信息寫入到/etc/fstab 文件中,以確保共享掛載信息在服務器重啟后依然生效:
# mkdir /database --創建共享目錄
# vim /etc/fstab --修改記錄掛載信息的文檔
#
# /etc/fstab
# Created by anaconda on Wed May 4 19:26:23 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults 1 2
/dev/mapper /rhel-swap swap swap defaults 0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
# mount -a --掛載cdrom
4.驗證掛載是否成功。
# cd /database
# ls --查看文件並修改保存