在Centos 上配置sudo用于双因素身份验证
我们将从RHEL / Centos 7开始。安装先决条件:
sudo yum -y install make gcc pam pam-devel
获取最新的PAM RADIUS代码(本文中为1.4):
wget ftp://ftp.freeradius.org/pub/radius/pam_radius-x.x.x.tar.gz
构建库:
tar -xzvf pam-radius-x.x.x.tar.gz cd pam-radius-x.x.x sudo ./configure sudo make
将库复制到正确的位置:
cp pam_radius_auth.so /lib/security/
或64bit:
cp pam_radius_auth.so /lib64/security/
创建配置目录并复制名为'server'的配置文件:
sudo mkdir /etc/raddb cp pam_radius_auth.conf /etc/raddb/server
编辑/ etc / raddb / server并将您的radius服务器IP和共享密钥添加到此文件。
# server[:port] shared_secret timeout (s) 127.0.0.1 secret 1 radius_server_IP secret 3 # # having localhost in your radius configuration is a Good Thing.
(请注意,尽管我们最终希望在循环中使用半径,您也可以将WiKID服务器用作radius服务器,将此Centos框添加为WiKID上的网络客户端,重新启动WiKID并完成,或至少可以测试此方式。一直在做一些小的测试一直是一个好主意,只要一定要删除它们。)
接下来,我们需要告诉sudo使用radius。 编辑文件/etc/pam.d/sudo并将“auth include system-auth”替换为:
auth required pam_radius_auth.so
那就是Centos / RHEL 7盒子。 同样的设置工作5和6也。
在Ubuntu上配置sudo进行双重身份验证
接下来是Ubuntu 14.04服务器。 首先,安装pam-radius:
sudo apt-get install libpam-radius-auth
通过编辑/etc/pam_radius_auth.conf也可以使用NPS服务器进行配置。 所以与以上相同:
# server[:port] shared_secret timeout (s) 127.0.0.1 secret 1 radius_server_IP secret 3 # # having localhost in your radius configuration is a Good Thing.
编辑您的/etc/pam.d/sudo文件,并在comm-auth行之上添加“auth enough pam_radius_auth.so”行:
auth required pam_env.so readenv=1 user_readenv=0 auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0 auth sufficient pam_radius_auth.so @include common-auth @include common-account @include common-session-noninteractive
那就是Ubuntu服务器。