VSFTP를 가상유저 설정하여 사용하는 방법 기술.
FTP 계정을 생성하고 SSH접근을 막는다.
해당 FTP 계정들은 FTP로 접속하여 웹소스파일을 수정할 수 있도록 권한을 수정한다.
● selinux를 중지
vi /etc/sysconfi/selinux
enforcing -> disabled
● 필요 패키지 설치
yum install vsftpd db4-utils
● 아래 링크에서 파일 다운(임의로 vsftp라는 폴더 생성한뒤 그 아래 복사하였음)
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
vsftpd_virtual_config.sh - 기본 config 설정
vsftpd_virtualuser_add.sh - user 생성
vsftpd_virtualuser_info.sh - user 정보 확인
vsftpd_virtualuser_remove.sh - user 삭제
vsftpd_virtualuser_update.sh - user 정보 업데이트
● 스크립트 실행권한 변경
chmod -R 755 vsftp/
● 기본 config 스크립트 실행(vsftpd.conf를 변경해준다.)
./vsftpd_virtual_config.sh
● 가상계정 생성
- username, password, comment는 각자 설정하고 Account disabled는 Y를 선택해야 ssh접속을 막을수 있다.
./vsftpd_virtualuser_add.sh
● 가상계정 기본 설정
- 아래 경로로 가면 위에서 생성한 계정파일이 보이고 기본 설정예제 파일(my_ftp_virtual_user)도 보인다.
cd /etc/vsftpd/user
- my_ftp_virtual_user를 참고하여 계정을 수정해준다.
dirlist_enable=YES
download_enable=YES
local_root=계정의 root 디렉토리 지정
write_enable=YES
● 가상계정 root 그룹 추가
usermod -a -G root 위에서 생성한 계정
● root 그룹 추가 확인
- 맨위 root에 해당 계정이 포함되어 있으면 정상적으로 추가된것이다.
cat /etc/group
- /etc/passwd에서 그룹변경
- 해당 계정을 찾은뒤 앞의 숫자를 0으로 변경
- 보통 계정:x:500:500~~이런식으로 되어있는데 앞의 500을 0으로 수정
vi /etc/passwd
● 자 이제 FTP프로그램을 이용하여 해당 계정이 정상적으로 접속되는지 확인하고
EditPlus같은 프로그램을 사용하면 바로 폴더 및 파일 생성, 수정이 되는지 확인해본다.
초 간단하지 않은가.....
● 덧붙여서 말하자면 로그인 권한이 없는 계정을 생성하여 FTP를 사용할 수 있게 해주는것이다.
로그인 권한이 없는 계정을 생성하는 방법은 아래와 같다.
- 계정 생성
useradd -s /sbin/nologin 계정이름
- 패스워드 설정
passwd 계정이름
- sshd_config 수정
vi /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server -> Subsystem sftp internal-sftp
- ssh 데몬 재실행
service sshd restart