FreeBSD에 FTP 서버를 올리면서 인터넷에서 이것을 찾았습니다.
nologin을 / etc / shells에 넣으면 해당 계정을 FTP와 함께 사용할 수있는 백도어가 생길 수 있습니다.
( http://osdir.com/ml/freebsd-questions/2005-12/msg02392.html 참조 )
아무도 이것이 왜 설명 할 수 있습니까? 왜 nologin의 사본을 가져 와서 / etc / shells에 넣으면이 문제가 해결됩니까?
FreeBSD에 FTP 서버를 올리면서 인터넷에서 이것을 찾았습니다.
nologin을 / etc / shells에 넣으면 해당 계정을 FTP와 함께 사용할 수있는 백도어가 생길 수 있습니다.
( http://osdir.com/ml/freebsd-questions/2005-12/msg02392.html 참조 )
아무도 이것이 왜 설명 할 수 있습니까? 왜 nologin의 사본을 가져 와서 / etc / shells에 넣으면이 문제가 해결됩니까?
답변:
/etc/shells시스템이 (제한되지 않은) 쉘로 간주하는 바이너리 목록을 포함합니다. 즉,이 바이너리 중 하나를 쉘로 구성한 모든 사용자는 시스템에 대한 전체 액세스 권한이있는 것으로 간주됩니다 (적절한 권한이있는 경우 모든 명령을 실행할 수 있음).
가장 직접적인 결과는 구성된 쉘 chsh을 변경 하는 데 사용할 수 있다는 것 입니다.
사용자 가이 목록에 없는 쉘을 구성한 경우, 시스템은 사용자가 제한되어 있다고 가정합니다. 이 경우 chsh사용자 는 해당 값을 변경할 수 없습니다 .
다른 프로그램이이 목록을 쿼리하고 유사한 제한을 적용 할 수 있습니다.
그래서 넣어 nologin에서 /etc/shells당신을 효과적으로 "이 사용자라고 nologin껍질 전체 무제한 사용자로 간주 될 때". 그것은 거의 확실하게 nologin 말하는 것과 반대입니다 .