새로운 vsftpd 사용자를 생성하고 홈 / 로그인 디렉토리에 고정 (지정) 디렉토리에 임시 및 제한된 액세스 권한을

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사용자를 지정된 홈 디렉토리로 제한 한다는 의미입니다.

다시 말해 (참고로) :-

  1. 기본적으로 파일의 사용자를 제외한 모든 사용자가 chroot됩니다.
    • chroot_local_user = YES
    • chroot_list_enable = YES
  2. 기본적으로 파일의 사용자 만 chroot됩니다.
    • chroot_local_user = NO
    • chroot_list_enable = YES

답변

나를 위해 위의 후에도 작동하지 않았습니다. local_root가 이미 디렉토리로 설정되어 있으며 내가 무엇을 하든지 사용자의 디렉토리가 감옥에 없습니다. 마지막으로 변경된 후에 만 ​​작동합니다.

chroot_local_user = YES

그리고 다음 절차

  1. vi /etc/vsftpd.conf
  2. ‘user_config_dir = / etc / vsftpd_user_conf’줄을 추가하십시오 (따옴표 제외).
  3. mkdir / etc / vsftpd_user_conf;
  4. cd / etc / vsftpd_user_conf
  5. vi user_name;
  6. ‘local_root = / srv / ftp / user_name’줄을 입력하십시오

다른 사람이 같은 문제를 겪고 있다면 내 2 센트.


답변