1. 什么是samba?
Samba是在Linux和UNIX系統(tǒng)上實現(xiàn)SMB協(xié)議的一個免費(fèi)軟件坏怪,由服務(wù)器及客戶端程序構(gòu)成。SMB(Server Messages Block戏羽,信息服務(wù)塊)是一種在局域網(wǎng)上共享文件和打印機(jī)的一種通信協(xié)議烹卒,它為局域網(wǎng)內(nèi)的不同計算機(jī)之間提供文件及打印機(jī)等資源的共享服務(wù)。SMB協(xié)議是客戶機(jī)/服務(wù)器型協(xié)議劲弦,客戶機(jī)通過該協(xié)議可以訪問服務(wù)器上的共享文件系統(tǒng)、打印機(jī)及其他資源醇坝∫毓颍【來自百度百科】
說白了,就是客戶端機(jī)器通過samba使用SMB協(xié)議進(jìn)行和linux服務(wù)器資源共享、編輯等画畅。
2. 下載和安裝samba?
可到這個鏈接里下載最新的tar包https://download.samba.org/pub/samba/stable/砸琅,比如我下載了samba-3.5.8.tar.gz?
解壓:tar -zxvf ?samba-3.5.8.tar.gz
編譯-安裝: cd samba-3.5.8/source3; ./configure && make -j 4; make install
3. 文件配置
cd /usr/local/samba/ (默認(rèn)安裝到該路徑下)
新建lib/smb.conf, 添加如下內(nèi)容:
[global]
display charset: utf-8
unix charset = gbk
dos charset = gbk
workgroup = work
netbios name = work
server string = samba server
security = user
wide links = yes
follow symlinks = yes
unix extensions =no
[work]
comment = work user
path=/home/work
create mask = 0774
directory mask = 0775
writable = yes
valid users = work
browseable = yes
[sharefile]
comment = share user
path=/home/work
public=yes
writable = yes
guest ok = yes
配置解釋:
[global] #全局配置字段
display charset: 指定使用SWAT(一種通過瀏覽器控制Samba的工具)時頁面的默認(rèn)文字編碼
unix charset: 指定Samba所在的CentOS服務(wù)端新建文件或目錄時的編碼
dos charset: Windows 客戶端的文字編碼
workgroup:工作組,使用大寫WORK
netbios name: 顯示出來的機(jī)器名
server string: samba服務(wù)器說明
security: 驗證和登錄方式轴踱,這里我們用了user 症脂;驗證方式有好多種,這是其中一種淫僻;另外一種常用的是user的驗證方式诱篷;如果用share呢,就是不用設(shè)置用戶和密碼了雳灵;
wide links: 不允許進(jìn)行符號連接
follow symlinks:?
unix extensions:?
[work]: 看到的共享目錄
path: 設(shè)置共享的目錄放到哪里
create mask: 設(shè)置新建文件的默認(rèn)權(quán)限
directory mask:設(shè)置創(chuàng)建文件夾時的默認(rèn)權(quán)限
valid users: 有效用戶(即可以訪問該Samba服務(wù)器的用戶)
writetable: 是否可寫
browseable: 是否可瀏覽棕所,若可瀏覽意味著工作組下可看到共享文件夾
[sharefile]:共享目錄配置
4. 啟動samba
添加samba lib到系統(tǒng)庫,修改~/.bash_profile:
?1) export LD_LIBRARY_PATH=/usr/local/samba/lib:$LD_LIBRARY_PATH
生效:
2) . ~/.bash_profile
添加samba用戶细办,注意添加的用戶需要是在系統(tǒng)里已存在的用戶橙凳,然后設(shè)置密碼:
3) smbpasswd -a work (設(shè)置work用戶的SMB密碼)
啟動samba進(jìn)程:
4) cd /usr/local/samba/sbin; ./smbd -D
查看進(jìn)程是否真的啟動了或通過端口139蕾殴,445判斷
5) ps auxf | grep smbd
?netstat -npl |grep smbd
5. 使用sambd
打開Mac Finder笑撞,按下CMD+K,輸入你的samba server ip钓觉,比如:?
smb://10.10.10.10
右邊有個+號可進(jìn)行添加保存茴肥,下次使用直接在下拉欄里找就行,不需再次輸入荡灾。
連接完成后瓤狐,會提示你用『客人』還是『注冊用戶』登錄。
6. 遇到的問題
1)全部的安裝-啟停操作需使用root身份
2)./smbd -D報錯:
/usr/local/samba/sbin/smbd: error while loading shared libraries: libwbclient.so.0: cannot open shared object file: No such file or directory
解決辦法:
首先查找這個so在哪批幌,find / -name libwbclient.so.0
/usr/local/samba/lib/libwbclient.so.0
然后將so的位置放到系統(tǒng)so配置:echo "/usr/local/samba/lib/" >> /etc/ld.so.conf
生效:cd /usr/local/samba/sbin;ldconfig /etc/ld.so.conf
查看是否生效础锐,如果輸出關(guān)于samba的使用方法,那就對了:/usr/local/samba/sbin/smbd --help
3)在使用samba時荧缘,選擇『注冊用戶』皆警,輸入用戶名和密碼(就是剛才執(zhí)行的smbpasswd的用戶和密碼),一直登錄不了截粗,不知道什么原因信姓。。绸罗。因為在smb.conf里還配置了共享方式意推,所以更改/usr/local/samba/lib/smb.conf中的security為share,然后Finder中連接登錄時選擇第一個『客人』的身份珊蟀,完美解決菊值。share方式有個缺陷,注:只能瀏覽,不能write腻窒。
參考: