centos 5.3 安裝(samba 3.4.4)

 

隨着Linux的普及,如何共享Linux下的文件成爲用戶關心的問題。其實,幾乎全部的Linux發行套件都提供了一個很好的工具Samba——經過它能夠輕鬆實現文件共享。Samba的功能很強大,在Linux服務器上的Samba運行起來之後,Linux就至關於一臺文件及打印服務器,向Windows和Linux Samba客戶提供文件及打印服務。
   Samba的功能很強大,但易用性也極差。緣由是它的配置文件太大並且不容易理解,新手和熟手都對其望而卻步。可是,若是僅僅實現文件共享,配置Samba也很簡單,下面咱們就一塊兒來配置吧。linux


wget  http://samba.org/samba/ftp/stable/samba-3.4.4.tar.gz
tar -xvf samba-3.4.4.tar.gz
cd samba-3.4.4/source3
./configure --prefix=/usr/local/samba
make 
make install ----若出現如下表示安裝成功
==============================================================
MO files for pam_winbind are installed.
==============================================================
==============================================================
All MO files for Samba are installed. You can use "make uninstall"
or "make uninstallmo" to remove them.
==============================================================shell

make installbin----若出現如下表示安裝成功
======================================================================
The binaries are installed. You may restore the old binaries (if there
were any) using the command "make revert". You may uninstall the binaries
using the command "make uninstallbin" or "make uninstall" to uninstall
binaries, man pages and shell scripts.
======================================================================
cd ..   //返回上級目錄
cp examples/smb.conf.default /usr/local/samba/lib/smb.conf   //複製配置文件到指定目錄centos


-----------------------如下啓動和關閉的方式,只做爲參考。後有介紹簡單的啓動、關閉方式------------------------------------------------------
啓動和關閉samba
(1)、 啓動(其中&表示在後臺運行)
/usr/local/samba/sbin/smbd  start  &   
/usr/local/samba/sbin/nmbd  start  &安全

(2)、關閉
ps -auxf |grep samba  查找samba 的進程
效果以下:
[root@localhost ~]# ps -auxf |grep samba 
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root     32355  0.0  0.3   4636   644 pts/2    R+   17:44   0:00          \_ grep samba
root     32233  0.0  1.2  13420  2536 ?        Ss   17:27   0:00 /usr/local/samba/sbin/smbd start   //這條是主進程
root     32234  0.0  0.4  13420  1012 ?        S    17:27   0:00  \_ /usr/local/samba/sbin/smbd start
root     32335  0.0  0.6  11268  1300 ?        Ss   17:41   0:00 /usr/local/samba/sbin/winbindd
root     32336  0.0  0.4  11268  1052 ?        S    17:41   0:00  \_ /usr/local/samba/sbin/winbindd
殺掉: kill -9  32233  就能夠殺掉了。這個比較麻煩。後面我帶你們使用一種更簡單的啓動和關閉的方法。
***************
報錯: /usr/local/samba/sbin/smbd: error while loading shared libraries: libtalloc.so.1: cannot open shared object file: No such file or directory
解決辦法:
ln -s /usr/local/samba/lib/libtalloc.so.1  /usr/lib/libtalloc.so.1
ln -s /usr/local/samba/lib/libtdb.so.1  /usr/lib/libtdb.so.1
ln -s /usr/local/samba/lib/libwbclient.so.0  /usr/lib/libwbclient.so.0
-----------------------------------------------------------------------------bash


**************************配置samba啓動和關閉
(1)、編寫啓動腳本:也能夠以標準服務的形式啓動samba,如下是啓動腳本
 
1.創建啓動腳本
 vi /etc/init.d/smbd
