人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Linux中Samba服務(wù)器的編譯安裝以及配置的宏的寫法

發(fā)布日期:2022-01-30 09:11 | 文章來源:源碼中國

編譯安裝
查詢系統(tǒng)是否安裝samba

復(fù)制代碼
代碼如下:

# rpm -aq | grep samba
yast2-samba-client-2.13.36-0.8
samba-client-3.0.24-2.23
yast2-samba-server-2.13.22-0.8
samba-3.0.24-2.23

卸載原有的samba

復(fù)制代碼
代碼如下:

# rpm -e samba-3.0.24-2.23

獲取samba源代碼
http://samba.org/samba/ftp/
獲取samba源文件包(samba-3.0.24.tar.gz 做實(shí)驗(yàn),路徑/home/)
解包源文件包

復(fù)制代碼
代碼如下:

# tar -jxf samba-3.0.24.tar.gz

編譯安裝

復(fù)制代碼
代碼如下:

# cd /home/samba-3.0.24/source/

新版本的source目錄有兩個(gè):source3目錄里是samba-3.x的源文件,source4目錄里是samba-4.x的源文件

復(fù)制代碼
代碼如下:

# ./autogen.sh
# ./configure

samba默認(rèn)安裝在/usr/local/samba目錄
可以通過指定prefix=your location的方式來指定安裝目錄:
復(fù)制代碼
代碼如下:
# ./configure --prefix=/install/samba

期間,configure提示找不到cups頭文件,于是又先安裝了cups。

復(fù)制代碼
代碼如下:

# make
# make install

配置動(dòng)態(tài)鏈接庫路徑

復(fù)制代碼
代碼如下:

# vi /etc/ld.so.conf

加入一行

復(fù)制代碼
代碼如下:

/usr/myname/install/samba/lib</p> <p># ldconfig

執(zhí)行l(wèi)dconfig命令讓配置生效

到安裝目錄

復(fù)制代碼
代碼如下:

# cd /usr/local/samba/

準(zhǔn)備配置文件

復(fù)制代碼
代碼如下:

# mkdir -v etc/
# cp -v /home/samba-3.0.24/examples/smb.conf.default ./etc/smb.conf

修改配置文件,添加一個(gè)共享test

復(fù)制代碼
代碼如下:

# vi ./etc/smb.conf
workgroup = MSHOME 改為你linux所在的工作組
security = share 開放共享

在smb.conf最后加上

復(fù)制代碼
代碼如下:

[test]
comment = test
path = /home/
public = no
writable = yes
user = kk

檢測配置文件

復(fù)制代碼
代碼如下:

# cp -v ./etc/smb.conf ./lib/
# ./bin/testparm

添加賬戶kk

復(fù)制代碼
代碼如下:

# ./bin/smbpasswd -a kk

輸入密碼

啟動(dòng)samba

復(fù)制代碼
代碼如下:

# /sbin/service network restart
# ./sbin/smbd -D
# ./sbin/nmbd -D

檢測是否啟動(dòng)

復(fù)制代碼
代碼如下:

# ps aux | grep smb
# ps aux | grep nmb


win7/win8 下訪問Samba服務(wù) 密碼出錯(cuò) 問題

windows系統(tǒng)中,單擊[開始]——[運(yùn)行] 輸入 “secpol.msc”打開管理工具,展開“本地策略”;
然后,單擊“安全選項(xiàng)”。 雙擊“網(wǎng)絡(luò)安全:LAN Manager 身份驗(yàn)證級(jí)別”;
最后,單擊列表中:發(fā)送LM和NTLMv2,如果已協(xié)商,則使用NTLMv2協(xié)議。

基本的宏的編寫

Samba 字符處理系統(tǒng)
1. samba使用多字節(jié)字符串——unix字符串(unix strings)
unix字符串沒有固定的字節(jié)長度,但是遵循以下原則:
a. 除非是在終端,否則不能含有NULL;
b. 兼容7位的C字符串(C strings),對(duì)于C中的常量字符和字符串,其每一位都要和unix字符(串)中的位完全等同;
c. 大小寫轉(zhuǎn)換是,轉(zhuǎn)換后的字符(串)不能占更多的位;
d. 能夠準(zhǔn)確接收客戶端傳入的全部字符。
UTF-8和大多數(shù)多字節(jié)的亞洲語言都能夠很好的兼容unix。UCS2是例外(含NULL)。
在smb.conf中定義unix charset。
在與客戶端發(fā)送或接收數(shù)據(jù)的時(shí)候,為了兼容客戶端的字符編碼,需要使用pull_(接收) 和push_(發(fā)送)開頭的函數(shù)在buffer中格式化數(shù)據(jù)。
lp_開頭的函數(shù),返回值全部是unix strings。
2. 相關(guān)宏定義(byteorder.h)
CVAL(buf,pos)將buf中pos處的字節(jié)以無符號(hào)字符返回
PVAL(buf,pos)將buf中pos處的字節(jié)以無符號(hào)整型返回
SCVAL(buf,pos,val)將buf中pos處的字節(jié)設(shè)置為val
SVAL(buf,pos)將buf中pos處的字節(jié)以無符號(hào)小端整型(16bit,ushort)返回
IVAL(buf,pos)將buf中pos處的字節(jié)以無符號(hào)小端整型(32bit)返回
SVALS(buf,pos)將buf中pos處的字節(jié)以有符號(hào)小端整型(16bit)返回
IVALS(buf,pos)將buf中pos處的字節(jié)以有符號(hào)小端整型(32bit)返回
SSVAL(buf,pos,val)將buf中pos處的無符號(hào)小端整型(16bit)值設(shè)置為val
SIVAL(buf,pos,val)將buf中pos處的無符號(hào)小端整型(32bit)值設(shè)置為val
SSVALS(buf,pos,val)將buf中pos處的有符號(hào)小端整型(16bit)值設(shè)置為val
SIVALS(buf,pos,val)將buf中pos處的有符號(hào)小端整型(32bit)值設(shè)置為val
RSVAL(buf,pos)將buf中pos處的字節(jié)以無符號(hào)大端整型(16bit)返回
RIVAL(buf,pos)將buf中pos處的字節(jié)以無符號(hào)大端整型(32bit)返回
RSSVAL(buf,pos,val)將buf中pos處的無符號(hào)大端整型(16bit,ushort)值設(shè)置為val
RSIVAL(buf,pos,val)將buf中pos處的無符號(hào)大端整型(32bit)值設(shè)置為val


