完美方案:Linux通过Samba服务成功加入Windows域及共享加入目录。

0 下载量 92 浏览量 更新于2024-01-12 收藏 931KB DOC 举报
本文介绍了在Linux系统中通过Samba服务实现加入Windows域的解决方案。通过调研发现,网上对于Linux加入Windows域的资料较多,但是大部分按照这些资料操作并不成功,甚至很多人并不清楚具体操作步骤。最常见的方法是使用"net ads join"命令简单加入域,然而这样并不能实现作为域成员提供用户登录功能,也不能将共享加入到目录中。本文作者经过多次实验,总结出了一些细节,特别分享给大家。 本文示例中使用的Linux系统为CentOS 5.3,AD域为Windows Server 2003 SP2,域名为Rainbird.net,Windows Server 2003的IP为192.168.1.241,CentOS的IP为192.168.1.246,域控主机名为ad1,DNS地址为192.168.1.241。 首先,为了实现Linux加入Windows域,我们需要安装Samba服务器软件,并安装相应的依赖包,如krb5-workstation-1.2.7-19和pam_krb5-1。这些软件包可以从相关软件源中获得。 接下来,需要进行一些配置。首先,在CentOS中编辑/etc/hosts文件,将Windows Server 2003的IP和主机名添加到文件中。 然后,需要设置Kerberos认证。在CentOS中,编辑/etc/krb5.conf文件,配置域控的Kerberos服务器和领域信息。在[realms]部分添加域的信息,如"RAINBIRD.NET = {"admin_server = ad1", "default_domain = rainbird.net"}"。在[domain-realm]部分添加域的映射信息,如"rainbird.net = RAINBIRD.NET,.rainbird.net = RAINBIRD.NET"。 接下来,需要配置PAM认证。在CentOS中,编辑/etc/pam.d/system-auth文件,在文件开头添加"auth sufficient pam_krb5.so"和"account sufficient pam_krb5.so"两行。 然后,需要配置Samba服务。在CentOS中,编辑/etc/samba/smb.conf文件,设置工作组为域名,如"workgroup = RAINBIRD"。在[global]部分添加"security = ADS",并配置域控的相关信息,如"realm = RAINBIRD.NET"和"password server = ad1"。在该文件的最后,添加共享目录的配置信息,如"[fileshare] comment = File Share path = /path/to/share valid users = domain_user1, domain_user2 writable = yes"。 接下来,需要配置系统网络设置。在CentOS中,编辑/etc/resolv.conf文件,设置DNS服务器为域控的IP地址,如"nameserver 192.168.1.241"。 然后,需要在CentOS中运行"kinit"命令,获取Kerberos票据,验证Kerberos配置是否正确。如果成功,会显示一条成功的信息。 最后,通过使用"net ads join"命令将CentOS加入到域中。执行该命令后,会提示输入域管理员的用户名和密码,输入正确后,会显示一条成功加入域的信息。 完成上述步骤后,Linux系统就成功加入了Windows域。作为域成员,可以提供域内用户登录功能。作为Samba服务,可以将共享文件夹添加到目录中,实现域成员的共享功能。 总之,通过本文所述的步骤,可以实现Linux系统通过Samba服务加入Windows域,并提供域内用户登录和文件共享功能。希望本文能对大家在实践中遇到的问题提供一些帮助和指导。