如何设置和集成Ubuntu 10.04 LTSPv5服务器到Windows 2008 Active Directory域

如何将Ubuntu 10.04 LTSPv5服务器设置并集成到Windows 2008 Active Directory域中

介绍

在目前的经济条件下,公司一直在努力通过回收旧硬件和利用开放源码软件来减少收入。 在我工作的时候也是如此。 在我们的呼叫中心,财务,分销,仓库和销售部门之间,超过50%的员工都在RHEL4 LTSP瘦客户机上运行。 最近决定用LTSPv5将我们的LTSP环境从RHEL4更新为Ubuntu 10.04。 使用以下步骤,我可以将Ubuntu 10.04 LTSPv5服务器设置并集成到Windows 2008 Active Directory域中。

假设

假设您具有Windows 2008 Active Directory域设置,并且与DHCP服务器一起正常工作。 您的域控制器可以是您的DHCP服务器,也可以设置不同的框来分发DHCP租约。 如果您的域控制器或DHCP服务器未设置,请先进行设置。 还假定读者有一些基本的Linux经验。 您将需要知道如何在Linux终端中移动,安装应用程序,并使用vi或nano编辑文件。

硬件

Ubuntu LTSP服务器

戴尔PowerEdge 2650
2双核Intel(R)Xeon(TM)CPU 1.80GHz CPU
8 GB RAM
3 73 GB SCSI U320 10K RAID 5配置中的硬盘
双电源

瘦客户端

戴尔Optiplex GX260
1 GB RAM
车载视频
没有高清

网络布局

为了本教程的目的,这是10.0.0.0/24子网上的domain.internal网络的布局。

dc.domain.internal

运行Active Directory和DNS的Windows 2008 Server

server.domain.internal

Windows 2003 Server托管用户主目录和文件共享

thinserver.domain.internal

具有LTSPv5的Ubuntu 10.04.2服务器

dhcp.domain.internal

CentOS 5.0服务器运行dhcpd

Ubuntu LTSP安装

要使用LTSP安装Ubuntu,请按照此处的说明进行操作

如果您的服务器具有超过4 GB的RAM,请确保安装Linux PAE内核。

sudo apt-get install linux-generic-pae linux-headers-generic-pae

将瘦服务器添加到Windows域

在将thinserver添加到域之前,我们将不得不安装Samba以及其他一些软件包。

sudo apt-get install samba smbclient winbind libpam-cracklib krb5-user

确保精简服务器的名称正确。

hostname

如果hostname命令不返回thinserver.domain.internal ,请将其重命名为thinserver.domain.internal

hostname thinserver.domain.internal

编辑/etc/resolv.conf以使用dc.domain.internal作为主DNS服务器。

search domain.internal
nameserver 10.0.0.10

您的域控制器在您的DNS中为服务器创建主机(A)记录。

验证thinserver可以解析domain.internal

nslookup domain.internal

结果应该是这样的:

test@thinserver:~$ nslookup domain.internal
Server:        10.0.0.10
Address:    10.0.0.10

Name:    domain.internal
Address: 10.0.0.10

确保Samba和Winbind没有运行:

/etc/init.d/smbd stop
/etc/init.d/winbind stop

为了安全起见,可以备份smb.confkrb5.conf和PAM常见文件。 我喜欢在备份文件时追加日期,以便我知道更改的时间。

d=`date "+%m%d%y"`
cp /etc/samba/smb.conf{,.$d}
cp /etc/krb5.conf{,.$d}
mkdir /etc/pam.d/backup
cd /etc/pam.d/
for file in `ls`;do cp $file{,.$d}; done
mv *.$d backup/

编辑/etc/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 = DOMAIN.INTERNAL
 default_keytab_name = FILE:/etc/krb5.keytab
 default_tgs_entypes = rc4-hmac des-cbc-md5
 default_tkt_entypes = rc4-hmac des-cbc-md5
 permitted_entypes = rc4-hmac des-cbc-md5
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 forwardable = yes

