vsftpd에는 가상 사용자 및 독립적인 디렉터리 구성이 있습니다.

vsftpd에는 가상 사용자 및 독립적인 디렉터리 구성이 있습니다.

좋은 튜토리얼을 따랐습니다https://askubuntu.com/questions/575523/how-to-setup-virtual-users-for-vsftpd-with-access-to-a-특이적-sub-directory

이제 이해하면 두 가지가 있습니다.

1) 한 명은 다음과 같은 유일한 사용자입니다.vsftpdvsftpd 서비스의 전용 사용자로 활동

2) 아래에서 사용자별 구성을 생성하는 기능입니다./etc/vsftpd_user_conf/폴더

그래서 내가 가질 수 있어요/etc/vsftpd_user_conf/user1파일에는 다음이 포함될 수 있습니다.

local_root=/var/www/website_name1/sub_folder1

/etc/vsftpd_user_conf/user2구체적으로

local_root=/var/www/website_name1/sub_folder2

등..


이 설정을 사용하면 루트 디렉터리에 홈 폴더나 하위 폴더를 설정하고 chmod vsftpd:nogroup 및 일반적인 777, 775 또는 664 공용 속성을 할당하거나 할당하지 않음으로써 쓰기 가능하게 만들 수 있습니다.


하지만 저는 좀 더 복잡한 설정을 만들고 싶습니다.

폴더를 만들고 싶습니다.

/var/ftp_users/

그리고

/var/ftp_users/boss
/var/ftp_users/employee1
/var/ftp_users/employee2
/var/ftp_users/employee3
...

접근 가능하고 쓰기 가능하게 하려면 다음을 수행해야 합니다.

chmod vsftpd:nogroup /var/ftp_users/boss
chmod vsftpd:nogroup /var/ftp_users/employee1
chmod vsftpd:nogroup /var/ftp_users/employee2
...

다음과 같이 로컬 루트를 설정합니다.

/etc/vsftpd_user_conf/employee1그리고 local_root=/var/ftp_users/employee1
/etc/vsftpd_user_conf/employee2그리고 local_root=/var/ftp_users/employee2
/etc/vsftpd_user_conf/employee3...local_root=/var/ftp_users/employee3

문제는 BOSS가 나에게 다음을 요구한다는 것입니다.

  • 모든 사람의 폴더를 읽어서 다른 사용자가 무엇을 하고 있는지 볼 수 있는 능력. 내 생각은 그에게주는 것입니다local_root=/var/ftp_users

  • 하지만 - 저는 상사가 다른 폴더가 아닌 다른 폴더만 작성/수정할 수 있고 /var/ftp_users/boss, 새 폴더를 만들거나 그 안에 있는 폴더를 삭제할 수 있기를 바랍니다!

local_root=/var/ftp_users사용자 상사가 쓰기 권한을 가지고 있지만 으로 제한된 이 설정에서 이것이 어떻게 가능합니까 /var/ftp_users/boss?

내부에 수동으로 심볼릭 링크를 만드는 것도 고려했습니다.

ln /var/ftp_users/employee1 /var/ftp_users/boss/employee1

그리고

chmod -h 0444 /var/ftp_users/boss/employee1

하지만 이 방법은 제대로 작동하지 않습니다.

Apache, nginx 등에 지정된 Windows 권한이나 지시어를 사용하는 데 익숙해서 vsftpd 구성에 대해 약간 혼란스럽습니다. 일반적인 상황에서는 다음과 같이 설정합니다./var/ftp_users/루트는 쓸 수 없으며 쓰기만 가능합니다./var/ftp_users/boss폴더에 쓰기가 가능합니다.

관련 정보