linux-SAMBA

安裝配置SAMBA
安裝前的準備:學習過程中我使用的是vmware虛擬機進行的安裝
安裝的時候請確保你的yum源配置是否正確,爲避免不必要的問題出現這裏關閉selinux,使用命令setenforce 0可以實現。


1、 samba在linux中模擬實現SMB和CIFS協議,及其NETBIOS協議,實現把linux模擬成SMB、CIFS或者NETBIOS的客戶端,來實現和windows或者其他系統之間共享文件。


2、 當samba在linux上安裝啓動的話,會啓動兩個主要的進程,nmdb(實現名稱解析)和smdb(實現文件共享)


3、 samba監聽udp(137、138端口)tcp(139端口)以實現名稱解析。實現文件共享則監聽tcp(445端口)


4、 samba的安全級別分爲四類、默認爲user
share  :允許匿名共享,能訪問你所有共享的目錄。最不安全。
user  :訪問的時候必須提供用戶名和密碼才能訪問,用戶是系統用戶,但是密碼不是登錄系統的密碼。
doman/server:實現第三方認證,通過認證才能訪問,比user安全級別高一點。
ads  :基於域的安全認證


5、 samba的軟件包
默認情況下samba的客戶端軟件包都已經安裝過了比如
samba-client.i386    samba-common.i386
samba-swat.i386  //這個是samba一個圖形化的工具使用的話必須安裝
這裏先安裝samba這一個就好了。


6、
yum install samba -y
mkdir /share    //創建共享目錄,名字隨便起,位置也可以改變
修改主配置文件實現對/share的共享。
vim /etc/samba/smb.conf
這是定義的共享信息,還可以更多的進行限制,這裏只定義這幾項。放在了文件的最底部
[tools]        //定義share文件共享時候的名稱
        comment = My Tools   //註釋信息
        path = /share     //共享文件的位置
        browseable = yes    //是否可以讓別人瀏覽
        guest ok = yes     //是否讓來賓賬戶訪問
        writable = yes     //是否可以寫入。(還取決於目錄本身權限)
:wq
testparm         //使用檢查命令檢查寫入是否正確
service smb start       //啓動samba
chkconfig smb on       //定義開機自動啓動samba
netstat -tunlp        //查看端口啓用情況

添加用戶,這裏使用gentoo來進行演示
如果想訪問samba共享的文件,定義user必須要有用戶和密碼,用戶必須是系統用戶,默認密碼放在/etc/shadow
但是samba的密碼和系統密碼不是一個,它的密碼放在/etc/samba下一個加密的文件裏面。
useradd gentoo
smbpasswd -a gentoo  //給gentoo用戶添加使用samba的密碼
redhat     //密碼
在smb的配置文件中把組改成你所在的組
如:在windows中點擊我的電腦右鍵屬性查看,一般都是WORKGROUP組
vim /etc/samba/smb.conf
work group = WORKGROUP
:wq
service smb restart    //重啓服務
可以在windows的網上鄰居里面查看工作組計算機
輸入用戶名和密碼就可以看到你所共享的文件了。
你定義可以寫入,如果你不可以在共享目錄中寫入文件,說明你對這個文件沒有寫入權限,可以增加寫權限
setfacl -m u:gentoo:rwx /share
此時就可以寫入文件了。


7、
實例,這裏再加入一個用戶,centos、
定義不能讓centos寫入,gentoo能寫入,二者都可以訪問共享的文件
useradd centos
setfacl -m u:centos:rwx /share/
smbpasswd -a centos
redhat //密碼
vim /etc/samba/smb.conf
[tools]
        comment = My Tools 
        path = /share    
        browseable = yes
        guest ok = yes 
  write list = gentoo   //定義用戶列表,這裏面的可以寫入,不在的都不能寫入
  保存退出。
由於windows有緩存,效果演示不明顯,這裏採用另一臺linux虛擬機進行驗證。
 smbclient -L 192.168.0.68   //查看這臺計算機共享的文件,並輸入密碼(這裏匿名登錄無密碼)
 smbclient -L 192.168.0.68 -U gentoo //使用gentoo登錄查看,輸入密碼redhat
查看到共享的文件後訪問tools
 smbclient //192.168.0.68/tools -U gentoo
 登錄後可以使用put上傳文件,get下載文件,mkdir建立目錄等
 如果你想把/etc/inittab上傳上來,必須到那個目錄下上傳,不能使用絕對路徑,只能使用相對路徑
 lcd /etc
 put inittab
 exit
使用centos用戶登錄,上傳或者刪除,一個文件試試,看是否設置成功。。。

8、
定義一個組,讓這個組的所有成員都具有寫權限.
 groupadd mygroup
 usermod -aG mygroup gentoo
 usetmod -aG mygroup centos
定義配置文件,添加mygroup這個組有寫入權限
 vim /etc/samba/smb.conf
 在剛纔定義的write list後面寫上組名,組名前面使用@或者+表示後面跟的是組
 write list = @mygroup
 service smb restart
然後再使用gentoo和centos登錄看一下,結果如何?


9、
定義使用特定的客戶端訪問、
vim /etc/samba/smb.conf
在hosts allow這一行把註釋去掉後面的ip網段改成你允許的網段
hosts allow = 127. 172.16. 192.168.   //表示允許127網段172.16網段192.168網段訪問
保存退出,重啓服務
10、
可以把共享的文件掛載到本地使用,如使用gentoo用戶把文件掛載到本地使用
mount -t cifs //192.168.0.68/tools /mnt -o username=gentoo
cifs爲文件類型
-o指定用戶名
/mnt爲掛載點
gentoo用戶可以對掛載目錄進行寫入權限.


11、
安裝圖形化的使用工具samba-swat (samba-swat是非獨立守護進程,依賴超級守護進程。超級守護進程管理的非獨立守護進程的相關配置文件都在/etc/xinetd.d/目錄下)使用901端口
yum install samba-swat -y
vim /etc/xinetd.d/swat
only_from  = 172.16.0.0/16   //表示只允許來自此網段的用戶訪問
disable  = no
:wq
service xinetd start      //啓動此服務,由超級守護進程管理
此時可以在windows的瀏覽器中輸入服務器的ip地址加上端口來訪問
如:    192.168.0.68:901
使用你的系統root用戶的賬號和密碼進行登錄,登錄後可以改密碼,改的只是samba密碼,你的系統用戶的密碼並沒有變。使用這個軟件部允許遠程連接的,防止你的用戶信息被別人截獲。
裏面定義了你的共享的文件,和可以定義的文件的訪問權限,就像windows裏面註冊信息一樣,改完保存一下,新的會覆蓋老的,並且立即生效,爲了以防萬一,記得要備份哦。。。。。。

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