내 컴퓨터에 대한 액세스를 구성하기 위해 PAM을 사용하고 있습니다. CentOS 7.6.1810(코어)을 사용하고 있습니다. 나는 PAM을 사용하고 싶습니다. 설정을 편집하여 한 곳에서 로그인할 수 있는 사람을 설정할 수 있기 때문에 /etc/security/access.conf
매우 편리합니다. 또한 PAM이 어떻게 작동하는지 이해하고 싶기 때문에 다른 방법이 존재한다는 것을 알더라도 사용하지 않는 것이 좋습니다. 현재 tty를 사용하여 로그인한 사용자에게 이 기능을 제공할 수 있지만 ssh를 사용하여 사용할 수는 없습니다.
아래에는 필요한 구성 파일이 나와 있습니다.
내 /etc/security/access.conf
파일에는 다음 줄이 있습니다.
+:root:ALL
-:ALL:ALL
참고: 이것이 보안 결함이라는 것을 알고 있지만 시스템을 구성할 때만 이 작업을 수행합니다. 맨 윗줄은 삭제하겠습니다.
내 /etc/pam.d/systemauth
파일에는 다음이 있습니다.
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
account required pam_access.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
해당 라인에 특별한 주의를 기울이십시오 account require pam_access.so
. 이로 인해 포함된 모든 정책이 system-auth
인증을 위해 pam_access를 사용하게 됩니다 .
/etc/pam.d/sshd
내 파일의 관련 줄은 다음과 같습니다.
account required pam_nologin.so
account include system-auth
account require pam_access.so
account include password-auth
이 행은 ssh 데몬이 로그인에 pam_access를 사용하는지 확인해야 합니다.
또한 내 /etc/ssh/sshd_config
파일에서 pam 사용 여부를 제어하는 줄이 올바르게 설정되어 있는지 확인했습니다. 특히 나는 이 줄을 가지고 있습니다UsePAM yes
마지막으로 이것이 작동하는지 테스트하기 위해 루트가 아닌 다른 계정에서 SSH를 사용하여 로그인하려고 하면 다음과 같은 로그 출력이 표시됩니다 /var/log/secure
.
Oct 4 21:12:34 localhost sshd[3683]: Accepted keyboard-interactive/pam for pbeesly from 10.0.2.2 port 45250 ssh2
Oct 4 21:12:34 localhost sshd[3683]: pam_unix(sshd:session): session opened for user pbeesly by (uid=0)
pam_access가 작동하지 않는 이유를 이해할 수 없습니다. 어쩌면 여기에 뭔가 빠졌을 수도 있지만 저는 시스템 관리를 처음 접했습니다. 어떤 도움이라도 대단히 감사하겠습니다!