OS X에서 원격 전용 사용자를 작성 하시겠습니까?


15

OS X에서 원격 ssh 로그인 권한이있는 사용자를 작성하여 특정 폴더 / path / to / the / goods /에 액세스하고 수동으로 또는 rsync를 통해 나머지 Mac 동안 파일을 추가 / 수정 / 삭제 할 수 있습니다 제한이 없습니다 (홈 디렉토리 외부).

이상적으로 사용자는 rsync 이외의 다른 프로그램을 실행할 수있는 권한이 없어야합니다.

이 사용자는 빌드 서버에서 파일을 로그인하고 배포하는 데 사용됩니다. 빌드 스크립트에 비밀번호 입력이 필요하지 않도록 공개 / 개인 키 쌍을 사용하고 싶습니다.

어떻게하면 되나요?

답변:


9

가장 좋은 방법은 사용자를위한 chroot jail을 만드는 것입니다. 집에 도착하면 여기에 답을 정리할 것이지만 솔루션을 블로그에 게시했습니다.

https://thefragens.com/chrootd-sftp-on-mac-os-x-server/

아래는 위의 게시물에서 얻은 대부분의 지침입니다.

먼저 Workgroup Admin에서 새 사용자를 작성하고 Server Admin을 통해 SSH에 대한 액세스 권한을 지정하거나 SSH 액세스 권한이있는 그룹에 지정해야합니다. 자세한 내용은 다음과 같습니다.

터미널에서 바로 시작하십시오.

sudo cp /etc/sshd_config /etc/sshd_config.bkup

sudo chown root /
sudo chmod 755 /
sudo mkdir -p /chroot/user/scratchpad
sudo chown -R root /chroot
sudo chown user /chroot/user/scratchpad
sudo chmod -R 755 /chroot

추가 된 모든 새로운 사용자는 다음과 같이 표시됩니다.

sudo mkdir -p /chroot/user2/scratchpad
sudo chown root /chroot/user2
sudo chown user2 /chroot/user2/scratchpad
sudo chmod -R 755 /chroot/user2

chroot jail의 경로는 모든 폴더가 소유해야합니다 root. 폴더가 속한 그룹이 중요하지 않다고 생각합니다. 위에서 한 것은

  1. 지원 /etc/sshd_config
  2. 루트 디렉토리의 소유권을 root
  3. 루트 디렉토리의 권한을 755로 변경
  4. chroot 폴더를 만듭니다
  5. chroot 폴더 안에 사용자 폴더를 만듭니다
  6. 사용자 폴더 안에 사용자가 수정할 수있는 폴더를 만듭니다.
  7. 소유권 및 권한 설정

이제 /etc/sshd_config다음 을 편집 하십시오.

#Subsystem  sftp    /usr/libexec/sftp-server
Subsystem   sftp    internal-sftp

Match User user
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/user

이것은 chroot jail을 만들어 사용자가 로그인 할 때 폴더에 폴더를 드롭하고 /chroot/user, 해당 폴더에 물건을 추가 할 수있는 폴더 /chroot/user/scratchpad입니다.

'Chroot Users'에 대해 Workgroup Admin에서 그룹을 생성하려면 Workgroup Admin에서 생성 한 새 사용자를 그룹에 추가하면 /etc/sshd_config파일 을 계속 편집 할 필요가 없습니다 . 위 대신 다음을 추가하십시오. Server Admin에서 SSH 액세스 ACL에 'Chroot Users'그룹을 추가하십시오.

Match Group chrootusers
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/%u

위의 작동 여부를 테스트하려면 터미널에서 다음을 발행하십시오.

$ sftp user@domain.com
Password:
sftp>

다시해야 할 경우를 대비하여 내 문제를 해결하고 문서화하기 만하면됩니다. ;-)
조각화
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.