本文介绍使用realmd将Ubuntu 18.04/Debian 10服务器或桌面加入Active Directory(AD)域的方法。
步骤1:更新您的APT索引 首先更新您的Ubuntu/Debian Linux系统: sudo apt -y update 这是必不可少的,因为如果服务器是全新安装的,则安装可能会失败。 对于Ubuntu 18.04,将以下存储库添加到您的sources.list文件中: sudo tee -a /etc/apt/sources.list <<EOF deb http://us.archive.ubuntu.com/ubuntu/ bionic universe deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe EOF 可参考:将Debian 10 Buster官方存储库添加到sources.list的方法。
步骤2:设定服务器主机名称和DNS 使用正确的域组件为服务器设置正确的主机名: sudo hostnamectl set-hostname myubuntu.example.com 确认您的主机名: $ hostnamectl Static hostname: myubuntu.example.com Icon name: computer-vm Chassis: vm Machine ID: 5beb7ac3260c4f00bcfbe1088f48b8c7 Boot ID: b2a0d9abe43b455fb49484dbaa59dc41 Virtualization: vmware Operating System: Ubuntu 18.04.1 LTS Kernel: Linux 4.15.0-29-generic Architecture: x86-64 确认DNS ia配置正确: $ cat /etc/resolv.conf Ubuntu 18.04附带了systemd-resolve,您需要禁用它才能使服务器直接访问网络DNS: sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved
步骤3:安装必要的套件 将Ubuntu 18.04/Debian 10系统加入Active Directory(AD)域需要大量软件包: sudo apt update sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit 仅在成功安装依赖项之后,您才能继续在Debian 10/Ubuntu 18.04上发现Active Directory域。
步骤4:在Debian 10/Ubuntu 18.04上发现Active Directory域 realm discover命令返回完整的域配置以及要在域中注册的系统必须安装的软件包的列表: $ sudo realm discover example.com example.com type: kerberos realm-name: EXAMPLE.COM domain-name: example.com configured: no server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin 用有效的AD域替换example.com。
步骤5:将Ubuntu 18.04/Debian 10加入Active Directory(AD)域 要将您的Linux计算机与Windows Active Directory域集成在一起,需要一个AD管理用户帐户,检查并确认AD管理员帐户和密码。 通过配置本地系统服务和标识域中的条目,realm join命令将设置用于指定域的本地计算机,该命令具有许多选项,可以使用以下选项进行检查: $ realm join --help 基本命令执行是: $ sudo realm join -U Administrator example.com Password for Administrator: 注: 管理员是用于将计算机集成到AD的管理员帐户的名称。 example.com是AD域的名称 该命令首先尝试在没有凭据的情况下进行连接,但是如果需要,它将提示您输入密码。 查看当前的realmd详细信息: $ realm list example.com type: kerberos realm-name: EXAMPLE.COM domain-name: example.com configured: kerberos-member server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin login-formats: %U@example.com login-policy: allow-realm-logins 在基于RHEL的系统上,将自动创建用户的主目录,在Ubuntu/Debian上,您需要启用此功能: sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF Name: activate mkhomedir Default: yes Priority: 900 Session-Type: Additional Session: required pam_mkhomedir.so umask=0022 skel=/etc/skel EOF 然后激活: sudo pam-auth-update 选择<OK>:
确保选择了“activate mkhomedir”,前面有[*]:
然后选择<OK>保存更改。 您的sssd.conf配置文件位于/etc/sssd/sssd.conf中,只要文件有更改,就需要重新启动: sudo systemctl restart sssd 状态应该正在运行: $ systemctl status sssd 如果集成正常,则应该可以获得AD用户信息: $ id jmutai uid=1783929917(jmutai@example.com) gid=1784800513(domain users@example.com) groups=1783870513(domain users@example.com)
步骤6:控制访问权限,限制用户/组 通过仅允许特定的用户和组,可以限制对注册服务器的访问。 1、限制用户 要允许用户通过SSH和控制台访问,请使用以下命令: $ realm permit user1@example.com $ realm permit user2@example.com user3@example.com 2、允许访问组,示例: $ ream permit -g sysadmins $ realm permit -g 'Security Users' $ realm permit 'Domain Users' 'admin users' 这将修改sssd.conf文件。 相反,如果您希望允许所有用户访问,请运行: $ sudo realm permit --all 要拒绝所有域用户访问,请使用: $ sudo realm deny --all
步骤7:配置Sudo访问和测试SSH访问 1、配置Sudo访问 默认情况下,域用户无权将特权升级为root,必须根据用户名或组为用户授予访问权限。 首先创建sudo权限授予文件: $ sudo vi /etc/sudoers.d/domain_admins 添加单个用户: user1@example.com ALL=(ALL) ALL 添加其他用户: user1@example.com ALL=(ALL) ALL user2@example.com ALL=(ALL) ALL 新增群组: %group1@example.com ALL=(ALL) ALL 添加具有两个或三个名称的组: %security\ users@example.com ALL=(ALL) ALL %system\ super\ admins@example.com ALL=(ALL) ALL 2、测试SSH访问 以允许登录的AD用户身份远程访问服务器: $ ssh user1@localhost The authenticity of host 'localhost (::1)' can't be established. ECDSA key fingerprint is SHA256:wmWcLi/lijm4zWbQ/Uf6uLMYzM7g1AnBwxzooqpB5CU. ECDSA key fingerprint is MD5:10:0c:cb:22:fd:28:34:c6:3e:d7:68:15:02:f9:b4:e9. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. 注:这确认我们的配置成功。
相关主题 |