国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

samab集成AD驗證 磁盤配額

這是我工作的實例, 每個步驟我都做過測試. 我碰到的問題, 我都會羅列出來, 有的并未解決, 歡迎各位高手多多指點.1. 測試環(huán)境:DC&DNS:Windows Server 2003 sp2 企業(yè)版

這是我工作的實例, 每個步驟我都做過測試. 我碰到的問題, 我都會羅列出來, 有的并未解決, 歡迎各位高手多多指點.

1. 測試環(huán)境:

DC&DNS:Windows Server 2003 sp2 企業(yè)版. 計算機名為:hq-dc-01.resoft.css.com.cn ip :10.168.168.226

客戶機:Red Hat Enterprise Linux ES5.4 hostname為sharefile ip: 10.168.165.250

域名:resoft.css.com.cn

2. 試驗?zāi)康?將Linux 加入到Windows 域, 并實現(xiàn)Windows 域帳戶登陸Linux 服務(wù)器.

3. 準備工作:

a. 在一臺機器上安裝Windows Server 2003 ,并升級為DC, 同時集成DNS 服務(wù).

b.Linux的準備工作也很簡單, 主要是檢查以下幾個包是否被安裝:

samba-3.0.23c-2

samba-common-3.0.23c-2

samba-client-3.0.23c-2 //samba的相關(guān)包

krb5-libs-1.5-17

krb5-workstation-1.5-17

krb5-devel-1.5-17

pam_krb5-2.2.11-1 //kerberos相關(guān)的軟件包

主要就用到這些包, 由于各Linux 發(fā)行版本的不同, 包的版本或許會有差異.

4. 配置步驟:

a. 修改ip 和dns 我就不做介紹了. 但是要注意防火墻(iptables)和SELinux.

你可以把iptables 規(guī)則清空, 并禁用SELinux.

清空iptables 規(guī)則命令如下:

iptables -F

禁用SELinux 方式如下:

vi /etc/selinux/config

將其中的 SELINUX=enforcing

改成 SELINUX=disable

b. 修改/etc/krb5.conf文件,該文件是kerberos 的配置文件。

典型的krb5.conf 文件如下:

[logging]

default = FILE:/var/log/krb5libs.log

kdc = FILE:/var/log/krb5kdc.log

admin_server = FILE:/var/log/kadmind.log

[libdefaults]

default_realm = EXAMPLE.COM

dns_lookup_realm = false

dns_lookup_kdc = false

[realms]

EXAMPLE.COM = {

kdc = kerberos.example.com:88

admin_server = kerberos.example.com:749

default_domain = example.com

,

}

[domain_realm]

.example.com = EXAMPLE.COM

example.com = EXAMPLE.COM

[kdc]

profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]

pam = {

debug = false

ticket_lifetime = 36000

renew_lifetime = 36000

forwardable = true

krb4_convert = false

}

其中需要我們修改的地方很少, 以我的例子為例, 修改后的文件如下:

[logging]

default = FILE:/var/log/krb5libs.log

kdc = FILE:/var/log/krb5kdc.log

admin_server = FILE:/var/log/kadmind.log

[libdefaults]

default_realm = RESOFT.CSS.COM.CN //改成你的域名

dns_lookup_realm = false

dns_lookup_kdc = false

[realms]

RESOFT.CSS.COM.CN = { //改成你的域名

kdc = 10.168.168.226:88 //改成你DC 的FQDN 或者是IP , 兩者沒什么區(qū)別 admin_server = 10.168.168.226:749

default_domain = resoft.css.com.cn //改成你的域名,注意和上面的不同.(大小寫) }

[domain_realm]

.resoft.css.com.cn = RESOFT.CSS.COM.CN

resoft.css.com.cn = RESOFT.CSS.COM.CN //接著改

[kdc]

profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]

pam = {

debug = false

ticket_lifetime = 36000

renew_lifetime = 36000

forwardable = true

krb4_convert = false

}

