亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1440 | 回復(fù): 0
打印 上一主題 下一主題

samba實例 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2007-10-09 19:36 |只看該作者 |倒序瀏覽
Samba
實現(xiàn)的功能:
1.      用Samba實現(xiàn)主域控制器(PDC)。并且客戶端在登錄到域后,可以修改密碼,可以在共享文件的安全屬性中可以添加組和用戶;(已測試)
2.      用一個Samba服務(wù)器虛擬多個Samba服務(wù)器;每個Samba分別以不同的安全級別(Security)運行;(已測試)
3.      客戶端可以使用Windows AD中的帳號登錄Samba服務(wù)器;
4.      實現(xiàn)對Samba用戶進行磁盤配額。(已測試)
附錄:
1:samba中定義的一些宏變量;
2:如何解決Windows訪問Samba服務(wù)器時文件夾及文件名亂碼問題;
3:一個完整的用Samba實現(xiàn)PDC的smb.conf配置文件樣本;
4:參考文章列表。
一:用Samba實現(xiàn)主域控制器(PDC)
Step 1 :修改 smb.conf 文件;
配置Samba,將其設(shè)置為以PDC模式工作:
[global]
    # 指定工作組或域的名稱,需要和系統(tǒng)的hostname一致
workgroup = smbdomain
# 設(shè)置Samba服務(wù)器的netbios名稱
netbios name =  sambapdc
# 對該Samba服務(wù)器的一些描述
server string = Samba Server
# 設(shè)置客戶端與服務(wù)器端進行通信時采用加密密碼
encrypt passwords = yes
# 指定Samba密碼文件的位置
smb passwd file = /etc/samba/smbpasswd
# 允許哪些客戶端訪問
# 0.0.0.0表示無限制;192.168.0. 表示允許整個網(wǎng)段訪問
;hosts allow = 0.0.0.0
# 信任來自哪個網(wǎng)卡的連接
;interfaces = eth0
# 指定日志文件的位置,也可以使用Samba的宏來定義日志文件。比如:
# log.%U,為每個訪問的用戶都創(chuàng)建一個日志。
log file = /var/log/samba/smbd.log
# 指定日志文件的大小,以K字節(jié)為單位
max log size = 50
    # 設(shè)置套接字選項,在與客戶端對話時使用這個選項
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    # 以下選項設(shè)置PDC
# PDC 必須工作在user安全級別
security = user
# 設(shè)置Samba為本地主瀏覽器
local master = yes
# 設(shè)置為65,nmbd將打敗任何NT服務(wù)器而在本地廣播范圍內(nèi)成為工作組的
# 本地主瀏覽器
os level = 64
# 設(shè)置為域主瀏覽器
domain master = yes
# 設(shè)置為首選主瀏覽器
preferred master = yes
# 允許客戶端登錄到域
domain logons = yes
# 客戶端登錄到域后執(zhí)行的腳本
# 將logon path設(shè)置成%U.bat(%U指登錄的用戶名),這樣可以針對每個用戶
# 做更具體的設(shè)置
logon script = logon.bat
# 設(shè)置Windows客戶端登錄到域后的主目錄位置
logon home = \\%L\%U\.profile
# 設(shè)置Windows客戶端登錄域后漫游文件(Roaming profiles)存放的目錄
logon path = \\%L\profiles\%U
# 設(shè)置Windows客戶端登錄到域后,主目錄將要被連接到哪個本地驅(qū)動器;
# 這里指定的是H:。
logon drive = H:
# 指定Samba的管理員。用戶名之間以空格隔開
admin users = root bibby
Step 2:為domain logon選項添加netlogon字段,為logon path添加profiles字段。并分別將他們設(shè)置正確的權(quán)限。
[netlogon]
    path = /home/sambapdc/netlogon
    writeable = no
    browseable = no
    guest ok = no
[profiles]
    path = /home/sambapdc/profiles
    writeable = yes
    browseable = yes
    guest ok = no
為這兩個文件夾設(shè)置正確的權(quán)限:
Shell > chmod –R 755 /home/sambapdc/netlogon
Shell > chmod –R 777 /home/sambapdc/profiles
最后還需要為logon script添加logon.bat文件。該文件放在netlogon字段指定的目錄下(本例為/home/sambapdc/netlogon/logon.bat):
    net use H: \\%L\%U
logon.bat文件必須是Dos格式的,所以還需要用unix2dos這個工具來轉(zhuǎn)換一下格式:
    shell > unix2dos logon.bat
