Virtual File System (VFS)

ioFTPD에서 제공 하는 VFS는 기존의 FTP 서버보다 강력하고 유연한 환경을 제공 합니다.

유저별, 그룹별로 VFS를 다르게 지정할 수 있으며 세팅또한 VFS화일을 수정하는 것만으로 쉽게 세팅할 수 있습니다.

VFS설정 화일은 ..\etc폴더에 위치하며 샘플화일로 들어있는 default.vfs, admin.vfs화일을 수정해서 사용하시면 됩니다.



기본적인 VFS 세팅

제일 먼저 root 를 마운트 합니다. 기존에 존재하는 빈폴더를 지정하시면 됩니다.

"c:\ioFTPD\site" /

기존에 ..\site에 존재하는 샘플 폴더들은 지우셔도 무방합니다.

root를 올바르게 세팅한후 이제 다른 섹션을 마운트 합니다.

"c:\ioFTPD\site" /
"d:\games" /games
"e:\mp3" /mp3

default.vfs화일을 간단히 수정하는 것만으로 쉽게 root (/) 밑에 여러 섹션을 마운트 할 수 있습니다.


존재하는 폴더아래 Mount


c:\ioFTPD\site\mnt 와 같이 mnt폴더가 존재할때

"c:\ioFTPD\site" /
"c:\" /mnt/c-drive
"d:\" /mnt/d-drive
"e:\" /mnt/cdrom
"d:\games" /games
"d:\dox" /games/dox


하나의 섹션에 두 폴더 Mount


"d:\dir1" /archive
"e:\dir2" /archive


user, group별로 VFS별도로 지정

user또는 group별로 각기 다른 VFS화일을 지정 할 수 있습니다.

site change <user> vfsfile ..\etc\custom.vfs
site change <group> groupvfsfile ..\etc\group1.vfs


Private 경로

Private 경로 설정시 마지막은 '/'로 끝나야 합니다.

# Private = <path> <rights>

Private = /private/xpg -xpg<-- 잘못된 세팅
Private = /private/xpg/ -xpg<-- 올바른 세팅

접근가능한 권한 설정시 user는 '-user' group은 '=group' 또는 flag을 사용 할 수 있습니다.

[VFS]
...
Private = /private/ =ioftpd
Private = /private/xpg/ -user1 -user2 V =group


ioFTPD.ini화일의 VFS 부분

VFS Array 세팅시 경로 마지막은 '/*' 으로 끝나야 합니다.
경로와 권한사이는 꼭 SPACE로 간격을 띄우셔야 합니다. TAB(X)

[VFS]
###
# 섹션별 세부권한 설정
#
# priviledge = <virtual path> <rights>
#
Upload = * *
Resume = * *
Download = * *
MakeDir = * *
RemoveDir = * *
RemoveOwnDir = * *
Rename = * 1VM
RenameOwn = * *
Overwrite = * VM
Delete = * 1VM
DeleteOwn = * *
NoStats = * !*



예:
# mp3 폴더안에 GuestGroup구성원을 제외한 모든 user는 폴더 생성및 업로드를 할 수 있습니다.
# mp3 폴더를 제외한 나머지 폴더는 모든 user가 폴더 생성및 업로드를 할 수 있습니다.
#
MakeDir = /mp3/* !=GuestGroup *
MakeDir = * *
Upload = /mp3/* !=GuestGroup *
Upload = * *