Linux下通過samb服務器手動和自動掛載

 

Linux下通過samb服務器手動和自動掛載
 
samba是一個工具套件,在Unix上實現SMB(Server Message Block)協議,或者稱之爲NETBIOS/LanManager協議。
SAMBA 最初發展的主要目就是要用來溝通Windows 與 Unix Like 這兩個不同的作業平臺。最大的好處就是不必讓同樣的一份數據放置在不同的地方,而且也可以透過這樣的一個檔案系統上Linux 與 Windows 的檔案傳輸變得更爲簡單!也就是說,可以透過『網絡上的芳鄰』來進行Linux 與 Windows 檔案的傳輸。
 
SAMBA 的執行文件:
執行檔,至於做爲 SAMBA Client 的執行檔主要則是:smbmount,smbclient。 smbd 與nmbd:這兩個執行檔是那兩個主要的 daemons ,每次啓動 SAMBA 都會使用到的兩個執行檔。 testparm,smbd, nmbd, smbpasswd  SAMBA 的執行文件一般來說,做爲 SAMBA Server 的
  testparm:當設定完成了smb.conf 這個主要設定檔之後,而想要查看一下 SAMBA 的所有設定參數與 smb.conf的設定項目是否正確時,就需要使用這個 testparm 來查看( test parameters 的簡寫!)!所以,每次在修改完 smb.conf之後,請務必要使用 testparm 查看看是否有設定錯誤。
  smbpasswd:如果SAMBA 設定的較爲嚴格,需要規定使用者的賬號與密碼,那麼那個密碼檔案的建立就需要使用smbpasswd 來建置纔可以,所以這個指令與建立 SAMBA 的密碼有關。 smbclient:當Linux 主機想要藉由『網絡上的芳鄰』的功能來查看別臺計算機所分享出來的目錄與裝置時,就可以使用smbclient 來查看啦!這個指令也可以使用在 SAMBA 主機上面,用來查看是否設定成功。 
 
 
smb協議:服務信息塊 Server Message Block
安裝完samba後形成兩個服務:
smbd : tcp 139 445 端口 資源共享,連接控制
nmbd: udp 137 138 端口 資源宣告
 
1 建立掛載點,掛載光盤:
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
 
2 查看samb安裝包:
[root@localhost ~]# cd /mnt/cdrom/Server
[root@localhost Server]# ll sm*
-r--r--r-- 264 root root 344789 Dec 11 2008 smartmontools-5.38-2.el5.i386.rpm
[root@localhost Server]# ll sam*
samba-3.0.33-3.14.el5.i386.rpm 主安裝包
samba-client-3.0.33-3.14.el5.i386.rpm 客戶端文件
samba-common-3.0.33-3.14.el5.i386.rpm samb配置文件
samba-swat-3.0.33-3.14.el5.i386.rpm實現web訪問文件
3 安裝samb:
[root@localhost Server]# rpm -qa |grep samb
samba-common-3.0.33-3.14.el5
[root@localhost Server]# rpm -ivh samba-3.0.33-3.14.el5.i386.rpm
warning: samba-3.0.33-3.14.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
       perl(Convert::ASN1) is needed by samba-3.0.33-3.14.el5.i386
[root@localhost Server]# rpm -ivh perl-Convert-ASN1-0.20-1.1.noarch.rpm
warning: perl-Convert-ASN1-0.20-1.1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:perl-Convert-ASN1      ########################################### [100%]
[root@localhost Server]# rpm -ivh samba-3.0.33-3.14.el5.i386.rpm
warning: samba-3.0.33-3.14.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:samba                  ########################################### [100%]
 
4 查看安裝完後文件:
[root@localhost Server]# rpm -ql samba-common |less
 

5 修改主配置文件:
[root@localhost Server]# vi /etc/samba/smb.conf
 

6 啓動smb並查看四個端口開啓情況:
 

 

 

7 訪問:
 

添加一個ip192.168.145.101,發現可以繼續訪問
 [root@localhost Server]# ifconfig eth0:0 192.168.145.101

 
然後修改配置文件:
 

 

 

可以發現無法訪問。
8 安全級別
samba的安全級別:
share: 不用驗證
user :需要身份驗證,需要samba賬號庫
server :需要其他服務器進行身份驗證
domain :域 DC進行驗證
案例:
 
Public      /abc       any    ro
sambuser1 /tmp/user1 user1   rw
sambuser2 /tmp/user2 user2   rw
1 編輯
[root@localhost Server]# vi /etc/samba/smb.conf

 
測試語法:

 
2 創建目錄和用戶
 

3 改變用戶所屬性
[root@localhost Server]# chown user1.user1 /tmp/user1/
[root@localhost Server]# chown user2.user2 /tmp/user2/
4 建文件夾
[root@localhost ~]# touch /abc/p{1,2}
[root@localhost ~]# touch /tmp/user1/f1.user1
[root@localhost ~]# touch /tmp/user2/f2.user2
5 創建samb數據庫
 
[root@localhost ~]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.
[root@localhost ~]# smbpasswd -a user2
New SMB password:
Retype new SMB password:
Added user user2.
重啓
[root@localhost samba]# service smb restart
訪問
 

6 實現linux客戶端訪問windows共享
在windows上共享文件並建立賬戶
 

訪問
[root@localhost ~]# smbclient -L //192.168.145.200 -U u1
 

 

7 將public手動掛載到linux主機上
先建目錄/mnt/liufan/
[root@localhost ~]# mkdir /mnt/liufan
[root@localhost ~]# mount -t cifs //192.168.145.200/public /mnt/liufan -o username=u1,password='123'
 

8 也可以編輯/etc/fstab/文件系統表實現自動掛載
先執行[root@localhost ~]# unmount /mnt/liufan
 

[root@localhost ~]# vi /etc/fstab
加入下列語句
//192.168.145.200/public /mnt/liufan           cifs     defaults,username=u1,password=123 0 0
執行mount –a 查看,有了!!
 

由於/etc/fstab文件對所有用戶可見,所有能夠查看到掛載的用戶名和密碼不安全。可以將用戶名密碼寫入一個普通文件,再將該文件設置爲對其他用戶不可見。
[root@localhost ~]# vi /etc/fstab
//192.168.145.200/public /mnt/liufan cifs defaults,credentials=/etc/samba/f1.txt 0 0
 
創建文件/etc/samba/f1.txt
[root@localhost ~]# vim /etc/samba/f1.txt
username=u1
password=123
9 自動掛載
這樣掛載可以隱藏用戶名和密碼,但是如果客戶端開機掛載後,而沒有使用,則將一直和samba服務器相連,消耗服務器資源,因此,可以使用自動掛載,當切換到/mnt/smb下時,自動掛載,退出時,自動取消掛載。
當訪問/mnt/liufan下的文件夾時,查看/etc/auto.smb 的配置,當退出/mnt/smb後60 秒,自動取消連接
[root@localhost ~]# vi /etc/auto.master
 

[root@localhost ~]# cd /etc/
[root@localhost etc]# cp auto.misc auto.nfs
 
[root@localhost etc]# vi auto.nfs
 

[root@localhost etc]# service autofs restart
Stopping automount:                                        [ OK ]
Starting automount:                                        [ OK ]
掛載成功
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

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