我安装了一个非常小的虚拟机,用于测试目的,运行 CentOS 1708,配置了 vsftp。我用了
https://www.rootusers.com/how-to-join-centos-linux-to-an-active-directory-domain/
为操作系统部分设置广告身份验证,但不希望广告用户能够通过 FTP 客户端登录。
主要是我需要通过 ssh 在内部进行广告身份验证,而不是通过 Internet,以及纯粹通过本地用户进行 FTP 登录。
我注意到,如果用户没有通过 ssh 登录此虚拟机,他/她将无法使用广告凭据通过 ftp 端口 21 登录,因为它无法创建主目录。
我想这很好,但我正在寻找一种方法来完全防止通过 AD 进行广告身份验证,只允许通过 ssh 或终端
我不希望通过 ftp 进行广告身份验证,因为这会使我在互联网上的广告用户面临被“黑客”或锁定的风险
关于我如何做到这一点的任何建议?
vsFTPd 身份验证中涉及的 PAM 模块在
/etc/pam.d/vsftpd
. 默认情况下,它有一行:它使用系统范围的默认 PAM 配置进行基于密码的身份验证,该配置在
/etc/pam.d/password-auth
. 配置 AD 身份验证时,通常会将相关 PAM 模块添加到/etc/pam.d/password-auth
.如果您根本不希望 AD 身份验证与 vsFTPd 一起使用,请编辑
/etc/pam.d/vsftpd
文件。注释掉该行并在注释掉的行之后,写入
password-auth
文件中的相关行,因为它存在于未配置 AD 身份验证的系统中:这样,AD 身份验证提供程序模块将完全无法参与 vsFTPd 身份验证,因此对于 vsFTPd 身份验证过程就像系统根本没有任何 AD 集成一样。
SSSD AD 提供程序允许评估 GPO 策略以进行访问控制并将 Windows 登录权限 pam 到 Linux PAM 服务。我建议探索这条路。顺便说一句,我还建议不要将服务列入黑名单,而是另一种方式,仅将您希望在 Linux 主机上允许的服务列入白名单。sssd-ad 手册页应该有一些将登录权限映射到 PAM 服务的示例。