[realms]

 DOMAIN.INTERNAL = {
  kdc = DC.DOMAIN.INTERNAL:88
  default_domain = DOMAIN.INTERNAL 
 }

[domain_realm]

 domain.internal = DOMAIN.INTERNAL
 .domain.internal = DOMAIN.INTERNAL
[appdefaults]
 forwardable = true
 pam = {
   minimum_uid = 16777216
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   krb4_convert = false
   DOMAIN.INTERNAL = {
	ignore_k5login = true
	}
 }

编辑/etc/samba/smb.conf文件,如下所示:

[global]
   workgroup = DOMAIN
   password server = *
   realm = DOMAIN.INTERNAL
   local master = no
   security = ads
   idmap backend = tdb
   idmap uid = 16777216-33554431
   idmap gid = 16777216-33554431
   idmap config DOMAIN : backend = rid
   idmap config DOMAIN : range = 16777216-33554431
   idmap cache time = 60	
   template homedir = /home/%u
   template shell = /bin/bash
   kerberos method = secrets and keytab
   dedicated keytab file = /etc/krb5.keytab
   winbind separator = +
   winbind use default domain = yes
   winbind refresh tickets = true
   winbind cache time = 10
   winbind offline logon = true
   winbind enum users = Yes
   winbind enum groups = Yes
   passdb backend = tdbsam

   server string = Samba Server Version %v
   log file = /var/log/samba/%m.log
   max log size = 50

继续前进,建议第二个根终端打开,以防万一不能按预期工作。 发生在我们最好的人:o)

我建议在Active Directory中创建一个“linux_admins”组,并将其添加到/ etc / sudoers文件中。 另一种方法是添加“域管理员”组并使用管理员帐户进行登录。

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%linux_admins ALL=(ALL) ALL

编辑PAM公共文件/etc/pam.d/common-account

account     sufficient	  pam_winbind.so use_first_pass cached_login 
account     required      pam_unix.so broken_shadow

编辑PAM公共文件/etc/pam.d/common-auth

auth	[success=2 default=ignore]	pam_unix.so nullok_secure
auth	[success=1 default=ignore]	pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth	requisite			pam_deny.so
auth	required			pam_permit.so

编辑PAM公共文件/etc/pam.d/common-password

password	requisite			pam_cracklib.so retry=3 minlen=8 difok=3
password	[success=2 default=ignore]	pam_unix.so obscure use_authtok try_first_pass sha512
password	[success=1 default=ignore]	pam_winbind.so use_authtok try_first_pass
password	requisite			pam_deny.so
password	required			pam_permit.so
password	optional			pam_gnome_keyring.so

编辑PAM公共文件/etc/pam.d/common-session

session	    required	  		pam_env.so
session     required      		pam_unix.so
session     required      		pam_winbind.so use_first_pass 
session     required      		pam_limits.so
session     required      		pam_mkhomedir.so
session     [success=1 default=ignore] 	pam_succeed_if.so service in crond quiet use_uid

编辑PAM公共文件/etc/pam.d/common-session-noninteractive

session		[default=1]		pam_permit.so
session		requisite		pam_deny.so
session		required		pam_permit.so
session		optional		pam_winbind.so cached_login
session		required		pam_unix.so 

确保/etc/nsswitch.conf具有用于登录的winbind条目。

passwd:         compat winbind
group:          compat winbind
shadow:         compat

现在我们已经准备好将更改服务器添加到Windows域。

kinit administrator@DOMAIN.INTERNAL
net ads join -U administrator
net ads keytab create -U administrator
/etc/init.d/smbd start
/etc/init.d/winbind start

验证您在域中,并且您可以查看域中的所有用户和组。

wbinfo -u
wbinfo -g
getent passwd

您现在应该可以使用域名用户名和密码登录服务器。 验证您是否收到Kerberos票证。

klist
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