,

修改完畢后運行下面的命令查看kerberos 文件是否有誤:

kinit

其中administrator 是域管理員賬戶, RESOFT.CSS.COM.CN 是你的域名.

回車鍵后, 會提示你輸入密碼, 如果沒有什么錯誤. 在你輸入密碼回車后, 會自動返回到Linux 命令提示符下.

在這里要注意的小問題就是Linux 本地的時間要和DC 的時間差問題, 我們都知道, 在DC 上的策略中, 時間差允許的范圍是5分鐘, 所以, 在運行上述的命令前, 最好先同步下Linux 和DC 的時間:

ntpdate 192.168.255.1

或者直接更改系統(tǒng)時間

date -s 年/月/日 時:分:秒

c. 這一步是最主要的步驟了,就是修改/etc/samba/smb.conf配置文件.samba 的主配置文件選項很多, 在加上各版本中默認的選項都有所差異, 在這里我就不列舉典型的smb.conf 文件了, 我只把我的smb.conf 文件帖出來, 以供各位參考:

[global]

workgroup = SHAREFILE //需要加入的域的netbios 名, 注意是域的netbios 名, 要大寫

netbios name = Linux //本機器的netbios 名, 有的版本沒有這一項會沒有這個, 要手動添加

server string = Samba Server //對該服務(wù)器的描述

printcap name = /etc/printcap

load printers = yes

cups options = raw

log file = /var/log/samba/m.log

max log size = 50

security = ads //ads驗證方式必須有realm 項

realm = RESOFT.CSS.COM.CN //增加這一行, 注意這里是域名.

password server = hq-dc-01.resoft.css.com.cn //這里是DC 的FQDN, 也可以寫ip, 但是有時候會出問題, 建議寫FQDN

encrypt passwords = yes //加密在網(wǎng)絡(luò)上傳輸?shù)挠脩裘艽a

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

dns proxy = no

winbind separator = / //用戶的域名和用戶名之間的間隔, 用什么隨你心情 idmap uid = 1000000-2000000

idmap gid = 1000000-2000000 //域用戶映射成Linux 本地用戶時所有的uid 和gid 范圍.

template home = /home/D/U //與home 文件夾中定義的作用相同. 兩者定義一個就行

template shell = /bin/bash //用戶登陸后所使用的shell

winbind use default domain = yes //用戶登陸使用默認的域

winbind enum users = yes

,

winbind enum groups = yes //有人說是自動創(chuàng)建用 getent passwd[group]看到的 用戶和組的信息. 具體有什么用, 我也說不清楚

[homes]

comment = Home Directories

browseable = no

writable = yes

create mode = 0777

directory mode = 0777 //創(chuàng)建的文件和目錄的默認權(quán)限

path = /home/D/U //用戶主目錄的相關(guān)設(shè)置

[printers]

comment = All Printers

path = /var/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes

以上紅色的部分都是要修改的, 其余的都保持默認就行. 好了,修改完成后, 保存退出. 然后用下面的命令測試 smb.conf 是否有誤:

testparm

顯示的結(jié)果如下

:

在這里注意兩個地方就行, 一個是 Loaded services file OK. //說明你的配置文件沒有錯 還有一個就是:Server role:ROLE_DOMAIN_MEMBER //說明你的服務(wù)器已經(jīng)是域的

" 準" 成員了.

好了, 做了這些測試后, 先把smb 和winbind 兩個服務(wù)開啟成隨系統(tǒng)自動啟動:

chkconfig smb on

chkconfig winbind on

然后重啟samba 服務(wù):

service smb restart //寫到這里, 我想起一點好玩的事來, 在fedora 9中(其他版本我不知道),

smb 和nmb 服務(wù)是分開的, 也就是說你用這條命令只能重啟動smb, 不能重 啟nmb, 你還要打service nmb restart才行.....

然后就可以加入域了:

,

net ads join -W RESOFT.CSS.COM.CN -S dc -U administrator

然后會要求你輸如管理員的password, 輸入后, 正常情況下會提示加入域成功.

在這里我插一句, 有時候用net ads join 會不好使, 這時候就試試net rpc join –S RESOFT.CSS.COM.CN –U administrator 這種方式.

到這里, 我們就已經(jīng)把samba 服務(wù)器加入到域里了, 這時, 在DC 上,computers 這個OU 里就應(yīng)該可以看到你的samba 服務(wù)器了

.

這時, 我們重啟winbind 服務(wù):

service winbind restart

重啟完成后,我們就可以用下面的幾條命令來進行測試了:

wbinfo -t //測試該samba 服務(wù)器與域的信任關(guān)系

wbinfo -u // 查看域用戶的映射信息

wbinfo -g

有時候會出現(xiàn)這樣的錯誤信息, 解決辦法如下:

先停掉winbind 和smb 服務(wù):

service smb stop

service winbind stop

然后刪除下面兩個目錄里的.tdb 文件: /etc/samba 和 /var/cache/samba

據(jù)我理解, 這些應(yīng)該是在加入域過程中,產(chǎn)生的一些緩存

文件, 但是有時候這些緩存會造成一些錯誤信息, 就象我們剛才看到的那樣,刪除后, 重啟服務(wù), 讓他重新

生成就行了.

fedora9 會稍有不同, 目錄我記不太清楚了,好像是 /var/lib/samba 你可以用命令搜索下: find / -name *.tdb

,

刪除完成后, 重新啟動 smb服務(wù).

service smb start

在次運行加入域的命令:

net ads join -W 域名 -S DCFQDN -U administrator

如果上面的不行 可以用 net rpc join –S DCFQDN –U administrator

重啟動winbind 服務(wù).

service winbind start

然后在用命令查看信息就OK 了

.

到這里呢, 我們的samba 服務(wù)器就成功的加入到域里了,但是呢, 卻還不能實現(xiàn)域賬戶在Linux 終端上的登陸. 想要實現(xiàn)這個目的, 其實也很簡單,只需要修改下面幾個文件就可以了: /etc/nsswitch.conf //修改這個文件, 影響Linux 查找用戶, 組, 和他們密碼的行為 修改項如下:

passwd: winbind files

shadow: winbind files

group: winbind files

/etc/pam.d/sysconfig-auth //讓pam 認證支持以winbind 為源進行用戶的查找和匹對. 修改項如下:

auth sufficient /lib/security/pam_winbind.so //增加這一行

auth required /lib/security/$ISA/pam_env.so

auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok

auth required /lib/security/$ISA/pam_deny.so

,

auth sufficient /lib/security/pam_winbind.so

account sufficient /lib/security/pam_winbind.so //增加這一行, 注意這兩行的位置 account required /lib/security/$ISA/pam_unix.so

account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet

account required /lib/security/$ISA/pam_permit.so

password requisite /lib/security/$ISA/pam_cracklib.so retry=3

password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow password required /lib/security/$ISA/pam_deny.so

session required /lib/security/$ISA/pam_limits.so

session required /lib/security/$ISA/pam_unix.so

修改完畢后, 根據(jù)上面smb.conf 文件的配置, 我們就可以實現(xiàn)用戶的登陸了,不過還有一點要說明, 就是在用戶登陸前,必須手動創(chuàng)建他們的登陸主目錄, 并且賦予他們完全控制的權(quán)限. 比如, 我想讓administrator 用戶登陸Linux, 實現(xiàn)步驟如下:

cd /home

mkdir RESOFT

cd RESOFT

mkdir administrator

chown administrator administrator //在home 目錄下創(chuàng)建RESOFT 域目錄, 并在該目錄下創(chuàng)建

要登陸用戶administrator 的目錄,更改目錄權(quán)限.

這樣在終端上就可以實現(xiàn)域用戶賬戶的登陸了.

還有就是用戶登陸Linux 平臺后, 權(quán)限控制的問題. 默認情況下, 這種方式登陸到Linux 平臺的用戶只有對自己主目錄有完全控制權(quán)限, 其余的文件均為只讀.

可以通過下面的方法來實現(xiàn)對域用戶權(quán)限的控制:

1. 更改/etc/nsswitch.conf文件.

passwd: winbind files

shadow: files winbind

group: winbind files

細心的朋友也許已經(jīng)注意到了這個文件與上面那個文件的不同. 就是shadow 的查找順序. 為什么這么改, 呵呵,先賣個關(guān)子, 接著往下看.

2. 然后先把winbind 服務(wù)停掉.

建立與要登陸Linux 的域用戶賬戶的同名Linux 賬戶.

3. 重啟winbind 服務(wù). 用域賬戶登陸. 這時會發(fā)現(xiàn), 登陸后域用戶的登陸點不是在/home/D/U下了, 而是在/home/U下. 為什么呢?

這是因為nsswitch.conf 文件影響的結(jié)果. 就是域用戶在輸入自己的登陸名時,Linux 系統(tǒng)并不認為是域用戶, 而認為該用戶是一個本地用戶, 而shadow 項的設(shè)置, 是先去DC 進行密碼的查詢. 于是就造成了一種假象, 就是域用戶用自己的用戶名和密碼登陸了Linux. 所以其登陸目錄為/home/U.

既然,Linux 認為該登陸用戶是一個本地用戶, 那么我們就可以很方便的對他賦予權(quán)限了. 但是, 如果要登陸Linux 的用戶非常多, 那么作為管理員, 我們的工作量會非常大, 這也是我下面要提出的用LDAP 想法的原因

,

1. 自動創(chuàng)建用戶目錄

細心的朋友可能發(fā)現(xiàn)從開篇一直到現(xiàn)在除了操作方式不一定以外,所做的事情和<>沒有太大的區(qū)別。嗯,筆者不置可否,估且這么理解吧。希望有點小細節(jié)您注意到了,在smb.conf 中,有一句template shell = /sbin/nologin。是的,samba 服務(wù)器,我們只希望他提供samba 服務(wù),不希望有用戶登陸。在上一篇文章中解決用戶登陸時主目錄不存在的問題,用的是pam_mkhomedir.so 這個東東。在文件共享這塊,筆者意外的發(fā)現(xiàn),這個文件,對于通過samba 訪問過來的請求不會創(chuàng)建主目錄!這可如何是好?這就是腳本mkhome.sh 存在的原因。

新建立mkhome.sh 腳本:

#vi /root/mkhome.sh

#!/bin/bash

user=$1

group=$2

home=/home/$1

if [ ! -d $home ] ; then

mkdir -p $home

chown $user $home

chgrp $group $home

chmod 700 $home

edquota -p administrator -u $user

fi

更改文件權(quán)限設(shè)置:

# chmod 700 /home/mkhome.sh

這個腳本接受兩個參數(shù),一個是用戶名,一個是組名。然后給這個用戶創(chuàng)建目錄,并分配權(quán)限,然后再給分配一下用戶空間。Ok, 回頭看一下smb.conf 文件。

[homes]

comment = Home Directories

path = /home/U //共享的目錄

valid users = rainbird.net/U //認證的用戶,前面必須加rainbird.net 喲 read only = No

browseable = No

root preexec = /root/mkhome.sh U G //執(zhí)行創(chuàng)建目錄的操作。

這段配置中最帥的就是這個mkhome.sh 的存在。因為這個腳本的執(zhí)行者是root, 所以我們腳本的權(quán)限設(shè)

,

置700即可。再往下我們將繼續(xù)探索它的神奇魔力。寫完這段保存一下,重啟smb:service smb restart。這樣,在一臺xp 的機器上,用域用戶登陸,然后訪問2.168.1.246,是不是看到了一個以你登陸的域用戶名命名的一個文件夾呢?沒錯,就是它!你現(xiàn)在可以試下刪寫文件了。

7. 設(shè)置磁盤配額

因為磁盤配額只能在一塊單獨的分區(qū)上啟用,所以筆者專門添加了一塊分區(qū)掛載到home 目錄下,這點要注意。

編輯fstab

[root@filesrv1 ~]#vi /etc/fstab

/dev/hdb1 /home ext3 defaults,usrquota,grpquota 選擇分區(qū),將defaults 選項改為:“defaults,usrquota,grpquota”(針對用戶和組做磁盤配額)或“defaults,usrquota"(針對用戶做磁盤配額 )或"defaults,grpquota" (針對組做磁盤配額)

重新掛載文件系統(tǒng):

[root@filesrv1 ~]#mount –o remount /home

創(chuàng)建配額文件

[root@filesrv1 ~]#quotacheck –cmug /home

啟動配額

[root@filesrv1 ~]#quotaon -av

配額設(shè)置

[root@filesrv1 ~]# edquota -u administrator

Disk quotas for user administrator (uid 16777216):

Filesystem blocks quota limit grace files quota limit grace /dev/sdb1 0 500000 512000 10 0 0 (其中:blocks ,已用磁盤空間;soft ,磁盤空間軟限制,hard :磁盤空間硬限制;

inodes : 已寫多少個文件;soft :磁盤文件數(shù)量軟限制;hard :磁盤文件數(shù)量硬限制) 查看磁盤配額情況

[root@filesrv1 home]#quota -u administrator

分析:使用磁盤限額有一點不爽的地方就是它不是默認給所有的用戶設(shè)置限額。也就是說,如果你想給哪個用戶啟用磁盤限額,你必須先建立那個用戶,然后再針對那個用戶進行限制??墒窃谟蚶?,我們所有的用戶已經(jīng)建立好了?怎么一個一個的給進行磁盤限額呢?還好edquota 提供了這么一個特性,就是你可以以一個用戶為模板,把配置復制給新用戶,這樣就簡單了,如果要手動給用戶分配限額的話,這樣就可以搞定:wbinfo –u|xargs|edquota -p administrator –u 。這樣我們就把administrator 這個用戶的配額情況”分發(fā)”給了所有用戶!還記得我們的mkhome.sh 嗎?是的,就是它,里面有這第一句edquota -p administrator -u $user,這句話的意思就是以administrator 為模板給用戶設(shè)置磁盤限額。這樣寫在腳本里,不但省去了手工執(zhí)行,新添加用戶也不怕了?

8. 域用戶登陸自動掛載自己的共享文件夾

嘿嘿,能做到這步,已經(jīng)很不容易了,如果你做到了,那么恭喜你,因為終點就在眼前了。到這一步,你已經(jīng)成功完成了samba 通過ad 域進行驗證,并給驗證用戶分配500M 的固定空間,現(xiàn)在就讓我們一鼓作氣,將這個優(yōu)雅的高難度動作畫個完美的句號吧?

我們知道windows 有個“映射網(wǎng)絡(luò)驅(qū)動器”的功能。今天用到的東東就是它。其實原理很簡單,就是我們寫個批處理,這個批處理的功能是獲得登陸用戶的用戶名,然后去連接共享。而用戶登陸的時候就自動執(zhí)行這個批處理。是不是很好玩呢?

,

這個操作在域服務(wù)器上進行。在服務(wù)器上有個路徑C:WINDOWSSYSVOLsysvolrainbird.netscripts,把你想要域用戶登陸執(zhí)行的腳本放在這個文件里就可以了

終結(jié):在操作中幾個點要注意

如果沒有驗證用戶及samba 配置文件沒有寫對可能導致smb 和winbind 服務(wù)無法重啟 在建共享目錄時候一定要注意新建目錄的用戶權(quán)限和組權(quán)限。

標簽: