vsftp는 로컬 네트워크 외부에 업로드할 때 chmod 설정을 존중하지 않습니다.

vsftp는 로컬 네트워크 외부에 업로드할 때 chmod 설정을 존중하지 않습니다.

에야디야! 내 Linux 상자에 FTP 서버가 있고 다음과 같은 규칙이 설정되어 있습니다. 그룹과 소유자를 유지하고 775로 chmod합니다. 집(192.168.xx)에서 사용할 때는 문제가 없으며 파일은 그룹 및 사용자 소유자와 chmod@775를 유지하지만 외부에서 사용할 때는(예를 들어 직장에서 filezilla 휴대용 클라이언트를 사용합니다) ftp (집에서 사용하는) 연결이 실패하고 sftp를 사용해야 하며 업로드된 파일은 좋은 그룹과 소유자에 속하지만 권한이 755입니다(서버는 파일을 775로 chmod하도록 구성되어 있습니다)... 그리고 할 수 있습니다 디렉토리를 생성하지 않습니다(물론 집에서 작업할 때 서버는 디렉토리 생성을 허용하도록 구성되어 있습니다).

vsftpd.conf:

listen=YES
connect_from_port_20=YES
use_localtime=YES
xferlog_enable=YES
dirmessage_enable=YES
ftpd_banner=myftp.

anonymous_enable=NO
local_enable=YES
write_enable=YES
nopriv_user=publichttp
secure_chroot_dir=/var/run/vsftpd/empty

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list #empty file
allow_writeable_chroot=YES

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_umask=002
file_open_mode=0777

이것을 본 모든 분들께 감사드립니다.

답변1

어쩌면 당신은 이것을 간과했을 수도 있습니다.vsftpd.conf(5)):

anon_umask
익명 사용자가 설정한 파일에 대한 umask 값을 만듭니다. 노트! 8진수 값을 지정하려면 "0" 접두사를 기억하세요. 그렇지 않으면 값이 기본 10 정수로 처리됩니다!

Default: 077 

관련 정보