這樣Samba服務(wù)器端的設(shè)置就完成了。
Step 3 :為PDC添加管理員;
“root”是Samba缺省的管理員。
shell  > smbpasswd –a root
       > New SMB password: PASSWORD
        > Retype new SMB password: PASSWORD
或者直接:
shell > smbpasswd –a root PASSWORD
還可以在smb.conf的”admin users =”中加上某個用戶的名字,使其成為管理員。比如:
[global]
    admin users = root ntclient
這樣就把登錄名為ntclient的客戶機器也設(shè)置為管理員了。
Step 4:為PDC添加客戶端;
為了便于管理,可以先添加一個用戶組:
shell > groupadd smbtest
然后為把客戶端的機器添加到這個組中(在Novell Suse Enterprisee 9中的操作),做為可信任用戶:
1)
# 先將Windows客戶端的netbios名稱添加到Unix系統(tǒng)中
    # 用戶名(ntclient$)加$符號表示這是一個客戶端機器的netbios名稱,而不是
    # 實際Unix系統(tǒng)上的用戶
    shell > useradd –g smbtest –s /sbin/nologin ntclient$
    注意:在RedHat系統(tǒng)中無法添加ntclient$(帶$符號的用戶)用戶,所以你需要先添加一個ntclient用戶,然后用vipw工具編輯/etc/passwd,將它修改成ntclient$用戶。
2)
# 為這個客戶端的機器在Unix系統(tǒng)中添加一個對應(yīng)的管理用戶
    # 為了方便管理,使用和客戶端netbios名稱相同的用戶名
    shell > useradd –g smbtest –s /sbin/nologin ntclient
3)
    # 把客戶端機器加入到Samba中
    # 這里的ntclient是客戶端機器的netbios名稱,添加的時候不加$符號
    # smbpasswd命令的 –m 參數(shù)表示添加的是一個可信任的客戶端機器
    shell > smbpasswd –a –m ntclient
4)
    # 為客戶端機器在Samba中添加一個管理員
   # 這里的ntclient是第2)步中添加的用戶名,添加時需要輸入密碼
    # 這個用戶名和密碼就是客戶端登陸時所使用的帳號
    shell > smbpasswd –a ntclient
OK,重新啟動samba服務(wù)。
注:在RedHat中無法直接添加帶”$”符號的用戶。一種可行的方法是:
    1:先添加一個普通用戶ntclient(useradd);
    2:使用vipw –p修改/etc/passwd,將ntclient改成ntclient$;
    3:同第一步一樣,添加一個普通用戶ntclient。
    這樣就可以了。
Step 5:從Windows客戶端登錄域;
    將系統(tǒng)注銷,然后在登錄框中選擇要登錄的域,輸入已經(jīng)在Samba服務(wù)器中添加的用戶名和密碼,OK,登錄了。
Step 6:客戶端如何修改登錄密碼:
    登錄域后,按Ctrl+Alt+Delete鍵,然后在“更改密碼”中,選定域,再輸入登錄域的用戶名和舊密碼新密碼。
    OK,密碼修改成功。
Step 7:將Unix系統(tǒng)上的用戶和組映射到Windows域用戶組中,使用戶在登錄域后可以為共享的文件夾添加管理用戶;
要實現(xiàn)此功能,Samba必須被配置為PDC,并且需要在 smb.conf 文件中添加以下選項:
[global]
    nt acl support = yes
1):創(chuàng)建NT已有用戶組到Unix系統(tǒng)用戶組的映射;
常見的NT域的用戶組有:
Power Users
Domain Admins
Print Operators
Domain Guests
Administrators
Account Operators
Backup Operators
Users
Domain Users
下面將創(chuàng)建NT域中”Domain Admins”組到Unix系統(tǒng)中winadmin的映射:
1:創(chuàng)建用戶組winadmin(也可以使用 yast à security à create user來創(chuàng)建)
    shell > groupadd winadmin
2:在該用戶組里添加域管理員用戶,比如root,adminitrator之類的。
可以使用yast,也可以直接直接編輯/etc/group文件。
3:創(chuàng)建”Domain Admins”到winadmin的映射:
    shell > net groupmap set “Domain Admins” winadmin
4:使用 net groupmap list 來查看是否映射成功。
5:重新啟動smbd和nmbd。
2):創(chuàng)建自定義用戶組smbtest到本地用戶組smbtest的映射(組的名稱必須相同才能做映射);
:在Unix系統(tǒng)下創(chuàng)建一個用戶組smbtest;
    Shell > groupadd smbtest
