RHEL 5.5에서는 기본적으로
[deuberger@saleen trunk]$ sudo cat /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
각 항목 유형( , 및 )의 차이점은 console
무엇 vc/*
입니까 tty*
? 구체적으로, 각 항목 유형을 추가하고 제거한 최종 결과는 무엇입니까?
제가 이해한 바로는 로그인 방법과 시기에 영향을 미치지만, 다른 영향도 있나요? 그리고 어떤 항목이 있는지에 따라 언제 로그인할 수 있고 언제 로그인할 수 없나요?
편집 1
내가 아는 것은 - - - - 를 사용 하여 tty1-6
접근하는 처음 6개의 콘솔에서 로그인할 수 있는지 여부에 해당한다는 것입니다 . 나는 항상 그것이 가상 콘솔이라고 생각했기 때문에 약간 혼란 스럽습니다. 그리고 무엇 에 해당합니까?CtrlAltF1CtrlAltF6console
감사해요.
편집 2
단일 사용자 모드에서는 어떤 효과가 있습니까?
답변1
/etc/securetty
pam_securetty
어느 가상 터미널( tty*
) root
에서 로그인이 허용되는지 결정하기 위해 모듈 이 참조합니다 .
예전에는 직접 /etc/securetty
프로그램 같은 것을 통해 상담을 받았는데 login
지금은 PAM이 그걸 처리하고 있어요. 따라서 변경 사항 /etc/securetty
은 pam_securetty.so
. 따라서 login
기본적으로 프로그램만 영향을 받습니다.
/etc/pam.d/login
로컬 로그인에 사용되며 /etc/pam.d/remote
원격 로그인(텔넷 등)에 사용됩니다.
기본 항목 유형과 그 영향은 다음과 같습니다.
/etc/securetty
존재하지 않는 경우root
모든 곳에서 로그인이 허용됩니다.tty
/etc/securetty
존재하고 비어 있는 경우 단일 사용자 모드 또는 (예 : , , , )root
에 의해 제한되지 않는 프로그램으로 액세스가 제한됩니다.pam_securetty
su
sudo
ssh
scp
sftp
devfs
(처리를 위해 더 이상 사용되지 않는 파일 시스템 ) 을 사용하는 경우/dev
양식의 항목을 추가하면vc/[0-9]*
지정된 가상 콘솔 번호에서 루트 로그인이 허용됩니다.udev
(동적 장치 관리 및 교체용 ) 을 사용하는 경우devfs
양식 항목을 추가하면tty[0-9]*
지정된 가상 콘솔 번호에서 루트 로그인이 허용됩니다.- 현재 콘솔을 가리키기 때문에 일반적
console
으로 나열은/etc/securetty
효과가 없으며 일반적으로 단일 사용자 모드의 파일 이름으로만 사용됩니다./dev/console
tty
/etc/securetty
- 다음과 같은 항목을 추가하면
pts/[0-9]*
의사 터미널(pty
) 을 사용하는 프로그램이 허용되고 할당된 항목이 나열된 항목 중 하나라고 가정하여pam_securetty
로그인할 수 있습니다 . 보통은 좋은 생각이야root
pty
~ 아니다보안 위험이 있으므로 이러한 항목을 포함합니다. 예를 들어 누군가가 일반 텍스트로 비밀번호를 보내는 텔넷을 통해 루트에 로그인할 수 있습니다(이pts/[0-9]*
형식은 RHEL 5.5에서 사용되는 형식입니다 . 장치 관리를 사용하거나 다른 형식으로udev
사용하는 경우에는 달라집니다 ).devfs
단일 사용자 모드의 경우 가 대신 사용되므로 /etc/securetty
참조되지 않습니다 ( 자세한 내용은 매뉴얼 페이지 참조). 또한 각 런레벨에 사용되는 로그인 프로그램을 변경할 수 있습니다 .sulogin
login
sulogin
/etc/inittab
를 통해 로그인을 /etc/securetty
제어하는 데 를 사용해서는 안 됩니다 . 그렇게 하려면 in 의 값을 변경하십시오 . 기본적으로 은 (따라서 ) 문의하도록 구성되지 않습니다 . 이를 위해 라인을 추가할 수 있지만 스테이지가 끝날 때까지 실제를 설정하지 않으므로 예상대로 작동하지 않습니다. 및 단계 동안 (적어도 ) ( )는 으로 하드코딩됩니다 .root
ssh
PermitRootLogin
/etc/ssh/sshd_config
/etc/pam.d/sshd
pam_securetty
/etc/securetty
ssh
tty
auth
auth
account
openssh
tty
PAM_TTY
ssh
위 답변은 RHEL 5.5를 기반으로 합니다. 그 중 대부분은 다른 *nix 시스템의 현재 배포판과 관련이 있지만 차이점이 있습니다. 그 중 일부는 언급했지만 전부는 아닙니다.
다른 답변이 불완전하거나 부정확했기 때문에 제가 직접 답변했습니다. 온라인의 다른 많은 포럼, 블로그 등에도 이 주제에 대한 부정확하고 불완전한 정보가 있으므로 정확한 세부 정보를 얻기 위해 광범위한 연구와 테스트를 수행했습니다. 제가 말한 내용이 잘못된 경우에는 알려주시기 바랍니다.
출처:
- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/ch-sec-network.html#s1-wstation-privileges
- http://www.mathematik.uni-marburg.de/local-doc/centos5/pam-0.99.6.2/html/sag-pam_securetty.html
- http://linux.die.net/man/1/login
- http://www.tldp.org/HOWTO/html_single/Text-Terminal-HOWTO/
- http://www.kernel.org/doc/Documentation/devices.txt
- http://en.wikipedia.org/wiki/Virtual_console
- http://en.wikipedia.org/wiki/Linux_console
- http://www.kernel.org/doc/man-pages/online/pages/man4/console.4.html
- http://www.unix.com/security/8527-restricting-root-login.html
- http://www.redhat.com/mirrors/LDP/HOWTO/Serial-HOWTO-11.html#ss11.3
- http://www.mathematik.uni-marburg.de/local-doc/centos5/udev-095/udev_vs_devfs
답변2
vc/X
동의어 ttyX
입니다. 동일한 장치에 대한 다른 경로입니다. 중복의 포인트는 당신을 잠그지 않도록 다양한 사건을 잡아내는 것입니다.
전통적으로 login
(아마도 getty
, 확실히 기억은 나지 않습니다) 목록에 없는 터미널에서 로그인을 확인 /etc/securetty
하고 거부 했습니다. root
최신 시스템에는 이를 수행하는 다른 방법과 기타 보안 조치도 있습니다. ( 의 기능 /etc/login.defs
도 다루고 있으며 맨페이지에서 권장하는) 의 내용 과 이 기능의 동작을 제어할 수 있는 내용을 확인하세요.securetty
securetty(5)
/etc/pam.d/login
securetty
는 로만 확인되므로 사용 login
하지 않는 로그인 방법 login
(예: 를 사용하는 SSH use_login=no
, X 디스플레이 관리자 등)은 영향을 받지 않습니다.