서버

리눅스 사용자 sftp 권한 설정하기 / sftp 다수 사용자

YUHWA 2023. 5. 12. 17:28

ssh는 접속이 불가능하고 sftp만 가능한 계정을 만들고 싶다.

일단 sftp 그룹에다가 sftp 계정들 묶어놓아야겠다.

왜냐고? 그냥 내맘 나중에 sftp 계정들 그룹으로 묶어서 한번에 관리 하고 싶을 수도 있어서..? 

 

TODO

1. 홈 디렉터리로 사용할 폴더를 만든다. -> root 권한 

2. 사용자를 생성한다.

3. 사용자가 사용할 폴더를 홈 디렉터리 내부에 만든다. -> 사용자 권한 

4. 사용자 sftp 권한 설정한다.


1. 홈디렉터리로 사용할 폴더 생성

/home/sftp

2. 그룹 생성

groupadd sftp

 

3. 사용자 생성

useradd -s /sbin/nologin -G sftp test1

useradd -s /sbin/nologin -G sftp test2

 

cat /etc/passwd로 조회했는데 

/home/test1:/sbin/nologin 으로 나오네...

/sftp로 바꿔줌..하하..

 

4. 소유자 폴더 생성

mkdir test1

mkdir test2

chown test1:sftp test1

chown test1:sftp test2

chmod 711 test1 

chmod 711 test2 

 

5. ssh 설정파일 설정 : /etc/ssh/sshd_config

#User 단위로 설정할 경우 추가
Match User [사용자명]
ChrootDirectory [홈디렉토리경로]
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

 

#group 단위로 설정할 경우 추가

Match group [그룹명]

ChrootDirectory [홈디렉토리경로]
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

 

6. 저장 후 ssh 재시작 

systemctl restart sshd

 

7. 파일질라로 접근해보기

test2 계정으로 sftp 접근 하면 /home/sftp폴더가 홈디렉토리로 보인다 

test2 폴더에만 접근 가능하고 test1은 권한 없음으로 실패 

 

sftp:// 를 빼고 그냥 ssh 접근하려고 시도하면? 안들어가짐 

 

우왕 굳,,