vsftpd의 ftp 서버 로그인으로 푹 빠진 이벤트

3358 단어 Linuxftpvsftpd

개요


· VPN을 통해 사내 파일 서버에 파일을 업로드할 생각
・ vsftpd를 설치하여 업로드용 계정을 만들었습니다
• 통신을 시도했지만 500OPS 오류가 발생하여 전혀 통신할 수 없음
• 이 오류로 구글이 진행되면 SELinux 설정을 하면 됩니다
· 하지만 SELinux는 disabled 상태여서 아무 의미 없이 반했다
• 해외 사이트에서 많이 조사한 결과 카탈로그 권한에 의한
· ftp에 파일 목록 (부모 포함) 을 777로 설정하고 개통

복습~카탈로그 위주 카탈로그 이외의 방법~


mkdir 1

$sudo mkdir /etc/vsftpd/

mkdir 2

$sudo mkdir user_conf
몇 개의 파일을 넣어야 하기 때문에, 전용 디렉터리를 etc 아래로 잘라라.
참고로 mkdir가 생성한 디렉터리의 권한은drwxr-xr-x(755)
겸사겸사 말씀드리겠습니다.conf 디렉터리를 끊는 것은 후술한 다른 사용자의 루트 디렉터리를 바꾸기 위해서입니다.

vsftpd.conf

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
seccomp_sandbox=NO
pasv_enable=YES
user_config_dir=/etc/vsftpd/user_conf

usename 파일

local_root=/drv2/dir1/dir2/
user_conf 디렉터리에서 터치나vi로 파일을 만들고 그중에서local기술근.이 때 파일 이름에 확장자를 붙이지 마십시오. 요점은 파일 이름을 ftp에 로그인할 수 있는 사용자 이름과 같은 파일 이름으로 설정하는 것입니다

chroot_list

username
vsftpd.conf에서 chrootlocal_user=NO, chroot 때문에list에 적힌 사용자는 대상 디렉터리 이외의 디렉터리를 열람할 수 없습니다. →ffftp를 사용하면 대상 디렉터리의 등급 이상을 표시할 수 없습니다.

/home/

mkdir username
그게 포인트야.vsftpd에서 홈 디렉터리 아래의 사용자 이름 디렉터리를 먼저 참고하지 않으면local참조 루트가 없는 것 같습니다.나 이거 몰라, 처음부터 반했어.
일반적인 linux에서는 사용자 이름의 디렉터리가/홈 아래에 있기 때문에 의식하지 못합니다.

권한 정리


대상 디렉토리
사용 권한
경과 목록
사용 권한
/drv2
drwxr-r-x(755)
/home/username/
drwxr-r-x(755)
/drv2/dir1
drwxr-r-x(755)
-
-
/drv2/dir1/dir2
drwxr-r-x(755)
-
-

그런 다음 오류가 발생했습니다.



위 설정을 통해 ftp 연결 후
500 OOPS: cannot change directory:/drv2/dir1/dir2
이런 느낌이 틀렸다.
Linux(CentOS 6) - FTP 연결 시 오류 "500OPS:cannot change directory" "500OPS:priv sock get cmd" 원인 및 해결 방법
vsftpd 서버에 연결할 수 없을 때
등이 참고로 원래 SELinux는 Disabled이기 때문에 의미가 없다.

결과


미션은 777이면 돼요!
대상 디렉토리
사용 권한
경과 목록
사용 권한
/drv2
drwxrwrwx(777)
/home/username/
drwxr-r-x(755)
/drv2/dir1
drwxrwrwx(777)
-
-
/drv2/dir1/dir2
drwxrwrwx(777)
-
-

훗날 이야기하다


잘 조사해 봤더니 있네.
FTP 서버 설정
local_umask=022 (기본값) 설정에 따라 디렉터리 권한이 777이 아니면 통과할 수 없습니다.
이렇게 한나절이 걸렸는데...투호호

좋은 웹페이지 즐겨찾기