① 【急】linux主機 samba設置問題!
小弟自己通過實踐終於配置成功了samba,寫下配置過程,希望高手多提意見,本文有個遺憾我的rpm安裝samba列印機共享成功,用源碼安裝列印機沒有成功,非常可惜。
??? 先學習一些基礎。
??? samba的核心是兩個守護進程smbd和nmbd程序,在伺服器啟動到停止期間持續運行。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd兩個守護進程說明輸出什麼以便共享共享輸出給誰及如何進行輸出。Smbd進程的作用是處理到來的SMB軟體包,為使用該軟體包的資源與Linux進行協商,nmbd進程使其它主機(或工作站)能瀏覽Linux伺服器。
??? 如果安裝時用rpm安裝,那麼啟動samba不用service smb start,用service nmbd start,service smbd start也可以的。
??? 在smb.conf文件中,注釋行以「#」開頭,同時每項中英文字母不區分大小寫,在一行最後字元尾加
??? 「\」,可將一行分成多行。用「;」開頭的行,是可改變的配置,將「;」去掉時,該配置將取作用。
??? [global](全局參數的設置,它對samba的功能具有很大的影響,主要用來設置整個系統規則。
??? workgroup= 這是你在windows中的域。
??? server string= 這是在windows中看到你的samba的解釋。
??? netbios name =最好是你的機器名,如果把改句注消,默認的是你LINUX機器名,不過,最好還是自己填上
??? dos charset=cp936
??? unix charset=cp936 加上這二句就可以正確顯示中文了。
??? hosts allow 允許登錄的linux-samba的主機名單,用IP地址給出,多個IP地址用空格分開,不在名單中的主機將不能得到samba提供的服務,這也是網路安全的一個方面。
??? printcap name 指定printcap文件地址,通常為/etc/printcap,包含了linux列印機的配置信息。
??? load printers 允許使用共享列印機時,默認值為yes。
??? printing 如果使用的列印機是非標準的,那麼應該指出列印機系統類型。
??? log file = /usr/local/samba/var/log.%m
??? max log size = 0
??? 上面這兩行則是Samba日誌的相關定義。其記錄文件的位置是放在/var/log/samba/%m.log,安裝目錄不一樣,日誌可不一樣,後面的一條是定義日誌記錄文件的大小,單位是KB,如果是0的話就不限大小。
??? guest acount 來賓帳戶,表示用哪一個Linux用戶作為所要的客戶連接,定義Samba預設的用戶賬號,這個賬號必須在/etc/passwd中。
??? security 指定安全模式。大多數用戶使用user級的安全模式,samba用本地linux口令文件驗證。
??? security = security_level
??? 定義Samba的安全級別,按從低到高分為四級:share,user,server,domain。它們對應的驗證方式如下:
??? share:沒有安全性的級別,任何用戶都可以不要用戶名和口令訪問伺服器上的資源。
??? user:samba的默認配置,要求用戶在訪問共享資源之前資源必須先提供用戶名和密碼進行驗證。
??? server:和user安全級別類似,但用戶名和密碼是遞交到另外一個伺服器去驗證,比如遞交給一台NT伺服器。如果遞交失敗,就退到user安全級。
??? domain:這個安全級別要求網路上存在一台Windows的主域控制器,samba把用戶名和密碼遞交給它去驗證。
??? 後面三種安全級都要求用戶在本linux機器上也要系統帳戶。否則是不能訪問的
??? smb passwd file=/etc/samba/smbpasswd (設置smb密碼文件的位置)
??? username map =/etc/smbusers
??? encrypt passwords =no 採用的時明文密碼驗證,如果是加密的,就改為yes
???
? 記得某月的某一天,我下定決定安裝任何軟體包只用源碼,不用rpm。雖然很麻煩,但是對於了解linux內部有些幫助。
??? 首先我們創建一個文檔,邊安裝配置samba,邊寫教程。
??? 從www.samba.org下載samba最新源碼包,我下載的是samba-3.0.7.tar.gz,把它放在我的目錄的中/root/lova/samba下。
??? tar -zxvf samba-3.0.7.tar.gz 解壓得到samba-3.0-7
??? cd samba-3.0.7
??? cat README 先看說明,可惜E文太差,不太懂,直接安裝吧。
??? find . -name configure
??? ./source/configure 原來藏在這
??? cd source/
??? mkdir /usr/local/samba 創建安裝目錄
??? ./configure --prefix=/usr/local/samba/ 安裝到/usr/loca/samba
??? make
② 如何搭建samba伺服器
samba安裝和啟動
samba的源碼安裝採用最新版本samba-4.1.14,官網下載。安裝過程如下:
$ sudo mkdir /usr/local/samba-4.1.14
$ ./configure --prefix=/usr/local/samba-4.1.14
...
Checking for program xsltproc : not found
Checking for program python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for program python : /usr/bin/python
Checking for Python version >= 2.5.0 : ok 2.7.6
Checking for library python2.7 : not found
Checking for library python2.7 : yes
Checking for program python2.7-config : not found
Checking for program python-config-2.7 : not found
Checking
for custom code
: Could not find the python development headers
/home/anonymalias/Downloads/samba-4.1.14/wscript:100:
error: the configuration failed (see
'/home/anonymalias/Downloads/samba-4.1.14/bin/config.log')
上面錯誤的原因是samba必須依賴python,執行
$ sudo apt-get install python-dev
後面就是make && sudo make install,安裝ok後,安裝目錄結構如下:
/usr/local/samba-4.1.14$ ls
bin etc include lib private sbin share va
將源碼文件下默認的conf文件拷貝到安裝目錄下的etc目錄中
/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default etc/smb.conf
修改smb.conf中配置
global段添加如下欄位
[global]
...
netbios name = ubuntu
共享資源欄位採用默認配置
[homes]
comment = Home Directories
browseable = no
writable = yes
# NOTE: If you have a BSD-style print system there is no need to
# specifically define each indivial printer
[printers]
comment = All Printers
path = /usr/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes
添加用戶名為Ubuntu的賬戶,
/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
samba伺服器的用戶是依賴於linux的用戶,只能添加linux中已存在的用戶,否則會出現如下錯誤:
/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a user1
New SMB password:
Retype new SMB password:
Failed to add entry for user user1.
啟動samba 服務
/usr/local/samba-4.1.14$ sudo sbin/nmbd
/usr/local/samba-4.1.14$ sudo sbin/smbd
在Windwos文件管理器或直接win+R,輸入server ip,可以看到如下界面:
③ centos 6.5 samba 4 源碼編譯安裝錯誤
首先確認下你的默認python版本, 必要時將源碼中的文件路徑指定到指定Python版本,你升級後的Python 可能是一個帶有Python.1.23**這樣的文件 而安裝包調用的是默認的Python版本。
理論來說,你的centos 6.5的Python版本應該較高, 你可能需要安裝指定版本的Python包,或者考慮換交新的samba源碼包
④ 我用samba源碼安裝好後,用rpm -qa|grep samba查看是否安裝好時,沒有任何顯示信息這是為什麼。
那就用rpm包的啊 我也是用源碼包按完沒反應 感覺應該是安上了
⑤ 我在虛擬機桌面上下了一個samba源代碼包,通過命令想移動到文件夾內,但說我許可權不夠無法移動怎麼解決
你是對目標文件夾沒有寫許可權。請移動到自己建的文件夾或請換root用戶進行移動操作。
⑥ 有誰了解過samba源碼嗎
可以參考kde的smb類,更多的信息可以參考網站 Qt中文文檔
⑦ 如何在centos上安裝samba圖形界面
組成Samba運行的有兩個服務,一個是SMB,另一個是NMB;SMB是Samba 的核心啟動服務,主要負責建立 Linux Samba伺服器與Samba客戶機之間的對話, 驗證用戶身份並提供對文件和列印系統的訪問,只有SMB服務啟動,才能實現文件的共享,監聽139 TCP埠;而NMB服務是負責解析用的,類似與DNS實現的功能,NMB可以把Linux系統共享的工作組名稱與其IP對應起來,如果NMB服務沒有啟動,就只能通過IP來訪問共享文件,監聽137和138 UDP埠。首先配置這些東西你需要先擁有root許可權。
1、關閉防火牆:service iptables stop。
2、關閉SELINUX的強制模式:setenforce 0,這個也不可忽略,如果setenforce 1,就好多共享都不成功了。
3、構建yum倉庫。打開目錄/etc/yum.repos.d下的CentOS-Base.repo文件。
4、在線Samba安裝包,開始安裝Samba。
yum install samba samba-client samba-swat,安裝過程不再貼圖。
5、查看安裝情況:rmp -qa|grep samba
7、保存退出:wq,重啟samba服務
創建/share目錄mkdir /share,並且設置chmod 777 /share——註:這樣做有風險,大家先達到共享這一步的效果,以後慢慢學習安全性的考慮。
⑧ 虛擬機中該怎麼配置samba源代碼安裝方式的GCC編譯環境
首先讀README文件,看有什麼注意事項.
編譯用GCC,就安裝apt-get install gcc
⑨ 虛擬機中samba源代碼安裝方式如何配置GCC編譯環境
cd samba-4.0.3
./configure
make
make install