좋은 튜토리얼을 따랐습니다https://askubuntu.com/questions/575523/how-to-setup-virtual-users-for-vsftpd-with-access-to-a-특이적-sub-directory
이제 이해하면 두 가지가 있습니다.
1) 한 명은 다음과 같은 유일한 사용자입니다.vsftpd
vsftpd 서비스의 전용 사용자로 활동
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
폴더에 쓰기가 가능합니다.