Samba DEBUG SYSTEM
DEBUG書寫規(guī)則

復(fù)制代碼
代碼如下:

>debugfile<:=={>debugmsg<}
>debugmsg<:==>debughdr<’/n’>debugtext<
>debughdr<:==’[’TIME’,’LEVEL’]’FILE’:’[FUNCTION]’(’LINE’)’
>debugtext<:=={>debugline<}
>debugline<:==TEXT’/n’

其中,
TIME 時(shí)間戳,
LEVEL DEBUG級(jí)別,
FILE DEBUG信息產(chǎn)生的源文件,
FUNCTION DEBUG信息產(chǎn)生的函數(shù),
LINE DEBUG信息產(chǎn)生的行數(shù),不支持 __FUNCTION__ 宏的顯示不出來,
TEXT 不包含/n的DEBUG信息
EG:

復(fù)制代碼
代碼如下:

[2011/03/17 08:33:46, 3] smbd/process.c:switch_message(914)
switch message SMBclose (pid 12153) conn 0x7f60e9a2d330
[2011/03/17 08:33:46, 3] smbd/reply.c:reply_close(3298)
close directory fnum=6574

DEBUG()宏
DEBUG(para1, para2);
其中,
para1 DEBUG級(jí)別,凡是小于等于全局變量DEBUGLEVEL的,該DEBUG信息將輸出到日志,
para2 DEBUG信息,即書寫規(guī)則中的TEXT。在TEXT中,每遇到'/n',將產(chǎn)生一條新的日志(書寫規(guī)則中的debugfile);沒遇到'/n'時(shí),追加TEXT。
EG:

復(fù)制代碼
代碼如下:

DEBUG(0, ("The test returned "));
if(test())
{
DEBUG(0, ("True"));
}
else
{
DEBUG(0, ("False"));
}
DEBUG(0, ("./n"));

假設(shè)test() == true,則會(huì)輸出:

復(fù)制代碼
代碼如下:

[2010/07/30 16:00:51, 0] file.c:function (256)
The test returned True.

DEBUGADD()宏
DEBUGADD(para1, para2);
其中,
para1 DEBUG級(jí)別,凡是小于等于全局變量DEBUGLEVEL的,該DEBUG信息將輸出到日志,
para2 DEBUG信息,即書寫規(guī)則中的TEXT。在TEXT中,每遇到'/n',將產(chǎn)生TEXT新行;沒遇到'/n'時(shí),追加。它與DEBUG()的區(qū)別就是,它從不產(chǎn)生書寫規(guī)則中的debughdr。

EG:

復(fù)制代碼
代碼如下:

DEBUG(0, ("This is the first line./n"));
DEBUGADD(0, ("This is the second line./n This is the third line./n"));

輸出:

復(fù)制代碼
代碼如下:

[2010/07/30 16:00:51,0] file.c:function(512)
This is the first line.
This is the second line.
This is the third line.


DEBUGLVL()宏
BOOL DEBUGLVL(para1);
其中,
para1 DEBUG級(jí)別,凡是小于等于全局變量DEBUGLEVEL的,該宏返回true,
該函數(shù)主要為了解決書寫規(guī)則中TEXT太長造成的不便。
EG:

復(fù)制代碼
代碼如下:

DEBUG(3, ("send_local_master_announcement: type %x forname %s on subnet %s forwork group, type, global_myname, subrec->subnet_name, work->work_group));

可以替換為:

復(fù)制代碼
代碼如下:

DEBUG(3, ("send_local_master_announcement: "));
DEBUGADD(3, ("type %x forname %s", type, global_myname));
DEBUGADD(3, ("on subnet %s", subrec->subnet_name));
DEBUGADD(3, ("for work group %s/n", work->work_group));

更可以替換為:

復(fù)制代碼
代碼如下:

if(DEBUGLVL(3))
{
dbgtext("send_local_master_announcement: ");
dbgtext("type %x forname %s", type, global_myname);
dbgtext("on subnet %s", subrec->subnet_name);
dbgtext("for workgroup %s/n", work->work_group);
}

dbgtext()函數(shù)
用于調(diào)用相關(guān)函數(shù)輸出DEBUG信息到日志文件,即輸出書寫規(guī)則中的TEXT。
函數(shù)調(diào)用vslprintf()函數(shù)對(duì)TEXT格式化后,調(diào)用format debug text()函數(shù)將TEXT輸出。
一般在DEBUGLVL()宏中使用。

dbghdr()函數(shù)
用于輸出DEBUG信息中的頭信息,即輸出書寫規(guī)則中的debughdr。
不對(duì)輸出內(nèi)容進(jìn)行格式化處理。
一般在DEBUG()宏 & DEBUGADD()宏中使用。

format debug text()函數(shù)
用于輸出DEBUG信息到日志文件,即輸出書寫規(guī)則中的TEXT。
函數(shù)將要輸出的TEXT保存到buffer中,直到找到一個(gè)'/n',增加縮進(jìn),調(diào)用Debug1()函數(shù),輸出TEXT到日志,并清空buffer。

海外服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部