ssh/sshd가 컴파일될 때 사용된 구성 옵션을 나열하는 방법은 무엇입니까?
SELinux 구성 문제를 해결하려고 하는데 SSH가 --with-selinux
.
답변1
컴파일 옵션을 나열하는 방법은 없다고 생각하지만 SELinux 지원과 같은 기능은 실행 파일이 링크된 라이브러리에서 분명해야 합니다.
$ ldd /usr/bin/ssh /usr/sbin/sshd | egrep '^/|selinux'
/usr/bin/ssh:
/usr/sbin/sshd:
libselinux.so.1 => /lib/libselinux.so.1 (0x00007fbbfed5f000)
sshd
SELinux 지원이 있는 것 같지만 ssh
내 시스템에는 지원되지 않습니다(왜죠?).
확인할 수 있는 또 다른 사항(예: 정적 바이너리가 있는 경우)은 특정 SELinux 기능을 참조하는 바이너리가 있는지 여부입니다.
strings /usr/sbin/sshd |grep -i selinux
답변2
배포판의 패키징 시스템을 살펴보고 어떤 옵션으로 컴파일되었는지 찾아야 할 수도 있습니다. 일부 프로그램은 컴파일 플래그를 출력할 수 있지만 sshd에 그러한 옵션이 있는지는 모르겠습니다.
답변3
기본 배포 패키지를 설치하는 경우
이 배포판은 Debian을 기반으로 합니다.
debian/rules
구성 옵션에 대한 패키지 소스의 파일(기본적으로 Makefile)을 살펴보세요.이 배포판은 rpm 기반입니다. 소스 rpm 사양 파일에 있을 수 있는 컴파일 옵션을 확인하세요.
기본 컴파일 옵션이 없는 Gentoo와 같은 사용자 정의 배포판에서는 이것이 더 어려울 것입니다. 패키지를 만든 사람과 이야기하고 ldd
사람들이 제안하는 것을 살펴보겠습니다.
(처음에 해야 하는 것처럼) 분포를 지정하면 사람들이 더 구체적인 지침을 제공할 수 있습니다.