**************************添加以下內容:
#!/bin/sh
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Check that smb.conf exists.
[ -f /usr/local/samba/lib/smb.conf ] || exit 0         #其中: /usr/local/samba/lib/smb.conf  是個人samba配置文件存放路徑
RETVAL=0
case "$1" in
  start)
        echo -n "Starting SMB services: "
        /usr/local/samba/sbin/smbd -D  -d 3        # 其中: /usr/local/samba/sbin/smbd -D   啓動samba 服務
        RETVAL=$?
        echo
        echo -n "Starting NMB services: "
        /usr/local/samba/sbin/nmbd -D -d 3     # 其中: /usr/local/samba/sbin/nmbd -D   啓動samba 服務
        RETVAL2=$?
        echo
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ]  
           RETVAL=1
        ;;
  stop)
        echo -n "Shutting down SMB services: "
        killproc smbd
        RETVAL=$?
        echo
        echo -n "Shutting down NMB services: "
        killproc nmbd
        RETVAL2=$?
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] 
        echo ""
        ;;
  restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
  reload)
        echo -n "Reloading smb.conf file: "
        killproc -HUP smbd
        RETVAL=$?
        echo
        ;;
  status)
        status smbd
        status nmbd
        RETVAL=$?
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
esac
exit $RETVAL服務器


2.修改權限,使其可執行
     chmod 700 /etc/init.d/smbd
     chown  root:root  /etc/init.d/smbd網絡

3.加入系統服務,使其開機能夠自動運行
   chkconfig --add smbd 
   chkconfig --level 2345 smbd on工具

4. 如今啓動和關閉以及從新啓動
/etc/init.d/smbd   start 
/etc/init.d/smbd   stop 
/etc/init.d/smbd   restartspa


*****************************日誌存放路徑:  /var/log/samba/目錄下
詳細說明:vi  /usr/local/samba/lib/smb.conf
[global] 全局配置
    workgroup = MYHOME     ---- 指定工做組
    server string = File Server ---- 服務器的說明 
    security = share   ----安全級別: 共分3種 
                    1.share (任何用戶都不須要密碼,直接能夠訪問)
                    2.user   要提供用戶名和密碼才能訪問
                    3.server 將用戶和密碼提交到另外一服務器驗證,若是遞交失敗,就 退到user安全級。 要求網絡上存在一臺Windows的主域控制器,samba把用戶名和密碼遞交給它去驗證。
****************匿名用戶
匿名用戶,只要把security = share 修改爲這樣。就能夠訪問了。操作系統


----------------
window ===打開網上鄰居=====\\ip地址(好比個人: \\192.168.1.131) 若是能夠訪問,說明配置成功。
-------------------

********************增長用戶,驗證用戶。
[
經常使用參數:
    comment :         目錄說明 
    path :             目錄路徑
    public             開放共享 默認爲no , 若是=yes 表示無需身份驗證
    browseable:        顯示共享名稱。
    valid users:       容許列表中的用戶訪問
    read only:         默認爲yes,共享目錄只讀 。
    write able:        write able =no 與read only = yes 同樣的效果
    wire list:        若是前面只讀,只有在此裏面的用戶纔有寫的權利
    creat mask:       指定在共享目錄裏面創建文件的權限, 權限最高只能爲 766
    directory mask:   指定創建目錄的權限
    force user:       指定存取的用戶張號
    force group:     指定用戶存取組
]
(1)、   增長用戶:  useradd  sambashare(用戶名)
(2)、    smbpasswd  -a  sambashare(用戶名)  鍵入回車,提示你輸入密碼 [必須進入: cd /usr/local/samba/bin/中]

(3)、----------配置以下:(放在配置文件最下面)
[sambashare]  
 comment = sambashare directory
 path = /home/sambashare
 public = no
 write list = sambashare
 valid users = @sambashare
註釋:
(1)、若是其餘用戶想查看sambashare用戶下的文件,只須要把valid users = @sambashare,@用戶名就能夠了。
(2)、創建一個文件共享目錄, 要求所有人可查看, 但每一個人只能刪除本身的文件, 不能刪除別人。
[public]
            comment = Public Stuff
            path = /home/forevergao/
            public = yes
            browseable = yes
            writeable = yes

(4)、 設定public的權限, 由於samba不能作到每一個人只能刪除本身的文件, 不能刪除別人的功能,linux設置目錄Sticky bit權限. 目錄設定了Sticky的權限,在這個目錄下的文件只有root與文件的全部者才能刪除, 別的用戶可能經過設置,才能查看此用戶目錄下全部文件,但不能刪除,只有本用戶才能刪除。chmod  1777  /home/sambashare

相關文章
相關標籤/搜索