Oracle Linux 6.5의 공유 폴더를 사용한 VSFTPD 구성

Oracle Linux 6.5의 공유 폴더를 사용한 VSFTPD 구성

모든 사용자가 루트로 지정되었지만 여전히 중앙 FTP 디렉터리가 필요하기 때문에 각 사용자가 PublicFTP 디렉터리를 갖도록 VSFTPD를 구성하려고 합니다. 각 로컬 시스템 사용자에게 이 디렉터리를 생성하고 "개발자" 그룹 소유권을 사용하여 공유 디렉터리를 생성한 /var/www/public_ftp후 775로 chmodd했습니다. 다음 단계는 /etc/fstab서버와 vsftpd 서비스를 다시 시작하는 것이었습니다.

개발자 그룹의 사용자에게 로그인하여 PublicFTP 디렉터리에 파일을 생성하면 /var/www/public_ftp다른 사용자의 PublicFTP 디렉터리에 있는 것처럼 파일이 생성되어 나타납니다. 이제 FTP를 통해 로그인하여 PublicFTP 폴더에 파일을 업로드하려고 하면 권한 거부 메시지가 표시됩니다.

drwxrwxr-x.  2 root    Developers 4096 Mar 28 10:49 PublicFTP    /home/<user>/PublicFTP
drwxrwxr-x.  2 root    Developers 4096 Mar 28 10:49 public_ftp   /var/www/public_ftp

groupmems -g 개발자 --list > 목록에 .

/etc/vsftpd/vsftpd.conf:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_anble=YES
tcp_wrappers=YES
use_localtime=YES
chroot_local_user=YES
/etc/fstab:
/var/www/public_ftp    /home/<user>/PublicFTP    none    bind    0 0

예시 시나리오

  1. 서버에 로그인하고 파일을 터치합니다.

    $ cd /home/<user>/PublicFTP
    $ touch Hi.txt
    $ ls -la
    -rw-r--r--.  1 <user> users 0 Mar 28 11:05 Hi.txt
    
  2. 서버 측에서 확인하세요.

    $ cd /var/www/public_ftp
    $ ls -la
    -rw-r--r--.  1 <user> users 0 Mar 28 11:05 Hi.txt
    
  3. 클라이언트 컴퓨터에서 일부 FTP 애플리케이션을 열고 FTP 서버에 연결한 후 로그인하세요.

  4. 비어 있는 PublicFTP 디렉토리로 이동합니다. 서버에서 명확하게 볼 수 있기 때문에 재미있습니다.

  5. 파일을 복사해 보세요. FTP 서버에 파일을 복사하는 동안 오류가 발생했습니다. 서버에 파일을 넣을 수 있는 권한이 있는지 확인하세요.

    Details:
    200 Switching to binary mode.
    227 Entering Passive mode (10,232,118,108,90,133).
    553 Could not create file.
    
  6. 로그 파일 내용:

    Mon Mar 31 09:52:07 2014 [pid 17629] [<user>] OK LOGIN: Client "xxx.xxx.xxx.xxx"
    Mon Mar 31 09:52:07 2014 [pid 17634] [<user>] FAIL DELETE: Client "xxx.xxx.xxx.xxx", "/PublicFTP/proxy.txt"
    

관련 정보