내 시스템에 이름이 지정된 시스템 사용자 sshd
와 이름이 다음과 같은 그룹이 있습니다 ssh
.
$ cat /etc/passwd | grep ssh
sshd:x:120:65534::/var/run/sshd:/usr/sbin/nologin
$ cat /etc/group | grep ssh
ssh:x:117:
내 생각에는 사용자가 sshd
OpenSSH가 포트를 사용하도록 허용 22
하고 /etc/ssh
포트에 액세스하기 위해 루트로 실행할 필요가 없다는 것입니다.
이 그룹도 OpenSSH에 의해 생성되었다고 가정 ssh
하지만 이에 대해 언급하는 내용을 찾을 수 없습니다.문서에서.
이 새로운 사용자의 목적은 무엇입니까?
답변1
루트 사용자만 권한이 있는 포트(예: 포트 < 1024)에서 소켓을 생성할 수 있습니다.
openSSH에서 사용자/그룹 사용은 ssh
권한이 분리되어 있습니다.
데몬은 사용자로 프로세스를 실행하고 root
있으며, 연결을 수신할 때 chroot
환경에서 권한이 없는 사용자로 실행됩니다 sshd
.
즉, 권한이 필요한 작업 부분 root
과 권한이 없는 사용자로 격리할 수 있는 부분을 실행합니다.
여기에 해당 주제에 대한 논문 링크와 함께 프로젝트 링크를 남겨두겠습니다.
http://www.citi.umich.edu/u/provos/ssh/privsep.html
종이:
답변2
사용자는 ssh
openssh-client에 의해 생성됩니다. setgid가 설정된 ssh-agent 바이너리 그룹으로 설정됩니다. 그룹은 최근 _ssh
내부 전용임을 나타내기 위해 이름이 변경되었습니다.