系統為fedora2,初始僅安裝了development tools。
1、安裝
Samba server需要用到三個軟體包,即:samba伺服器軟體包、samba-client (samba用戶端工具)、samba-common(通用工具和庫)。 由於我這個做實驗的fedora在安裝時只安裝了development tools,所以這裡會存 在一個軟體的依存關係,需要先安裝一個rpmdb的軟體包(rpmdb是解決軟體安裝儲 存關係的資料庫),才可以繼續安裝samba的軟體包。 插入第三張光碟片,掛載,並cd到Fedora/RPMS路徑 ls | grep rpmdb 列出當前包括rpmdb的rpm包,即下面的rpmdb-fedora-2- 0.20040513.i386.rpm rpm -ivh rpmdb-fedora-2-0.20040513.i386.rpm /*這個軟體處在fedora的第三 張光碟片Fedora/RPMS裡*/ rpm -ivh --aid samba*.rpm /*安裝samba軟體包,samba*.rpm處於fedora的第一 張光碟片Fedora/RPMS裡,--aid是與前面安裝rpmdb一起對應使用的,初始安裝 samba軟體包時匆必需要*/ rpm -qa |grep samba /*用rpm查詢當前安裝了的包含samba的檔案,-ql中的 q=query,a=all */ rpm -ql samba-3.0.3-5 rpm -ql samba-client-3.0.3-5 rpm -ql samba-common-3.0.3-5 /*檢查samba軟體包的內容,-ql中 q=query,l=list*/
2、介紹幾個常用的samba工具
smbtree 顯示區域網路中的所有共用主機和目錄列表 smbclient 顯示/登入區域網路中的共用主機/目錄 用法:smbclient -L -N win2000 /*匿名登入win2000這台機器,-N表示匿名,-L 表示對共用目錄的列表*/ smbclient //win2000/share -U username%password /*用username和password這 個smb使用者及口令登入win2000這台機器下的一個share目錄,用這個工具登入成功 後會出現smb: \>提示符,這裡提二個該狀態下的命令:put、get,跟unix/linux 下的ftp命令類似,注意的是put後必須跟二個參數,如: smb:\>put /root/install.log install.log,即不但指定上傳本地的某個檔案,還需要指定 上傳到另一台機器的參數,這裡後面的install.log即是上傳到另一台機器時後的 名稱*/ smbmount //win2000/share /mnt -o username=username%password /*將遠程共 享目錄掛載到本地,注意完成後使用umount取消掛載*/
3、samba伺服器的配置
samba伺服器的設定檔是smb.conf,位於/etc/samba/smb.conf 大家得注意裡面的幾個常用改動參數,[global]裡的workgroup、security 下面來看一個samba設定檔裡如何設定一個share vi /etc/samba/smb.conf 在[gobal]裡進行一些修改 workgroup = workgroup security = share 然後按shift+g(vi下的用法,即到該檔案的末尾)到達smb.conf檔案的最後,新 建一個共用 [sharedocs] comment = share documents /*標註文件類型*/ path = /usr/share/doc /*指定共用路徑*/ public = yes /*確定發布共用*/ 儲存退出(這裡會用到vi的相關指令,大家可進行相關vi的使用方法),然後重 啟samba服務 service smb restart 用smbclient -L localhost進行samba伺服器的測試。
4、samba使用者帳號
添加samba使用者,須添加一個系統帳號,然後再加入samba帳戶 useradd redhat /*增加redhat使用者*/ smbpasswd -a redhat /*直接為redhat帳戶添加smb服務密碼,-a參數為增加smb用 戶,-x為刪除smb使用者*/ 下面來看一個共用目錄設定有效使用者的例子。在/etc/samba/smb.conf中添加一個共用目錄:
[redhat]
comment = redhat 's files
path = /var/redhat
public = no
valid users = tom @redhat
/*設定有效使用者為tom或者是redhat組的使用者*/
儲存退出,重啟smb服務 這裡有必要提到samba使用者帳戶映射這具概念,出於帳號安全考慮,為防止samba 使用者通過samba帳號來猜測系統使用者的資訊,所以,就出現了 samba使用者映射,如 ,將上面的tom帳戶映射成其他的名稱,然後用其他的名稱如jack、rhood都可以 登入,其許可權及登入密碼都與tom一樣。 實現帳戶映射的方法:先在/etc/samba/smb.conf中的帳戶映射服務開啟,方法很 簡單,找到username map = /etc//samba/smbusers這一行,將其前面的;去掉即 可(linux中;表示關閉,#表示注釋,注意與freebsd中的#號概念區別開來),然 後修改/etc/samba/smbusers vi /etc/samba/smbusers 在裡面添加一行 tom = jack rhood 儲存退出,重啟smb服務,然後就可以用jack及rhood登入redhat共用目錄,其權 限及登入密碼與tom完全一致。