중복 가능성:
하나의 명령만 실행하는 UNIX 계정 만들기
가능한 한 적은 권한으로 사용자 계정을 설정하려고 합니다.
사용자는 SSH를 통해 로그인한 다음 "su" 명령을 사용하여 루트 액세스 권한을 얻을 수 있어야 합니다.하지만 다른 건 없어.
가능합니까? 따라서 "cd", "ls" 또는 "mkdir"과 같은 기본 명령은 사용하면 안 됩니다! 사용자는 빈 폴더만 볼 수 있어야 하며 "su" 명령을 사용하여 실제 운영 체제에 대한 전체 시스템 액세스 권한을 얻을 수 있어야 합니다(이를 달성하기 위해 chroot를 사용하는 경우).
이것을 달성하는 방법에 대한 아이디어가 있습니까?
미리 감사드립니다!
답변1
공개 키를 통한 연결만 허용하는 것이 좋습니다. 그런 다음 다음과 같이 ~/.ssh/authorized_keys에 공개 키를 제공하여 자체 명령을 사용하여 공개 키에 연결할 수 있습니다.
command="/path/to/mycommand" ssh-rsa ...
사용자가 해당 키를 사용하여 계정에 로그인할 때마다 일반적인 셸 대신 명령이 실행됩니다. 예를 들어 명령은 쉘 스크립트일 수도 있고 su -
.
귀하의 요구 사항을 충족해야합니다. - 하지만 다시 생각해 보세요. 이것이 당신이 정말로 원하는 것입니다.