사용자가 쉘을 변경하지 않고 시스템 간에 파일을 xfer하도록 허용하는 방법(ssh는 제외)

사용자가 쉘을 변경하지 않고 시스템 간에 파일을 xfer하도록 허용하는 방법(ssh는 제외)

제목이 투박하지만 이 질문에 대한 이전 변형과 다르다는 점을 명확히 하고 싶었습니다. 매개변수는 다음과 같습니다.

  • LDAP를 통해 인증된 사용자가 있는 HPC 클러스터
  • 일부 노드에서는 대화형 로그인을 사용할 수 있습니다.
  • sftp, scp 또는 기타 보안 방법을 통해 $home이 있는 파일 서버로 전송할 수 있기를 바랍니다.
  • ...하지만 서버에 대한 SSH 액세스 권한이 없어야 합니다.

이 문제에 대해 내가 본 대부분의 솔루션은 사용자의 셸을 제한적인 것으로 변경하는 것과 관련이 있습니다. 로컬 계정이 없으므로 대화형 노드에 로그인된 일반 쉘이 있으므로 LDAP에서 기준 쉘을 변경할 수 없습니다.

또한 전송하려는 대상 서버는 특정 sysadmin 계정의 쉘 로그인을 허용하므로 해당 옵션을 사용하여 시스템 수준에서 sftp 등을 강제할 수 없습니다.

무엇이 남았나요? 아무것? 감사해요!

답변1

사용자에게 대화형으로 로그인해야 하는지 여부를 나타내는 식별 표시(예: 그룹 멤버십)가 있는 경우 /etc/profile.d사용자가 해당 그룹의 구성원인지 확인하는 파일을 배치할 수 있습니다. 테스트가 실패하면 exit명령을 실행합니다.

그룹 멤버십을 사용할 필요는 없습니다. 이는 단지 예시일 뿐입니다. 허용되는 사용자의 정적 목록이 있어도 괜찮습니다.

아이디어는 프로필 스크립트가 대화형 로그인의 일부로만 실행되어 쉘을 부여하지 않고도 파일 전송이 발생할 수 있다는 것입니다.

관련 정보