BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Ftpd > Ftpd-4  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.





 Hanterm - cat /etc/ftpusers

 [root@bbuwoo etc]$ cat /etc/ftpusers                     

    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody

[root@bbuwoo etc]$



ftpusers 는 FTP 접근을 막을 account user 들의 명단이다. 기본적으로 root 로는 ftp access 를 막고 있는 것이 보안적 측면에서 보편화 되어 있다. 만약 root 의 접속을 가능하게 하려면 이 file 에서 root 를 지워버리면 된다. 반대로 어떤 user 의 접속을 막고 싶다면 해당 user 를 이 file 에 기록해 두면 된다. 이 파일에 기록되어 있는 유저들은 대부분 시스템이 사용하는 계정들로서 보안적인 측면에서 막게 되어 있다.

참고로 이 설정은 wu-ftpd 의 고유의 기능이 아니라 PAM (장착식 인증 모듈) 에 의해서 작동이 되게 된다. RedHat Linux 를 기준으로 /etc/pam.d 에 보면 ftpd 라는 파일이 있다. /etc/pam.d/ftp 의



 Hanterm - cat /etc/pam.d/ftp

 [root@bbuwoo ftp]$ cat /etc/pam.d/ftp                    

  #%PAM-1.0auth
  required  /lib/security/pam_listfile.so item=user sense=deny \
            file=/etc/wu-ftpd/ftpusers onerr=succeedauth
  required  /lib/security/pam_pwdb.so shadow nullokauth
  required  /lib/security/pam_shells.soaccount
  required  /lib/security/pam_pwdb.sosession
  required  /lib/security/pam_pwdb.so

 [root@bbuwoo ftp]$



첫 라인의

    required  /lib/security/pam_listfile.so item=user sense=deny \
              file=/etc/ftpusers onerr=succeed

에 의해 특징이 결정되게 된다. Pam 설정을 간단히 설명을 하자면 4 가지 item 에 대한 이해만 가진다면 다른 서비스에 대해서도 이를 적용을 할 수 있게 된다.

item=user

item 은 어떤 것을 기준으로 리스트를 작성할 지를 결정한다. user 로 지정을 했다면 로그인을 할 유저 이름을 기준으로 해당 리스트를 작성하면 된다.

sense=deny

sense 의 값에는 deny 와 allow 가 있다. 즉, 허락을 할 것인지, 아니면 거부를 할 것인지를 결정한다.

file=/etc/ftpusers

file 은 item 에서 결정한 리스트들을 기록할 파일을 지정한다. 즉 기본으로 wu-ftpd 가 /etc/ftpusers 이지만 이 파일에서 원하는 곳으로 수정을 할 수 있다는 얘기가 된다.

onerr=succeed

onerr 는 file= 에서 지정한 파일이 존재하지 않을 경우에 어떻게 처리할 지를 결정한다. success 로 지정을 하면 파일이 존재하지 않을 경우 무조건 로그인을 가능하게 하며, fail 로 설정이 되어 있을 경우에는 무조건 로그인을 실패하게 한다.

위의 사항들을 잘 이용하면 telnet 이나 다른 로그인 서비스에 대해서 제한을 가하거나 정책을 다르게 설정을 할 수가 있게 되는 것이다.





 Hanterm - cat /etc/ftphosts

 [root@bbuwoo etc]$ cat /etc/ftphosts                     

    # host access file의 예제이다
    #
    # '#'이 붙은 행은 모두 주석으로 처리되어진다.
    # 빈 line은 무시된다.

    allow  *  *
    deny   *  209.128.*.*,*.aol.com

 [root@bbuwoo etc]$



어떤 사용자가 어떤 호스트에서 접근하는 가에 따라 접근을 허락하거나 거부하는데 사용되어 지는 설정 file이다. 위의 예제는 모든 호스트로 부터 모든 user들의 접근을 허락하며 209.128.*.*과 *.aol.com 에서 접근하는 모든 user들의 접근을 거부하라는 내용이다.

다른 설정 file들과 마찬가지로 line의 맨앞에 "#"이 붙으면 주석문으로 해석을 하며, 빈 line은 무시를 한다.



>> 이전 : Configuration - ftpaccess <3>
>> 다음 : message file Magic Cookies



    



 Home > Lecture > Ftpd > Ftpd-4

Copyright 1997-2024 JoungKyun Kim 
LAST MODIFIED: 2017/01/18