리눅스 환경
CentOS 7.6
vsftpd 설정 중 생각지 못한 설정들이 있어서 다시 정리 합니다.
selinux disabled 설정
# vi /etc/selinux/config
SELINUX=disabled
vsftpd 설치
# yum install -y vsftpd
기본 보안 설정
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
chroot 설정 - 루트 상위 디렉토리 접근 차단
chroot_local_user=YES
chroot 가능한 리스트 설정
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
루트디렉토리에 쓰기 권한 추가
allow_writeable_chroot=YES
user_list에 등록된 리스트 허용
userlist_deny=NO
userlist 파일을 보면
userlist_deny=NO
설명이 있습니다.
그러나 설정파일(vsftpd.conf)에는 없는 내용이라 추가를 해줘야 합니다.
이렇게 설정하면
1. ftpusers -> 차단 목록
2. user_list -> 허용 목록
3. chroot 로 일반 유저는 상위 디렉토리 이동 불가
이정도 입니다.
vsftpd 실행
# systemctl start vsftpd
chroot로 제한된 일반 유저가 상위 디렉토리 사용할 수 있는 시나리오
ftp용 그룹을 생성 후 사용자를 그룹에 추가하여 진행 하겠습니다
그룹 생성
# groupadd -g 2000 ftp_test
그룹 ftp는 이미 있습니다. ftp를 사용하실거면 생성 단계없이 ftp를 사용하면 됩니다.
그룹에 유저 추가(유저 user1을 그룹 ftp_test에 추가)
# gpasswd -a user1 ftp_test
그룹에 유저 삭제(유저 user1을 그룹 ftp_test에서 삭제)
# gpasswd -d user1 ftp_test
수동으로 편집
# vi /etc/group
ftp_test:x:2000:user1,user2
그룹 확인
# grep ftp_test /etc/group
마운트용 디렉토리 생성
# mkdir /home/user1/t1
상위 디렉토리를 마운트
# mount --bind /home/1 /home/user1/t1
상위 디렉토리 권한 및 사용자 그룹 변경
# chmod 775 /home/1
혹은 770
# chown :ftp_test /home/1
파일질라를 통해 파일 업로드
user1를 ftp_test 그룹에 추가하여 ftp로 접속하여 파일 생성 및 삭제 확인하였습니다.
'System > CentOS | Ubuntu' 카테고리의 다른 글
[CentOS] LVM ext4 - 확장, 축소 (0) | 2021.04.13 |
---|---|
[CentOS] LVM ext4 - 초기 구성, 생성, 삭제 (0) | 2021.04.13 |
[CentOS 7] CPU, 메모리 사양 정보 확인 (0) | 2021.03.18 |
[CentOS 7] sshd 설정 (0) | 2021.03.17 |
[CentOS 7] iptables 로그 (0) | 2020.06.01 |