OS 환경 : CentOS 7.x
1. 문제점
vsftpd 로 운영중인 FTP서버에 500 OOPS: vsftpd: refusing to run with writable root inside chroot() 오류가 나는 경우가 있다. 이럴 경우 어떻게 처리해야될까?
2. 해결방법
이는 특정 사용자에게 chroot를 적용시켜놓은 경우, 사용자의 홈디렉토리에 쓰기(ftp사용자에 대하여)권한이 주어진 경우 발생한다.
보안상 chroot가 적용된 디렉토리에는 사용자가 임의로 쓰는 것이 금지된다. 그러면 접속식 위와 같은 오류가 발생한다. 해결법은 사용자의 홈디렉토리에 쓰기권한을 제거하고 그 안에 루트가 폴더를 만들어주면 그 폴더에 접근하여 사용자가 읽고 쓰기를 할 수 있다.
그러나 개인용도로 나만 쓴다고 할 때 다음과 같이 vsftpd 설정파일에 추가해 주면, chroot가 적용된 루트 디렉토리에도 쓰기가 가능해진다.
일반적으로 /etc/vsftpd/vsftpd.conf 파일인데, 이파일을 열어서
아래내용을 추가해준다.
allow_writeable_chroot=YES