SAMBA服務器配置

實驗環境:RHEL6.0

ServerIP:192.168.0.1 

nmbd:137、138端口

smbd:139端口,可能還有445端口

ClientIP:192.168.0.2(Linux)

ClientIP:192.168.0.8(Windows)

 

 

服務端配置:

 

#yum install samba samba-common -y

 

例1、不需要密碼的Samba文件共享

 

#cat /etc/sysconfig/i18n (查看本機的編碼,如UTF-8)

 

#vim /etc/samba/smb.conf

******************************************************************************************************

#1.先設置好服務器全局環境方面的參數

 

[global]

        #與主機名有關的設置信息

        workgroup = workgroup

        netbios name = samba_server

        server string = This is JJF's Samba Server!

interfaces = lo eth0

        hosts allow = 127.0.0.  192.168.0.

 

 

        #與語言方面有關的設置項目

        unix charset = utf8

        display charset = utf8

        dos charset = cp936

 

        #與登錄文件有關的設置項目(%m代表客戶端的NetBIOS主機名)

        log file = /var/log/samba/log.%m

        max log size = 50

 

        #與密碼有關的設置項目(share選項可以使訪問時不需要密碼)

        security = share

 

        #不加載打印機

        load printers = no

 

#2.共享資源設置方面:主要是將舊的註釋掉並添加新的文件資源

 

[temp] #共享資源名稱

        comment  = Temporary file space #對資源的描述

        path     = /tmp #實際Linux共享的目錄

        writable = yes #是否可以寫入?

        browseable = yes #是否可以瀏覽到資源名稱

        guest ok = yes #用戶隨意登陸?

*****************************************************************************************************

 

#testparm #檢查samba.conf設置的語法和參數[-v 包括顯示默認參數]

 

#/etc/init.d/smb start

#/etc/init.d/nmb start

 

#netstat -tulnp|grep mbd #打開端口137、138、139、(445)

 

 

 

客戶端配置:

 

#yum install samba-client cifs-utils -y

 

#smbclient  -L  192.168.0.1 #顯示samba Server提供的資源

 

#mount -t cifs //192.168.0.1/temp  /tmp #掛載到客戶機/tmp目錄中

 

 

 

 

 

 

 

例2、要登錄密碼的Samba文件共享

 

#cat /etc/sysconfig/i18n (查看本機的編碼,如UTF-8)

 

#vim /etc/samba/smb.conf

******************************************************************************************************

#1.先設置好服務器全局環境方面的參數

 

[global]

        #與主機名有關的設置信息

        workgroup = workgroup

        netbios name = samba_server

        server string = This is JJF's Samba Server!

interfaces = lo eth0

        hosts allow = 127.0.0.  192.168.0.

 

 

        #與語言方面有關的設置項目

        unix charset = utf8

        display charset = utf8

        dos charset = cp936

 

        #與登錄文件有關的設置項目(%m代表客戶端的NetBIOS主機名)

        log file = /var/log/samba/log.%m

        max log size = 50

 

        #不加載打印機

        load printers = no

 

 

        #與密碼有關的設置項目,包括密碼文件所在的格式(user選項可以使訪問時需要用戶名和密碼)

        security = user #修改安全等級是user

        passdb backend = tdbsam #使用TDB數據庫格式

 

#2.共享資源設置方面:主要是將舊的註釋掉並添加新的文件資源

 

[homes]

 

#在smb.conf文件中一般沒有對這個目錄的設定特定內容比如路徑等。當客戶機發出服務請求時,就在smb.conf文件的其它部分查找有特定內容的#服務。如果沒有發現這些服務,並且提供了homes段時,那麼就搜索密碼文件得到用戶的Home目錄。通過Homes段,Samba可以得到用戶的Home 目#錄並使之共享。

 

        comment = Home Directories

        browseable = no #除用戶自己,其它人不能查看

        writable = yes

        create mode = 0664 #創建的數據權限是644

        directory mode = 0775 #建立的目錄權限是775

 

[project]

        comment = smbuser's project

        path = /home/project

        browseable = yes

        writable = yes

        write list = @users #擁有寫入權限的用戶組users

