proftpd 계정설정
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~
요렇게 되어있습니다.
요넘이 뭐냐하면, 3번째 #을 떼버리시면, 사용자가 DefaultRoot 라는 곳에서 지정해준 디렉토리로밖에 이동을 못합니다.
예를 들어 , 개똥이라는 아이디로 로그인을 했다면, /home/개똥이 라는 디렉토리가
생성되죠? 그럼 DefaultRoot ~ 로 적어놓으면, 개똥이는 자기 홈디렉토리에서밖에
활동을 못합니다. (/home/개똥이)
절대경로도 정해줄수 있습니다.
예를 들어 /FTPserver 라는 디렉을 만드셨다면,
DefaultRoot /FTPserver 라고적어주시면, 모든 사용자는 저 디렉토리안에서
밖에 움직이지를 못합니다.
그밖의 다른 설명.............
> 홈페이지를 관리하는 계정을 별도로 두고 싶은데요?
> webmaster라는 계정을 가지고 ftp서버에 접속했을때 홈페이지가 올라가있는 폴더로 직접접속되게 설정하려면 어떻게 해야하나요? 홈페이지파일은 /var/www/html에 있습니다. 그러니까 ftp에 접속했을때 /var/www/html 폴더로 바로 접속되게할려구 합니다.
>
>
===========================================================
> 일단 유저를 추가하면 /home/user가 생성 됩니다.
> proftpd를 돌리고 계신다면,
> proftpd.conf 파일에서
> DefaultRoot ~
> 를 추가 하면 그 유저의 사용자 폴더가 루트로 보이게 됩니다.
> ex) 접속 했을 경우
> / = /home/user 디렉토리가 되는겨죠
여기서 말하는 ~ 의 뜻은 로그인한 사용자아이디를 말한다는 것입니다.
~ 라고 설정이 돼과 webmaster라는 아이디로 접속하면
ftp 루트폴더는
/ = /home/webmaster 라 나타나는것이죠.
> 아파치의 디폴트 디렉토리가 /var/www/html 은 루트 권한으로 가서
> 올려야 한다고 할까요? httpd.conf에서 DocumentRoot 를 /home/기본 폴더
> 로 지정하시는게 나을 거에요..
> 루트로 들어가고 싶으면
> RootLogin on 을 proftpd.conf에 넣어주시면 되구요
> ===========================================================
> 위와 같이 답변에서 DefaultRoot /var/www/html
> 이라고 주니깐 webmaster로 접속하니까 /var/www/html로 바로 접속은 되는데 쓰기가 않됩니다.
/var/www/html 폴더의 권한 설정을 보십시오.
당연히 root 권한 설정되어있습니다.
그러니 webmaster 라는 아이디로는 쓸수없습니다.
/var/www/html 폴더에 자료을 올리려면 위와 같이 root 로그인을 가능케 한후 ftp 접속하고 위에 /var/www/html 폴더로 이동후 올려도 됍니다.
또는 webmaster 와 같은 일반 계정 접속후 자료를 올린뒤에 텔넷으로 webmaster 계정의 파일을 /var/www/html 폴더로 복사할수도 있구요.
> 그러고 또한가지 문젠 계정접속자가 전부 /var/www/html로 접 > 속 됩니다. 어떻게 해야할지 모르겠네요! 도움부탁합니다
당연히 defaultroot 를 /var/www/html 로 했으니 다 저 디렉토리가 / 로 인식돼죠.
빨리 defaultroot 를 ~ 로 바꾸세요.
*추가 정보
위글대로 defaultroot ~ 를 했을경우
ftp 접속하면 /home/USER 디렉토리로 이동합니다.
그러나 웹페이지로 보이게 하려면 USER/public_html(기본설정) 폴더에 올려야 하죠.
ftp 접속후 일일이 public_html 폴더에 올려야 한다고 말하주는것 보다는 defaultroot ~/public_html 로 설정하여 바로 /home/USER/public_html 로 이동케 하는것이 좋습니다.