2008.05.20 20:43
# 여기서는 proftp를 사용한다고 가정합니다.
보통 adduser로 유저를 생성하게 되면, ssh접속권한과 ftp접속 권한을 모두 가지게 된다.
이때 서버를 잘 모르는 사람에게는 ssh(서버에 접속할수 있는 권한)은 주지 않고, ftp만 접속할수 있게끔 설정을 해주는것이 보안에 유리하다.
다음과 같은 방법으로 한다.
1. adduser로 계정을 생성한다.
2. 후에 /etc/passwd 파일에서 해당 계정의 사용쉘을 다음과 같이 해준다.
photosell:x:504:504::/home/photosell:/bin/noshell
저장하고 나와서 빈쉘을 만든다.
3. #touch /bin/noshell
4. #chmod 755 /bin/noshell
5. 그리고 proftp의 설정파일에서
DefaultRoot ~ !groupname
옵션의 주석을 풀어준다. 해당 계정은 자신이 / 이므로 더이상 위로 올라가지 못하도록 하는것이다.
그리고 다음과 같은 옵션이 off로 되어있는지 확인한다.
6. RequireValidShell off
그리고 나서
7. vi /etc/shells (현재 사용가능한 쉘들이 나열되어있다. - 이파일안에 있는 쉘들만이 접속을 할수가 있다.)
8. shells 파일안에 noshell이란 쉘을 등록시켜 주게 되면 된다.
(직접 쉘 생성 외에도 shells파일에 있는 /sbin/nologin 으로 변경해줘도 된다.)
그렇게 되면 ssh로 접속을 하게되면 패스워드가 틀렸다고 나오며, ftp로 접속시에는 정상 접속이 가능하게 된다.