질문이 조금 모호한 부분이 있는 것 같습니다. "ssh server 접속 시"라는 말은... 쉘 모드로 시스템에 로긴할 수 있다는 말인가요, 아니면 proftpd 처럼 파일 전송이 필요하다는 것인가요? 이 부분이 약간 혼동되네요TT. 파일 전송만 필요하다면 proftpd 를 쓸 것 같아서요.
특정 사용자에게 chroot jail 된 환경을 제공하는 것. https://askubuntu.com/questions/93411/simple-easy-way-to-jail-users 이 환경은 chroot 된 별도의 시스템을 구축하는 것 입니다. 특정 사용자, 예를 들어 guest 라는 사용자가 ssh 로 로긴하면 그 사용자가 보는 시스템은 이 별도의 시스템입니다. 이 별도의 시스템에 패스워드 파일이 필요하다면 패스워드 파일을 둘 수 있겠죠. 사용자가 su 나 sudo 를 쓸 수 있도록요. 심지어... login 이라는 명령을 사용할 수도 있을 것이고요. 그런데, chroot 된 환경이기 때문에 기존 시스템의 패스워드 파일과 달라도 됩니다^^.
사용자 관점에서는...
우선 시스템에 guest 란 공통 사용자로 로긴해야 합니다. 이걸 시스템에서 chroot jail 로 환경을 제약하게 되고요. guest 란 시스템 사용자로 로긴한 다음, chroot 된 별도의 시스템에서는 어떤 사용자로 쓸 것인가를 묻는 과정을 자동화해줄 필요가 있겠네요. 즉, 사용자 관점에서는 두 번 로긴해야 할 것 같아요. 조금 친절하게... 프럼프트를 달리해서 사용자에게 알려줄 필요가 있겠네요. 이슈 파일의 내용을 보여준다거나.
하나의 과정으로 통합할 수도 있겠지만, 다른 문제가 겹쳐서 번거로운... 배보다 배꼽이 더 커지는 경우가 될 수 있으니... 두 번 로긴하는 것이 더 좋을 것 같아요. 다음으로...
"여러명의 이용자가 Server의 동일 account로 접속해서 사용하는데"는 그 이유가 있을 것 입니다. 예를 들어, 어떤 프로그램을 사용하려 한다는 이유라면... 이렇게 시스템을 꾸미면 그 프로그램의 경로가 기반 시스템과 chroot 된 하위 시스템 사이에 달라질거에요. 물론, 이 프로그램은 chroot 된 하위 시스템에 있어야 되고요. 기반 시스템에서는 그 하위 시스템까지 가는 경로를... 포함시켜 그 프로그램의 경로라고 해야 될 것이고요.
일단, OpenSSH 는 시스템 계정이 있어야 한다고 합니다. https://superuser.com/questions/1080616/openssh-with-virtual-users-and-chroot 상용의... 그러니까 시험삼아서는 30일간만 쓸 수 있는 서버들 중에는 virtual users 란 말이 들어간 놈들도 있는 것 같데요. https://www.vandyke.com/products/vshell/index.html 나 https://www.bitvise.com/
보통의 시스템 계정이 아닌 방법, 그러니까 LDAP 으로 사용자를 관리하는 방법 https://tldp.org/HOWTO/LDAP-HOWTO/ 을 생각해 볼 수도 있을 것 같네요. 그런 환경에서 ssh 로 시스템에 원격 로그인 할 수 도 있겠죠. https://www.cyberciti.biz/tips/howto-configure-sshd-to-use-openldap-server.html 나 https://serverfault.com/questions/653792/ssh-key-authentication-using-ldap 하지만, 이런 방법은 어쩌면 배보다 배꼽이 더 클 것 같고요.
ssh server 접속은 bash 접속을 의미하는 것 이었습니다.
( 여러명의 이용자가 Server의 동일 account로 접속해서 사용하는데, 여러 이용자별 접속 log, 작업 log 관리를 위함입니다. )
bitvise.com은 윈도우 base 라서 후보에서 제외 되었습니다.
LDAP은 생각지 못했던 부분이었습니다. 가능한 부분일지 검토해 봐야겠습니다.
혹시 괜찮은 방법을 찾게 되면 공유하도록 하겠습니다.
감사합니다.
두 가지가 생각났습니다. 일단, 사용자가 내리는 명령을 모두 로그로 기록하는 법. https://confluence.atlassian.com/confkb/how-to-enable-command-line-audit-logging-in-linux-956166545.html 와 https://serverfault.com/questions/336217/how-do-i-log-every-command-executed-by-a-user 그리고....
특정 사용자에게 chroot jail 된 환경을 제공하는 것. https://askubuntu.com/questions/93411/simple-easy-way-to-jail-users 이 환경은 chroot 된 별도의 시스템을 구축하는 것 입니다. 특정 사용자, 예를 들어 guest 라는 사용자가 ssh 로 로긴하면 그 사용자가 보는 시스템은 이 별도의 시스템입니다. 이 별도의 시스템에 패스워드 파일이 필요하다면 패스워드 파일을 둘 수 있겠죠. 사용자가 su 나 sudo 를 쓸 수 있도록요. 심지어... login 이라는 명령을 사용할 수도 있을 것이고요. 그런데, chroot 된 환경이기 때문에 기존 시스템의 패스워드 파일과 달라도 됩니다^^.
사용자 관점에서는...
우선 시스템에 guest 란 공통 사용자로 로긴해야 합니다. 이걸 시스템에서 chroot jail 로 환경을 제약하게 되고요. guest 란 시스템 사용자로 로긴한 다음, chroot 된 별도의 시스템에서는 어떤 사용자로 쓸 것인가를 묻는 과정을 자동화해줄 필요가 있겠네요. 즉, 사용자 관점에서는 두 번 로긴해야 할 것 같아요. 조금 친절하게... 프럼프트를 달리해서 사용자에게 알려줄 필요가 있겠네요. 이슈 파일의 내용을 보여준다거나.
하나의 과정으로 통합할 수도 있겠지만, 다른 문제가 겹쳐서 번거로운... 배보다 배꼽이 더 커지는 경우가 될 수 있으니... 두 번 로긴하는 것이 더 좋을 것 같아요. 다음으로...
"여러명의 이용자가 Server의 동일 account로 접속해서 사용하는데"는 그 이유가 있을 것 입니다. 예를 들어, 어떤 프로그램을 사용하려 한다는 이유라면... 이렇게 시스템을 꾸미면 그 프로그램의 경로가 기반 시스템과 chroot 된 하위 시스템 사이에 달라질거에요. 물론, 이 프로그램은 chroot 된 하위 시스템에 있어야 되고요. 기반 시스템에서는 그 하위 시스템까지 가는 경로를... 포함시켜 그 프로그램의 경로라고 해야 될 것이고요.