Samba服務器的設置

轉載地址:https://blog.csdn.net/losophy/article/details/8192091
Samba的作用,讓windows和linux之間進行文件共享。
1.安裝Samba(centos7.4)
yum -y install samba //samba服務器會用到tcp139和445端口
2.防火牆開放
firewall-cmd --set-default-zone=public
firewall-cmd --add-service=samba
firewall-cmd --add-service=samba --permanent
3.主配置文件/etc/samba/smb.conf,重要的一些設置項的解釋如下:
workgroup = MYGROUP //設置成跟windows機器的workgroup一樣,才能共享文件系統。
hosts allow = 192.168.64.131或者192.168.64.0/24 //允許某個IP或者網段可以訪問
hosts deny = xxx //拒絕某個IP和IP網段訪問
log file = /var/log/samba/log //日誌文件
max log size = 50 //日誌文件大小達到50KB就回滾,回滾就是log文件滿了以後會被壓縮重命名,然後再新建一個log file。
security = user //默認的用戶認證類型
用戶認證類型有三種,分別如下:
user //默認 共享時會需要提供Samba的用戶及用戶密碼
share //匿名訪問,不需要輸入用戶名密碼
server // 指定第三方認證機構
browseable = no(默認yes) // 意思是其他用戶設置的共享目錄就被隱藏了,但是可以正常訪問。

4.pdbedit -L 查看成爲Samba用戶的信息,
5.smbpasswd可以添加系統用戶爲Samba用戶,前提必須是系統用戶才行,該命令需要安裝yum -y install samba-client纔會有。添加用戶實例如下:
smbpasswd -a tom 回車以後輸入密碼就可以了,這個密碼可以和該系統的用戶密碼不一樣。
6.【printers】 //這一項設置它會自動把打印機給共享出去。
7.【home】 // 這一項設置會把家目錄共享出去,但前提是需要設置一下布爾值才行,設置如下:setsebool -P samba_enable_home_dirs on
家目錄共享的測試方式如下:打開windows的運行窗口,輸入\192.168.64.130(samba服務器的IP地址),回車正常會跳出輸入sanba內置用戶的用戶名和密碼。
8.設置一個目錄共享
第一步:mkdir /test-zz
第二步:編輯配置文件/etc/samba/smb.conf添加一下內容:
【test-zz】
path = /test-zz
hosts allow=xxxx
writable = yes //不添加默認是沒有寫的權限
write list = xxx //如果配置文件設置成所有人都沒有寫權限,那麼write list的作用就是可以寫的用戶,逗號隔開。
第三步:保存退出修改過的配置文件,然後修改一下共享目錄的上下文,實例如下:chcon -R -t samba_share_t /test-zz,注意:以後如果搭建一個服務,然後需要在客戶端上往這個服務上寫東西,但是寫不進去,應該一次按下面的步驟來排查
1>檢查配置文件是否允許寫
2>檢查文件系統是否允許寫,例如:ls -ld /test-zz, chmod o+w /test-zz
3>檢查selinux(上下文|布爾值)
第四步:重啓服務systenctl restart smb,然後測試驗證是不是能寫
9.如果不想讓所有人都可以寫,有兩個辦法:
第一個辦法,文件系統允許所有人寫,配置文件改成這樣
writable = no
write list = xxx //把可以寫的用戶添加進去
write list = +staff //允許名叫staff組的用戶都可以寫
第二個辦法,配置文件允許所有用戶寫,文件系統允許個別可以寫,設置例子如下,chmod o-w /zz/ //不許other對目錄zz可寫
setfacl -m u:tom:rwx /zz/ //允許Tom對目錄zz可寫
10.如果我想讓某個samba用戶使用特定的配置文件該怎麼操作呢,如下:
在smb.conf文件中的全局部分【global】下面加入這一行
config file = /etc/samba/smb.conf.%U //意思是當使用某個用戶登錄的時候,如果smb.conf中這一行內容的話,則這個用戶會使用smb.conf.user 這個配置文件,例如:smb.conf.tom 如果是tom用戶的話,那我就使用smb.conf.tom這個配置文件。
10.配置多用戶SMB掛載
客戶端獲取samba服務中擁有不同權限的samba用戶的登錄權限,比如讓客戶端用戶tom1獲取Samba用戶tom的權限,讓tom2獲取Samba用戶lduan的權限
例子如下:
第一步:mkdir /smb //smb客戶端創建目錄
第二步:創建一些用戶tom1,tom2,tom3 //在samba客戶端
第三步:yum -y install cifs* //安裝一個提供加密密碼的算法的工具ntlmssp
//也是客戶端
第四步: mount -o username=tom,password=redhat,multiuser,sec=ntlmssp //192.168.64.130/test-zz /smb
第五步:df -hT //檢查掛載上沒有
第六步:客戶端切換到tom1用戶上
第七步:cifscreds add 192.168.64.130 -u tom //獲取該IP下的samba
用戶tom對共享目錄test-zz的權限,cifscreds clearall是取消對客戶端當前登錄用戶對共享目錄的訪問授權。
第八步:要想自動掛載,可以加入/etc/fstab中,例子如下:
//192.168.64.130/test-zz /smb cifs defaults,username=tom,password=redhat,multiuser,sec=ntlmssp 0 0
保存退出,然後mount -a 立即生效,df -hT 查看掛載上沒有。注意:如果客戶端機器重啓了,需要mount -a一下,再用df -hT纔會看到掛載的目錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章