vsftp가 설치된 CentOS Linux 서버의 다양한 디렉토리에 임시 및 제한된 액세스 권한을 주기적으로 제공해야합니다.
를 사용하여 사용자를 useradd [user_name]
만들고을 사용하여 비밀번호를 제공했습니다 passwd [password]
.
디렉토리를 만든 /var/ftp
다음 액세스를 제한하려는 디렉토리에 바인딩합니다.
이 사용자가 FTP에 로그인 할 때이 디렉토리에만 액세스 할 수 있도록하려면 어떻게해야합니까?
답변
단계별 연습을 거친 다른 사람들을 위해 내 질문을 해결 한 완전한 대답 …
이것을 안내서로vsftpd
사용하여 설치하십시오 .
- 로 사용자를 만듭니다
useradd [user_name]
. - 로 사용자 비밀번호를 만듭니다
passwd [user_name]
. (암호를 지정하라는 메시지가 표시됩니다). - 에 FTP 디렉토리
/var/ftp
를 작성한 다음이 사용자에 대해 지정하려는 ‘home’디렉토리에 바인드하십시오mount --bind /var/www/vhosts/domain.com/ /var/ftp/custom_name/
. -
로 사용자의 홈 디렉토리 변경
usermod -d /var/ftp/custom_name/ user_name
에서
/etc/vsftpd/vsftpd.conf
, 모든 다음의 모든 보장이 설정됩니다 : –- chroot_local_user = YES
- chroot_list_enable = YES
- chroot_list_file = / etc / vsftpd.chroot_list
vsftpd.chroot_list
서버의 모든 위치에 대한 전체 액세스 권한을 가지려면 파일의 사용자 만 나열 하십시오. 이 파일에 이들을 나열하지 않으면 모든 vsftpd
사용자를 지정된 홈 디렉토리로 제한 한다는 의미입니다.
다시 말해 (참고로) :-
- 기본적으로 파일의 사용자를 제외한 모든 사용자가 chroot됩니다.
- chroot_local_user = YES
- chroot_list_enable = YES
- 기본적으로 파일의 사용자 만 chroot됩니다.
- chroot_local_user = NO
- chroot_list_enable = YES
답변
나를 위해 위의 후에도 작동하지 않았습니다. local_root가 이미 디렉토리로 설정되어 있으며 내가 무엇을 하든지 사용자의 디렉토리가 감옥에 없습니다. 마지막으로 변경된 후에 만 작동합니다.
chroot_local_user = YES
그리고 다음 절차
- vi /etc/vsftpd.conf
- ‘user_config_dir = / etc / vsftpd_user_conf’줄을 추가하십시오 (따옴표 제외).
- mkdir / etc / vsftpd_user_conf;
- cd / etc / vsftpd_user_conf
- vi user_name;
- ‘local_root = / srv / ftp / user_name’줄을 입력하십시오
다른 사람이 같은 문제를 겪고 있다면 내 2 센트.