2:將一些用戶添加到smbtest組中。
   可以用yast,也可以直接編輯/etc/group文件。
3:創(chuàng)建映射:
   Net groupmap set smbtest smbtest
4:使用 net groupmap list 來查看是否映射成功。
5:重新啟動smbd和nmbd。
在客戶端登錄到域后,在文件夾的屬性頁上選擇“安全”標(biāo)簽,點擊“添加”,就可以看到已經(jīng)做好映射的組了。
二:用一個Samba服務(wù)器虛擬多個Samba服務(wù)器;
要用Samba服務(wù)器虛擬出多個Samba服務(wù)器是件很簡單的事,只需要在[global]中加入以下幾個選項:
[global]
   netbios name = sambaserver1
    # 虛擬另一個Samba服務(wù)器,netbios名為sambaserver2
    netbios aliases = sambaserver2  
    # include選項指定虛擬的Samba服務(wù)器使用的配置文件
    # %L宏,代表netbios name。smb.conf.%L就表示sambaserver1將使用
    # smb.conf.sambaserver1這個配置文件。
    include = /etc/samba/smb.conf.%L
然后讓sambaserver1和sambaserver2共享一部分的smb.conf文件,再配置分別配置好smb.conf.%L文件就可以了。
以下是一個簡單的例子,用一臺Samba服務(wù)器,虛擬出兩個Samba服務(wù)器,netbios name 分別為a和b。
其中a被配置為PDC(關(guān)于如何將Samba配置為PDC,請參考第一部分),b被配置為文件服務(wù)器,提供一些共享文件。
============ File : /etc/samba/smb.conf ================
[global]
workgroup = sambatest
server string = samba server %L
    # “a”為系統(tǒng)的hostname
netbios name = a
netbios aliases = b
encrypt password = yes
include = /etc/samba/smb.conf.%L
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
password level = 8
    username level = 8
    log file = /var/log/samba/log.%L%M
    max log size = 50
============ File : /etc/samba/smb.conf.a ===========
   security = user
    os level = 64
    domain master = yes
    local master = yes
    domain logons = yes
    logon script = logon.bat
    preferred master = yes
[netlogon]
comment = "netlogon dir"
path = /home/samba/netlogon
writeable = no
browseable = yes
public = no
[profiles]
    path = /home/samba/profiles
    writeable = yes
    browseable = yes
    guest ok = no
============= File : /etc/samba/smb.conf.b ===============
security = share
[share]
    path = /tmp
    browseable = yes
    writeable = no
    guest ok = yes

