점점 나의 블로그는 리마인더용이 되어가는듯 하지만 여튼..
연구실 ftp로 과제를 받는데, 학생들이 업로드만 가능하고 다운로드는 안되게 등등
설정 바꾸려고 한다.. 맨날 까먹어서 다시 하는김에 써놓음.
1. 설치
$apt-get install vsftpd
하면 끝...
2. 계정 추가
ftp에 접속할 때 쓸 계정을 만들자
나는 학생들이 접속할거니까.. student로 만듦
$adduser student
이렇게 하면 비번 및 사용자 정보 치라고 하는데 다 쳐주면 된다
3. 기본 설정 변경
/etc/vsftpd.conf 를 열면, 여러 설정들이 보이는데
- anonymous_enable=NO 익명접근 허용 안함
- local_enable=YES 계정 접속 활성화
- write_enable=YES 쓰기 활성화
- chroot_local_user=YES 루트 탐색 금지시킨것
- chroot_list_enable=YES 루트 탐색할수 있는 계정 리스트 허용
로 바꿔준다. YES, NO는 대문자로 써야한다.
(*참고로, 루트 계정을 탐색할수 있는 계정 리스트 만들기
vsftpd.chroot_list 라는 파일을 만든 뒤 안에 계정이름을 걍 적어준다 (엔터구분)
그런 뒤에, chroot_list_file=/etc/vsftpd.chroot_list 로 설정파일 바꿔주면 됨)
4. 추가 설정 변경- 세부 ftp 권한 설정
/etc/ 안에 vsftpd_user_conf 라는 폴더를 만들어 준다.
그 안에 권한을 조정하고자 하는 계정의 이름으로 파일을 하나 만들어줌
(ex) /etc/vsftpd_user_conf/student )
여기에 추가되는 설정들은 /etc/vsftpd.conf 보다 우선한다.
1) 나는, student가 접속했을 때 다른 폴더로 접속하게 만들고 싶으므로,
- local_root=/home/username/ftp
라고 추가하였고
2) 과제 제출을 위한 ftp이므로 세부 퍼미션 설정을 해줘야한다.
cmds_allowed=LIST,CWD,STOR,QUIT,PASS,PASV,PWD,ACCT,USER,STAT,NOOP,PORT,NLIST,SITE,ABOR,SYST,TYPE,STRU
뭐,, 난 이렇게 추가하였다.
LIST, CWD와 같은 것들은 raw ftp 명령어들인데, 허용하고자 하는 것만 써주면 된다.
참고로 저 위에 내가 써놓은 건 업로드만 가능하고 아무것도 못하는 설정이다.. 노가다 ㅠㅡ
ftp 명령어들은 포스트 아래에 첨부하였다.
3) 그 다음, /etc/vsftpd.conf 를 열어서
- user_config_dir=/etc/vsftpd_user_conf
를 추가해 준다
5. ftp 재시작
$sudo service vsftpd restart
이제 접속해서 확인해보면 된다.
6. 참고(Raw Ftp 명령어들)
7. 추가하면, 과제제출을 받을때는 폴더 권한을 chmod 777로 해놓고,
마감하면 755로 바꿔 더 이상 업로드가 되지 않게 하였다.
이런식으로 매 주 과제를 관리했었음
댓글남기기