這篇是samba安裝篇後續版:Fedora13學習系列2---安裝samba
http://hi.baidu.com/zykbcatv/blog/item/7b065f131b2274def7039e9b.html
安裝samba服務當時只爲了在虛擬機與主機之間的文件分享,前期已經搞定了在LINUX系統中訪問window中的共享資源。在windows訪問linux遇到問題了,擱了幾周終於有興趣來折騰。。。分享一下解決問題的過程:
1 windows可以ping通linux主機但無法訪問
無法訪問的原因是沒有合法的用戶訪問,提示權限不對。
這個問題是我錯誤的理解了samba用戶與linux系統用戶的概念。
我的LINUX系統中有三個用戶:root, samba, zengyong. 我想直接用這三個用戶名與對應的密碼就可以在window端訪問samba共享,實際上是錯誤的。
samba還要單獨設置這些系統中已經有的用戶名的密碼,用這個命令:smbpasswd 重新設定這個用戶的samba登錄密碼
(samba有很強大的配置選擇,考慮如果對方擁有samba的訪問權限,就知道了系統中的用戶名,從安全角度考慮,還可以做用戶名的映射)
2 設定好samba用戶後,可以列出用戶列表,無法訪問。
解決了samba登錄的問題,但登錄後無法寫入文件,主目錄甚至不能訪問,直接提示權限不夠。
我的系統中共享了samba用戶的主目錄/home/samba 專門開了一個共享目錄/mnt/share.
第1點:登錄samba服務器的登錄名在LINUX系統中一定是有權限操作
如我在windows端用的samba用戶名登錄,在LINUX系統中查看/mnt/share目錄可以知道:samba用戶擁用目錄的讀寫權限。
第2 點 smb.conf配置文件中需要設置對共享目錄的訪問權限限制
設置1 :哪些用戶可以訪問:guest ok = yes所有用戶都可以訪問
設置2 :browseable = yes 列出可以訪問的目錄(這個不是必須,不列出,也可以直接通過路徑訪問,類似於windows中的D$這種)
設置3 :writable = yes 開啓目錄寫權限, 如果是read only = on 則只能讀,不能寫
設置4 (最重要的一點,我就是沒有設置導致無法寫入/mnt/share目錄,也不能進入/home/samba主目錄。
這就是SELINUX設置
chcon -R -t samba_share_t /home/samba
chcon -R -t samba_share_t /mnt/share share
還有一個命令,未嘗試
setsebool -P samba_export_all_rw on(允許寫)
命令可以參考smb.conf 配置文件中的前面的說明文檔
有一個更簡單的辦法,直接禁用selinux
vi /etc/sysconfig/selinux
selinux=disable 把原來的enable 改爲disable即可