照如何將Samba配置為一個PDC的方法,添加和設(shè)置好相關(guān)文件和目錄,然后就可以重新啟動smbd和nmbd了。這時候就可以在Windows的“網(wǎng)
上鄰居”中看到配置好的Samba服務(wù)器了(或者直接在瀏覽器的地址欄中輸入file://a/或者file://b/來測試,能訪問即表示配置成功)。
三:配置Samba,使客戶端可以使用Windows AD中的帳號登錄Samba服務(wù)器;
這時候Samba必須運行在security=server或domain級別上。并且添加以下幾個選項:
[global]
    security = server
    # 指定Windows AD服務(wù)器,從它上面獲取帳號信息,供客戶端登錄
    # 可以是IP地址,也可以是netbios名稱
    # 多個AD服務(wù)器以空格分開
password server = 192.168.0.1 192.168.0.2
    # 指定username map的映射文件
   username map = /etc/samba/user.map
/etc/samba/user.map文件的格式為:
root=admin administrator
bibby=@administrators
第1行:符號“=” 左邊是單獨的Unix系統(tǒng)賬號,右邊是要映射的Windows AD系統(tǒng)上的賬號列表。服務(wù)器逐行分析映射文件,如果提供的賬號和某行有右側(cè)列表中的賬號匹配,就把它替換為等號左邊的賬號。
第2行:符號“=” 左邊是單獨的Unix系統(tǒng)賬號,右邊是要映射的Windows AD系統(tǒng)上的用戶組。如果提供的帳號和用戶組administrators中的一個用戶名匹配,就被映射成用戶bibby。
四:為Samba用戶設(shè)置磁盤限額;幾個概念:
Grace Period : 用戶可被容許超過soft limit 的時間。
假設(shè)Grace Period設(shè)定為3天,超過soft limit的user在三天內(nèi)未處理超過limit的檔案的話,user將無法再使用任何磁盤空間(這會造成該user無法登錄系統(tǒng))。
設(shè)置Grace Period可以使用命令“edquota –t”。
oft Limit : 用戶能使用的硬盤空間的大小。
但如果Grace Period不是設(shè)為0的話,則Soft Limit只是一個警戒線,使用者如果使用的磁盤空間超過這個警戒線,就會開始收到系統(tǒng)所給的警告。
Hard Limit : Hard Limit代表的是用戶對磁盤空間使用的絕對上限。使用者使用的磁
   盤空間絕對無法超越此上限。
   只有當(dāng)Grace Period不是設(shè)為0時,Hard Limit的設(shè)定才會生效。
inode :每個文件和目錄都需要使用一個inode。所以可以用來限制用戶的文件數(shù)目。
block limits是對磁盤空間使用的限制,以字節(jié)為單位,1024 blocks大概就是1M。

個客戶端機器登錄Samba
PDC時都需要一個Samba帳號,而這個帳號也對應(yīng)一個Unix系統(tǒng)帳號,而為了方便管理,這兩個帳號的用戶名通常都和客戶端機器的Netbios
Name一致。所以,當(dāng)客戶端機器登錄到Samba域的時候,就等于是同名的Unix系統(tǒng)用戶登錄上系統(tǒng),而Quota開始起作用了。
1:設(shè)置quota(這里以/home為例);
    編輯/etc/fstab文件,在options區(qū)域加上usrquota或者grpquota。也可以同時設(shè)置用戶quota和組quota。加上后的文件看起來就象這樣:
    LABEL=/home   /home  ext3   defaults,usrquota,grpquota      1   2
然后重新啟動系統(tǒng)(也可以不重啟系統(tǒng),而使用mount的remount參數(shù):
Shell > mount –o remount /home
)。
第一次使用quota,需要先運行一次quotacheck命令。該命令會自動創(chuàng)建對用戶和組進行quota時使用的兩個文件:
    Shell > quotacheck –avug
然后會在被quota的目錄(這里是/home)下生成兩個文件:
    Shell > ls /home/*quota*
        /home/aquota.group  /home/aquota.user
接下來可以使用quota提供的工具來配置和監(jiān)視quota:
1):edquota;
    edquota –u USER      # 為用戶“USER” 配置quota
    edquota –g GROUP     # 為組“GROUP”配置quota
    shell > edquota –u ntclient
   Disk quotas for user ntclient (uid 509):
Filesystem blocks soft   hard   inodes soft   hard
/dev/sda2     28     1024   2048       7      0      0
    這個例子為ntclient用戶設(shè)置了quota:當(dāng)總大小達到1024K(1M)的時候,會向用戶發(fā)出警告,但是還可以繼續(xù)添加文件(因為還未超過Hard Limit設(shè)置的值)。當(dāng)總大小達到2048K(2M)時,系統(tǒng)將提示用,磁盤已滿,無法添加文件。
    這里blocks和inodes都不能更改,因為它們表示的是現(xiàn)在已經(jīng)使用的數(shù)目。
第一個soft是指對文件總大小的Soft Limit,第二個soft是對inode的Soft Limit。一個inode對應(yīng)一個文件或者一個文件夾。
    這里只配置了對文件總大小的Soft Limit。你可以兩個同時使用,既可以限制文件總大小,也可以限制文件和文件夾的數(shù)目。
edquota的一些常見用法:
    # 將為ntclient用戶設(shè)置的quota復(fù)制給用戶bibby和king
    # 則他們的quota都是一樣的
    shell > edquota –p ntclient bibby king
2):repquota,報告分區(qū)的quota情況;
    使用方法:
       repquota /quota/path
    例如:
    Shell > repquota /home
*** Report for user quotas on device /dev/sda2
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   36804       0       0             12     0     0
ntclient  --      28    1024    2048              7     0     0
bibby$    --       4       0       0              1     0     0
bibby     --      20    1024    2048              5     0     0
#502      --      24       0       0              6     0     0
#504      --       4       0       0              1     0     0
#505      --      20       0       0              5     0     0
#506      --       4       0       0              1     0     0
#507      --      20       0       0              5     0     0
這就是repquota的輸出,象你匯報quota的配置情況。
另外還有quotaoff和quotaon命令,都比較簡單,這里就不說了。
3):查看為某個用戶設(shè)置的quota(以用戶ntclient為例):
    shell > quota –u ntclient
    你將會看到和“edquota –u ntclient”一樣的結(jié)果。
4):查看為某個用戶組設(shè)置的quota(以組ntclient為例):
   Shell > quota –g ntclient
    看到的結(jié)果和edquota –g ntclient一樣。
2:設(shè)置User Quota(以ntclient用戶為例):
    Shell > edquota –u ntclient
Disk quotas for user ntclient (uid 509):
Filesystem blocks     soft   hard   inodes     soft   hard
/dev/sda2     556        1024   2048   85         0      0

  運行以后,將會啟動編輯器(看看你的編輯器設(shè)置的是什么:echo $EDITOR)進行編輯。這里我為ntclient用戶設(shè)置的Block
Soft Limit是1024K(1M),Block Soft Limit是2048K(2M)。而對于inode的soft/hard
limit都沒有設(shè)置。
    設(shè)置好后,執(zhí)行命令(本例設(shè)置Quota的FileSystem是/home(/dev/sda2)):
    Shell > quotaoff /home
    Shell > quotacheck –avug
    Shell > quotaon /home
3:測試User Quota:

  從一臺客戶端的Windows 2000系統(tǒng)上登錄到Samba域中,復(fù)制一些文件到映射的驅(qū)動器中,當(dāng)超過設(shè)置的Block soft
limit時,系統(tǒng)不會出現(xiàn)提示,仍然可以繼續(xù)添加文件。當(dāng)文件總大小超過Block hard
limit時,就不能再添加文件了,會提示一個類似于“磁盤空間不足”的警告信息。
這表明Quota正常工作。
4:設(shè)置Group Quota(以用戶組ntclient為例,該組中有兩個用戶:ntclient,bibby);
   Shell > edquota –g ntclient
Disk quotas for group ntclient (gid 505):
Filesystem blocks     soft   hard   inodes soft   hard
/dev/sda2     580        1024   3000   91     0      0
    這里為組ntclient設(shè)置的Block Soft Limit為1024K(1M),Block Hard Limit為3000K(接近3M);對inode不進行限制。
5:測試Group Quota:

  剛才已經(jīng)為用戶ntclient設(shè)置了2048K的Block Hard Limit,這里再讓另一臺netbios
name為bibby的Windows客戶端登錄Samba域,并在映射的驅(qū)動器中添加文件,看看兩個用戶(ntclient和bibby)的總文件大小
能否超過為組ntclient設(shè)置的Block Hard Limit。
注意:如果在smb.conf中設(shè)置了“admin users = ”選項,并且添加了某個用戶,則這個用戶從客戶端登錄到Samba PDC中時,對文件的操作將是以root權(quán)限進行的,所以也不受quota設(shè)置的磁盤容量限制。
    比如,如果在smb.conf中有如下選項:
    admin users = root ntclient
    則這里所做的Quota測試將出現(xiàn)錯誤(即ntclient用戶不受Quota設(shè)置的磁盤限額的限制)。
2:Windows訪問Samba服務(wù)器時文件夾及文件名亂碼問題:
在 smb.conf 文件中添加以下選項:
[global]
# dos客戶端連接到Samba服務(wù)器時,Samba告訴客戶端顯示的字符集
dos charset = cp936
# Samba服務(wù)器使用的字符集
unix charset = cp936
3:一個完整的用Samba實現(xiàn)PDC的smb.conf配置文件樣本:
[global]
workgroup = samba
netbios name = sambabibby
server string = Samba PDC running %v
unix password sync = yes
passwd program = /usr/bin/passwd %u
nt acl support = yes
security = user
os level = 64
preferred master = yes
local master = yes
domain master = yes
encrypt passwords = yes
domain logons = yes
log file = /var/log/samba/log.%m
log level = 2
max log size = 50
logon home = \\%L\%U\.profile
logon path = \\%L\profiles\%G\%U
logon drive = H:
logon script = logon.bat
admin users = root
[homes]
browseable = no
writeable = yes
[profiles]
path = /home/sambapdc/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0770
[netlogon]
comment = Network Logon Service
path = /home/sambapdc/netlogon
read only = yes
參考文章:
   Samba官方文檔:http://us2.samba.org/samba/docs
    Quota Tutorial on Linux:
Http://souptonuts.sourceforge.net/quota_tutorial.html
    Quota:User硬碟管理:
http://souptonuts.sourceforge.net/quota_tutorial.html
    磁碟空間管理(Disk Quota):
              
http://nmc.nchu.edu.tw/linux/quota.htm
               
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u1/43296/showart_397396.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP