日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

samba and AD

發(fā)布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 samba and AD 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
背景:
在上次的背景之下(見上一文章),管理員發(fā)現(xiàn)公司內現(xiàn)有部門不多,但員工數(shù)量非常的多.如果按照用戶一個一個的去創(chuàng)建用戶并用smbpasswd增加samba的登陸用戶非常的麻煩.而且公司內已經存在一臺windows 2003 server域控制器(建立方法),并且包含所有員工的帳號信息.在此管理員想通過windows 2003 server域控制器的帳號來作為samba的登陸帳號.
?
環(huán)境:
?
?? Windows 2003 Server??? Linux Samba's Server
IP地址?????? 192.168.1.1/24??? 192.168.1.250/24
DNS????????? 192.168.1.1????????????? 192.168.1.1
hostname? gz???????????????????? rhel
域????????????? eric.local?
?
?配置:
一.linux加入到AD域(這步暫時大家先放一下,因為我后面步驟沒有使用到.大家先做后面的步驟如果不行在返過來做這一步驟.以前在RHEL AS4的時候,用這步驟是很簡單就能成功的,但我用RHEL AS5就不知道為什么怎么都不成了.)
?
#vi /etc/krb5.conf
?
修改為以下內容 (注意區(qū)分大小寫,還有就是自己正確替換為自己的域)
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log [libdefaults]
default_realm = ERIC.LOCAL(驗證域的realm,必須全部大寫)
dns_lookup_realm = false
dns_lookup_kdb = false [realms]
ERIC.LOCAL = {
kdc = 192.168.1.1:88
default_domain = ERIC.LOCAL(缺省域名,同樣必須全部大寫)
}
[domain_realm]?
.eric.local= ERIC.LOCAL
eric.local = ERIC.LOCAL
?
后面不用修改,省略......
做完這里的話就測試一下
#kinit administrator@ERIC.LOCAL??????????? (@ERIC.LOCAL必須大寫)
?
輸入AD里的administrator密碼,如果沒有任何的提示.直接返回到shell里的話就表示已經成功了.但這并不代表已經加入了域.繼續(xù)看下去
?
修改samba的主配置文件
#vi /etc/samba/smb.conf
?
修改以下的內容
workgroup = ERIC??????? # <-- 這里的 workgroup 見圖1就知道填什么了.
realm = ERIC.LOCAL?? # <-- 建立的域名稱
security = ADS
password server = 192.168.1.1 # <-- windos AD 域控制器的完整主機名。也可以用 IP 地址來代替
?
workgroup的填寫內容就在登陸到里顯示了!!,圖1
?
?
然后就基本可以了.
啟動samba服務
#service smb start
?
同步時鐘,加入域必須時差在5分鐘內!
#ntpdate 192.168.1.1
?
測試與加入域
#kinit administrator@ERIC.LOCAL??
?
#net ads join? (在AS4的話用這句很容易就加到域的,但AS5中我怎么都加不到.所以krb5.conf文件就變得似呼沒有用了.)
?
#net rpc join -S gz.eric.local -U administrator (如果上句不行就試試這一句,我AS5就是用rpc方式連接域的,功能上沒有ADS強.)
Net rpc join –S (pdc全名) –U administrator
?
?
如果能夠加入后,在AD域可以在windows 2003 server里看到rhel
?
?
到這里其實就只是加入域而已,但并不能用AD帳號登陸samba
?
二.將AD帳號同步到linux里.這里要用到一個工具winbind
修改samba的主配置文件
#vi /etc/samba/smb.conf
?
在配置文件中添加以下內容
idmap uid = 10000 - 20000
idmap gid = 10000 - 20000
template shell = /sbin/nologin
template homedir = /home/%D/%U
winbind separator = %
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
encrypt passwords = yes
?
修改以下內容
[home]
???????? path = /home/%D/%U
???????? browsable = no
???????? writable = yes
???????? create mask = 0664
???????? directory mask = 0775
?
前面不是看到/home/%D/%U這樣的目錄嗎?我們就要手工去創(chuàng)建這個目錄了.不過這里比較麻煩,AD帳號的個人目錄必須要工的去創(chuàng)建,而不能說自動的檢測是否已存在,不存在自動創(chuàng)建.不知道哪個高手能夠說說有什么方法解決,我想到用腳本去做.但還在測試中...大家說說你們的高見
#mkdir /home/ERIC
?
#chmod -R 777 /home/ERIC
?
?
添加winbind寫入帳號的信任
#vi /etc/nsswitch.conf
?
修改以下位置
passwd:??? files?? winbind
shadow:??? files?? winbind
group:?????? files?? winbind
?
保存然后就重啟兩個服務
#service smb restart
?
#service winbind start
?
再加入域語句和前面一樣,我這就不再寫了.
?
加入成功后就測試一下!
#wbinfo -t?????? #看winbind是否正常運行
?
#wbinfo -u????? #看AD用戶是否同步過來了
?
?
基本上到這里就已經完成了配置.到windows測試一下吧!
?
?
我先來說一下存在的問題:
1.首先最亟待解決的問題就是AD帳號主目錄的自動建立問題,一直想不到好的解決方法.暫時有一個方向是用腳本去實現(xiàn),還在研究當中.
?
2.net ads join不能夠加入域,只能用net rpc join的方法.不知道哪個高人能指點一下.
?
以上是我暫時想到的問題,大家在操作研究中如果發(fā)現(xiàn)有什么問題可以提出來大家討論一下.學習Linux就必須多思考,而不是到處搜索.版本多了,并不一定網上的轉載就正確.討論才是解決的好辦法!哈哈 2個小時前,我發(fā)表了一篇名為<samba結合AD實現(xiàn)大型網絡方案>的文章.在文章中,存在著一個問題,那就是不能夠自動的創(chuàng)建AD用戶的主目錄,因此我就利用中午時間開始了研究.
?
在研究中,我想起了用以前做VSFTP的時候,曾用pam來自動創(chuàng)建一些帳號.因此我也找了一下文章,發(fā)現(xiàn)有一個文件可以做到這個功能.那文件名叫作pam_mkhomedir.so.這文件的使用原理是在大家在linux下登陸才創(chuàng)建目錄,也就是說通過samba的就不能夠自動創(chuàng)建.有關這文件的使用大家可以看下面的地址
?
[url]http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-pam_mkhomedir.html[/url]
?
上面有清楚的說明使用的方法.
?
我就受這文件的啟發(fā),還有就是我一直的一個思路所影響.開始研究那個pam_mkhomedir.so的原理.最后我想到了以下這個方法.
?
在SAMBA的主配置文件下的[homes]增加一句執(zhí)行腳本的代碼
preexec = /home/ERIC/buildhome %D %U %G
?
然后就保存文件.接下來就到/home/ERIC下創(chuàng)建腳本了!
#vi /home/ERIC/buildhome
?
腳本的內容如下
umask 077????
domain=$1??
user=$2??????
group=$3????
?
if [ ! -d /home/$domain/$user ] ; then
mkdir /home/$domain/$user
chown $user /home/$domain/$user
chgrp $group /home/$domain/$user
if
?
分配權限
#chmod 777 /home/ERIC/buildhome
?
然后就重啟samba服務
#service smb restart
?
?
到此就完成了一個samba的自動化了!

轉載于:https://blog.51cto.com/xiaomilonely/239707

總結

以上是生活随笔為你收集整理的samba and AD的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。