*******************************************************************************************************

 

#testparm #查看是否有語法錯誤

#mkdir /home/project #建立共享目錄project

#chgrp users /home/project

#chmod  2770 /home/project

#useradd -G users smb1 #建立可使用SAMBA的帳號及密碼

#useradd -G users smb2

#useradd -G users smb3

#echo 1234|passwd --stdin smb1

#echo 1234|passwd --stdin smb2

#echo 1234|passwd --stdin smb3

#pdbedit -a -u smb1 #添加smb1爲SAMBA賬戶

#pdbedit -a -u smb2 #添加smb2爲SAMBA賬戶

#pdbedit -a -u smb3 #添加smb3爲SAMBA賬戶

#pdbedit -L #查詢目前已經存在的Samba賬戶

#/etc/init.d/smb  restart

#/etc/init.d/nmb  restart

#setsebool -P samba_enable_home_dirs=1

 

客戶端訪問:

 

Linux系統:

#mount -t cifs //192.168.0.1/smb1  /mnt -o username=smb1,password=1234,codepage=cp936

   

Windows系統:

打開文件夾——>在地址欄輸入\\192.168.0.1\smb1——>輸入帳號密碼即可

注意:只能登錄一個賬戶!如果想登錄另一個賬戶,需要在文件夾選項中執行“工具”——>“斷開網絡驅動器”,然後再登錄即可。

 

 

 

利用Quota限制用戶磁盤使用

 

1>/etc/fstab加入/home掛載點選項usrquota,grpquota;

2>重新掛載/home,讓Quota實際被支持;

3>以quotacheck -avug建立Quota的數據庫文件

4>啓動Quota

5>edquota -u smb1 給smb1用戶進行磁盤配額

#edquota -p smb1 smb2 

#edquota -p smb1 smb3

6>requota -ua查看配額情況

 

注:

1.SAMBA使用的NetBIOS協議在局域網內共享文件,而非TCP/IP協議在Internet上共享文件;

2.NetBIOS over TCP/IP技術可以實現SAMBA在跨路由開放;

3.FTP服務無法實現在線更改文件;

4.NFS僅限於Linux之間的文件共享;

5.CIFS僅限於Windows之間的文件共享(網上鄰居);

6.常見的局域網連接模式:Peer/Peer(對等模式)、Domain model(主控模式);

7.nmbd:管理工作組、NetBIOS Name等解析,採用UDP協議傳輸數據;

8.smbd:管理SAMBA主機共享的目錄、文件與打印機、權限等,使用TCP協議傳輸數據;

9.用戶的帳號與密碼採用數據庫文件/var/lib/samba/private/{passdb.tdb,secrets.tdb};

10.smb.conf是不區分大小寫的;

11.如果沒有安裝cifs-utils,則日誌文件報錯如下:CIFS VFS: cifs_mount failed w/return code = -22

12.SAMBA.conf中常用的變量:

%S:替代當前設置項目的值(即[]中的值)

%m:代表Client端的NetBIOS主機名

%M:代表Client端的hostname

%L:代表SAMBA主機的NetBIOS主機名

%H:代表用戶的用戶主目錄

%U:代表當前登錄的用戶的用戶名

%g:代表登錄的用戶的組名

%h:代表目前這部SAMBA主機的hostname

%l:代表Client端的IP

%T:代表當前的日期與時間

13.在SAMBA上面的用戶帳號必須要是Linux帳號中的一個;

14.#pdbedit -a|-r|-x  -u 帳號 #添加/修改/刪除帳號

15.#pdbedit -a -m -u 機器賬號 #與PDC有關的機器碼

16.#smbpasswd smb3 #修改賬戶smb3在Samba上的密碼

17.在權限方面,不但要考慮SAMBA文件的權限,還應該考慮Linux系統權限,SELinux權限、防火牆等!!!

18.#可以使用getsebool -a|grep samba查看與Samba相關的SELinux選項。

19.#nmblookup可以查看NetBIOS Name的IP及其他信息;

20.#smbtree 網上鄰居瀏覽器顯示模式

21.#smbstatus觀察SAMBA的狀態

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