내가 한 일에 대한 간단한 설명은 다음과 같습니다.
나는 그의 홈 디렉토리에 가둔 chroot 사용자(사용자 이름: clientdev)가 있습니다. 이 chroot 디렉토리는 /home/clientdev/이며 루트가 소유합니다.
이제 /mnt/datadrive/tomcat/webapps 아래에 있는 tomcat 웹 애플리케이션 폴더에 액세스하려면 이 clientdev 사용자가 필요합니다.
내가 한 일은 다음과 같습니다.
- 사용자의 공개 키를 사용하여 사용자를 홈 디렉터리로 루트합니다.
- /home/clientdev 아래에 tomcat_ROOT라는 폴더를 생성하고 clientdev에 소유권을 부여합니다.
이제 명령을 실행하면 다음과 같습니다.
mount --bind /mnt/datadrive/tomcat/webapps /home/clientdev/tomcat_ROOT
/home/clientdev
clientdev를 사용하여 로그인하면 내부 디렉터리 목록에서 해당 폴더가 사라집니다. 내 루트 사용자는 이를 볼 수 있지만 필수 사용자는 볼 수 없습니다.
출력 ls -l /home/clientdev/tomcat_ROOT
:
drwxr-xr-x. 6 root root 4096 Apr 11 15:07 .
drwxrwxr-x. 12 root root 4096 Apr 11 15:07 ..
drwxr-xr-x. 3 root root 4096 Apr 9 22:10 webapp1
drwxr-xr-x. 4 root root 4096 Mar 18 18:43 webapp2
drwxr-xr-x. 3 root root 4096 Apr 9 22:11 webapp3
drwxrwxr-x. 10 root root 4096 Apr 11 15:20 ROOT
출력 ls -l /home/clientdev/
:
drwx------. 4 clientdev clientdev 4096 Apr 10 21:36 .
drwxr-xr-x. 7 root root 4096 Apr 10 22:07 ..
-rw-------. 1 clientdev clientdev 664 Apr 10 21:43 .bash_history
-rw-r--r--. 1 clientdev clientdev 18 Apr 23 2012 .bash_logout
-rw-r--r--. 1 clientdev clientdev 176 Apr 23 2012 .bash_profile
-rw-r--r--. 1 clientdev clientdev 124 Apr 23 2012 .bashrc
drwx------. 2 clientdev clientdev 4096 Apr 10 19:20 .ssh
drwxr-xr-x. 2 clientdev clientdev 4096 Apr 10 21:34 tomcat_ROOT
제가 겪고 있는 문제는 투옥된 사용자가 wincp를 사용하여 서버에 연결할 때 마운트된 폴더를 볼 수 없다는 것입니다.