CentOS 8에서 비밀번호 없는 직렬 콘솔 액세스를 구성하는 방법은 무엇입니까?

CentOS 8에서 비밀번호 없는 직렬 콘솔 액세스를 구성하는 방법은 무엇입니까?

이것레드햇 공식 페이지몇 가지 모호한 힌트가 제공됩니다.

/etc/securetty에는 가능한 많은 장치가 나열되어 있으므로 대부분의 경우 실제 효과는 기본적으로 해당 장치를 허용하는 것이므로 이 변경 사항은 작은 영향만 미칠 것입니다. 그러나 보다 제한적인 구성을 사용하는 경우 pam_securetty.so 모듈을 활성화하는 행을 /etc/pam.d 디렉터리의 해당 파일에 추가하고 새 /etc/securetty 파일을 생성해야 합니다.

비밀번호 없는 직렬 콘솔 액세스를 허용하는 더 깔끔한 방법이 없다는 것이 이상해 보입니다.

이것페이지잘 작동하는 솔루션이 제공되지만 더 쉬운 방법이 있는지 궁금하지 않을 수 없습니다.

답변1

CentOS 8의 현재 상태에서는 그렇게 생각하지 않습니다.

문제는 직렬 포트를 통한 기존 Unix 로그인에는 두 가지 구성 요소, 즉 getty포트 설정을 초기화하고 사용자 이름을 묻는 프로세스와 login비밀번호를 묻는 프로세스, 비밀번호를 확인하고 사용자 세션을 시작하는 프로세스가 포함된다는 것입니다. RHEL/CentOS SELinux 규칙은 이를 염두에 두고 작성되었습니다.

agettylogin와 의 조합을 두 작업을 모두 수행하는 다른 것으로 바꾸고 일치하도록 PAM 및 SELinux 구성을 조정하여당신이 제공한 링크에서.

자동 로그인 구성은 보안 측면에서 매우 중요한 작업이므로 실수로 수행될 가능성이 낮도록 일반적으로 다단계 프로세스를 거쳐야 합니다. 이 작업을 정기적으로 수행하는 경우 선택한 도구(예: 스크립트 또는 Ansible과 같은 것)를 사용하여 자동화하는 것을 막을 방법이 없습니다.

답변2

나는 더 깔끔한 접근 방식이 없다는 점에 대해 비슷한 우려를 갖고 있으므로 링크된 질문에 제공된 것과 다른 해결책을 찾아야 합니다.

  1. 커널에 대한 콘솔을 구성해야 합니다. 이는 플랫폼에 따라 다르지만 일반적 console=ttyS0으로 또는 입니다 console=hvc0. 그러면 /etc/securetty에 설명된 대로 직렬 콘솔을 에 연결할 필요가 없습니다 .pam_securetty(8):
   pam_securetty [...] will also allow root logins on the tty specified
   with console= switch on the kernel command line and on ttys from the
   /sys/class/tty/console/active.
  1. 루트 로그인이 명확해야 합니다허용하다직렬 콘솔에는 다음 모듈이 /etc/pam.d/login있어야 합니다 .pam_securetty
#%PAM-1.0
auth        required    pam_securetty.so
...
  1. 그런 다음 systemd에서 자동 로그인을 구성해야 합니다.게티, 전달된 인수를 실행하고 대체합니다.systemctl edit [email protected]로그인 -o '-p -- \\u'자동 로그인 사용:
ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud 115200,38400,9600 %I $TERM

관련 정보