삼바서버 설정 간단 메뉴얼

리눅스/FTP|2015. 1. 16. 11:50
반응형

삼바 버젼 정보

samba-3.0.23c-2
samba-client-3.0.23c-2
samba-common-3.0.23c-2


삼바 설정파일


/etc/samba/smb.conf 파일 수정

 

[global]
# 언어셋 맞춤. 설정하는 곳이 없으므로 [global]안에 아무 위치에나 넣어줍니다.
unix charset = cp949 
dos charset = cp949 
display charset = cp949

 

# 접근대역 설정. 아래는 192.168.1.x 대역에서만 접근 가능
hosts allow = 192.168.1.

 

# share 일 경우, 익명 접근 가능
# user 일 경우, smbpasswd 로 등록한 사용자만 접근 가능(시스템 계정과는 다름)
security = share

 

[public] 
comment = 누구나 접근 가능한 디렉토리  <--- 삼바 접근시 보여지는 제목
path = /samba_data                              <--- 파일을 upload / download 하기 위한 홈디렉토리
read only = no                                      <--- 디렉토리에서 쓰기도 가능하게 함
writable = yes                                       <--- 쓰기를 허용할것
security = share                                     <--- 모두 오픈
public = yes                                          <--- 공동 사용 디렉토리
create mask = 0755                               <--- 파일이나 디렉토리 생성시 설정되는 퍼미션값


디렉토리 퍼미션 조절

root@sysdocu:~# chmod 1777 /samba_data

위 명령으로 디렉토리에 sticky bit 를 부여합니다.

참고 : sticky bit 의 이용목적은 어떠한 폴더 혹은 파일을 생성 후, 쓰기, 읽기, 실행 등 모든것이 가능합니다.
         단, 그 디렉토리나 혹은 파일의 삭제는 그 파일의 소유자만이 가능합니다.


네트워크 드라이브 연결

윈도우즈 탐색기 - [도구] - [네트워크 드라이브 연결] - 드라이브 : 원하는 드라이브 선택, 폴더 : (삼바서버IP)public (마침)

※ 참조

특정 계정 및 암호 설정

1) 시스템 계정을 만들고 패스워드를 설정합니다.

# useradd fileuser

# passwd fileuser

 

2) 삼바 계정을 생성합니다.

# smbpasswd -a fileuser

* 삼바 계정 패스워드 갱신 : smbpasswd -U fileuser

* 쉘스크립트상에서 자동 등록을 하려면 아래와 같이 사용이 가능합니다.

smbpasswd -a sysdocu << EOF

1q2w3e4r

1q2w3e4r

EOF

또는

echo -ne "PassWord\nPassWord\n" | smbpasswd -a -s sysdocu


3) 설정파일(/etc/samba/smb.conf)을 재설정 한 후, 삼바를 재시작하여 적용합니다.

security = user                                      <--- 사용자 계정으로 로그인

[public] 
comment = 누구나 접근 불가능한 디렉토리  <--- 삼바 접근시 보여지는 제목
path = /samba_data                              <--- 파일을 upload / download 하기 위한 홈디렉토리
read only = no                                      <--- 디렉토리에서 쓰기도 가능하게 함
writable = yes                                       <--- 쓰기를 허용할것
public = no                                           <--- 공동 사용 디렉토리
create mask = 0755                               <--- 파일이나 디렉토리 생성시 설정되는 퍼미션값

valid users = fileuser                             <--- 접근 가능한 계정

 

반응형

댓글()

vsftpd 디렉토리 및 파일 업로드시 자동으로 퍼미션 조절하기

리눅스/FTP|2015. 1. 16. 11:50
반응형

아래 설정을 하게되면 ftp 로 디렉토리 및 파일 업로드시 퍼미션을 자동으로 조절해줍니다.


# vi /etc/vsftpd/vsftpd.conf


local_umask=022          // 디렉토리 퍼미션 (777 - 022 = 755 의 권한을 갖게됩니다.)

file_open_mode=0755    // 파일 퍼미션 (파일은 빼기 없이 그냥 755의 권한을 갖게됩니다.)



반응형

댓글()

NFS 설정 방법 (자세히)

리눅스/FTP|2015. 1. 16. 11:50
반응형
1. NFS의 정의
1) Network File System의 약자이며, TCP/IP 네트워크로 다른 컴퓨터에 있는 파일 시스템을 마운트시켜 서버의 자료를 공유할 수 있게 해주는 시스템이다.
2) 리눅스 운영체제간에 파일을 공유하기 위해 많이 사용되고 있는 프로토콜로 썬 마이크로 시스템사에서 개발되었다.
3) 삼바는 리눅스-윈도간의 파일및 하드웨어 공유인 반면 리눅스를 비롯한 유닉스 운영체제에서는 삼바보다는 NFS 프로토콜을 이용한다.
4) 서버에 의해 마운트되는 것이 아니라 클라이언트가 파일 시스템을 마운트하여 자신의 파일 시스템처럼 사용한다.
5) 보안에 허점이 있다.
 
2. NFS의 3가지 구성요소
1) TCP/IP 네트워크를 통하여 클라이언트와 서버가 연결이 가능한가
2) 클라이언트는 서버의 파일 시스템을 마운트시킬 수 있는가
3) 서버는 클라이언트에 의해서 마운트될 수 있는가
 
3. NFS 서버 설정
1) NFS 서버는 언제든지 클라이언트가 마운트할 수 있도록 준비되어야 하는데, 이러한 준비과정을 exporting이라 한다. 따라서 exporting 될 서버는 NFS 데몬인 rpc.mountd, rpc.nfsd 두 데몬이 프로세스상에서 작동할 수 있도록 설정해야 한다.
 
4. NFS 주요 데몬
rpc.mountd
* NFS 마운트 데몬이다.
* /etc/exports 설정에 따라 클라이언트의 마운트 요청을 처리한다.
rpc.nfsd
* 클라이언트가 rpc.mountd에 접속이 유지되면, rpc.nfsd를 사용하여 클라이언트의 요구에 따라 처리한다.
* /etc/exports 설정에 따라 클라이언트는 다양한 작업을 할 수 있다.
rpc.lockd
* 파일 잠금과 관련된 데몬으로 현재 사용 중인 파일을 다른 사람이 사용할 수 없게 잠그는 역할을 한다.
rpc.startd
* 파일 잠금과 해제의 역할을 한다.
 
5. Portmap
→ RPC(Remote Procedure Call) ㅍ로그램을 port(tcp/udp)에 매핑시켜주는 데몬이다.
→ NFS를 사용하려면 꼭 필요한 데몬이다.
→ RPC를 사용하는 프로그램(NFS)이 시작되면 portmap은 서비스를 제공할 port를 portmap에 등록시킨다.
→ portmap은 Time Service를 필요로 한다.
   (Time Service는 xinetd 데몬에 포함되어 있다.)
→ portmap이 자신의 운영체제에 설치되어 있는지 확인하자.
 
6. NFS Exporting 설정
1) /etc/exports에서 설정하며, NFS의 주요 설정 파일이다.
2) 사용자가 원하는 설정을 작성해 주어야 한다.
3) /etc/exports 파일에서 사용 가능한 마운트 옵션은 다음과 같다.

옵션                            기능
root_squash                클라이언트에서 루트를 서버상에 nobody 사용자로 매핑한다.
no_root_squash          서버와 클라이언트 모두 같은 root를 사용한다.
ro                                 파일 시스템을 읽기전용으로 마운트 한다.
rw                                파일시스템을 읽기/쓰기 로 마운트 한다.
insecure                       인증되지 않은 액세스도 가능하다.
link_relative                서버에 있는 루트와의 링크를 포함하는 디렉토리에서 얻는 "../" 만큼 링크 앞에 두어 절대 심볼릭 링크를 상대 심볼릭 링크로 바꿀때 사용한다.
 
7. NFS Exporting 설정 예
/home/redhat   one.linux.co.kr  (ro)  two.linux.co.kr  (rw)

/home/redhat  디렉토리를 one.linux.co.kr과 two.linux.co.kr 
두 개의 클라이언트 컴퓨터들이 마운트할 수 있으며, 
one 클라이언트 컴퓨터는 오직 읽기로만 마운트되고, 
two 클라이언트 컴퓨터에는 읽기/쓰기로 마운트 된다.

/usr/local/bin    *.linux.co.kr    (ro)
linux.co.kr 도메인 내에 있는 모든 컴퓨터들이 /usr/local/bin 파일 시스템을 읽기 전용으로 마운트된다.
/pub                                        (ro, insecure,root_square)
/pub 디렉토리에 대해서 읽기로만 마운트할 수 있고, 사용자 인증이 없이 액세스가 가능하며, 이 데렉토리 파일 시스템에 액세스 하는 모든 컴퓨터의 루트를 서버에서 nobody 사용자로 액세스할 수 있게 한다는 의미이다.
 
8. NFS 데몬 실행
1) NFS 서버에서는 NFS Exporting을 준비한 후에 클라이언트가 NFS 파일 시스템을 마운팅할 수 있도록 NFS 데몬을 띄워 주어야 한다.
2) 서버가 부팅시 자동적으로 NFS 데몬이 활성화 되도록 하려면 ntsysv 명령을 실행하여 서비스 항목에서 nfs를 선택하여 부팅하면 된다.
3) 클라이언트에 의해서 마운트될 파티션을 /etc/fstab 파일에 마운트 정보를 삽입시켜 자동적으로 마운트가 될 수 있도록 해준다.
4) 데몬 띄우는 방법은 다음과 같이 스크립트를 실행해 주어야 한다.
             시작          /etc/rd.d/init.d/nfs start
             중지          /etc/rd.d/init.d/nfs stop
             재시작       /etc/rd.d/init.d/nfs restart
 
5) rpcinfo

 NFS가 작동 중일때, RPC 정보를 보여주는 프로그램이다.
 사용법 : rpcinfo [-n portnum] [옵션] host prognum [versnum]
 rpcinfo의 옵션
   -p : 호스트의 포트맵을 보여준다.
   -u : udp를 사용한다.
   -t  : tcp를 사용한다.
   -n : 포트 번호를 지정한다.
   -b : 모든 호스트에 broad cast하여 정보를 받는다.
   -d : 삭제한다.


9. 클라이언트 NFS 마운트
1) 마운트 사용법
mount [-t nfs] 서버:디렉토리 /마운트 위치
예) mount onr.linux.co.kr:/home/linuxone /LinuxOne
 
2) /etc/fstab을 통한 NFS 마운트하기
nfs_server.linux.co.kr:/home/redhat/CD-ROM
/users/redhat/CD-ROM nfs     timeo=15,  initr
 

nfs_server.linux.co.kr:/home/redhat/CD-ROM

nfs_server.linux.co.kr 호스트에 있는 "/home/redhat/CD-ROM" 파일 시스템을 클라이언트 마운트 위치인 "users/redhat/CD-ROM"으로 마운트 하는 것이다.

/users/redhat/CD-ROM nfs

파일 시스템은 nfs임을 나타낸다.

timeo=15

타임아웃 시간은 1.5초로 설정한다.

initr

파일 시스템 작동을 인터럽트 가능하게 하는 것이다.

3) NFS 마운트에서 사용되는 옵션

옵션                        기능
rsize = n                  NFS 서버로부터 읽어 들이는 바이트 수 지정, 기본값은 1024 바이트이다.
wsize = n                NFS 서버에 쓰기할때 사용하는 바이트 수 지정, 기본값은 1024 바이트이다.
timeo = n                 RPC 타임아웃이 발생되고 나서 첫번째 재전송 요구를 보낼때 사용되는 시간으로 기본값은 7*1/10초이다.
retrans = n               주 타임아웃을 발생시키는 부 타임아웃과 재전송 횟수로 기본값은 3번의 타임아웃이다.
port = n                   NFS 서버와 연결할 수 있는 포트 번호를 지정한다.
fg                             첫번째 NFS 마운트 시도에서 타임아웃이 발생되면 즉시 중단하며, 기본값이다.
intr                          주 타임아웃이 발생되었을때 신호를 보내 NFS 호출을 인터럽트한다.
hard                         주 타임아웃이 발생되면 server not responding 출력하고 무한정 재시도 한다.
soft                          주 타임아웃이 발생되면 프로그램에게 I/O 에러를 보고한다.


출처 (ㅡ.ㅡa) | 못난이
원문 http://blog.naver.com/akrthwn/140019046346


반응형

댓글()

NFS 설정 방법 (간단) - 구버전

리눅스/FTP|2015. 1. 16. 11:49
반응형

1. 데이타가 존재하는 서버에서..



우선 필요한 패키지를 설치해줍니다.


root@sysdocu:~# yum install portmap nfs*


1) 아래 파일에서 공유할 디렉토리와 클라이언트IP를 등록합니다.

root@sysdocu:~# vi /etc/exports

/nfsdata    192.168.0.100(rw,no_root_squash)

※ /nfsdata : 공유할 폴더
     192.168.0.100 : 접근 허용할 IP
     rw,no_root_squash : read, write 권환과 해당 디렉토리에 대한 root 권한 할당. (옵션을 안주어도 됨)

2) portmap 과 nfs 데몬이 실행중인지 확인 후, 실행이 되지 않았을 경우 가동시켜줍니다. (portmap 우선)

root@sysdocu:~# service portmap start  <- 반드시 nfs 시작 전에 구동해야합니다. (최신리눅스에서는 portmap 대신 rpcbind 사용함)
root@sysdocu:~# service nfs start

root@sysdocu:~# service nfslock start

root@sysdocu:~# vi /etc/sysconfig/nfs  <- 포트를 고정할 경우 아래항목 주석 해제

RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892


root@sysdocu:~# rpcinfo -p  <- 열려있는 포트 확인

※ iptables 에서 관련포트를 모두 open 시켜 줍니다. (udp, tcp 모두 등록)

    > 111, 875, 892, 2049, 32803, 32769

    > 해보니 그냥 tcp로 111, 875, 2049 만 오픈해주면 되었음 (좀더 체크 해볼것)




2. 클라이언트 서버에서..

필요한 패키지를 설치해줍니다.


root@sysdocu:~# yum install portmap


root@sysdocu:~# service portmap start

root@sysdocu:~# mkdir /home/data_link (마운트하기전 디렉토리를 생성해줍니다.)

root@sysdocu:~# mount -t nfs -o nolock 192.168.0.99:/nfsdata /home/data_link

부팅시에도 자동 마운트 되게 하고 싶을 경우, fstab 에 아래 항목을 등록해줍니다.

root@sysdocu:~# vi /etc/fstab

ns:/nfsdata        /data_link    nfs    rw    0 0

또는 /etc/rc.d/rc.local 에 mount 명령을 써넣어줘도 됩니다.


[참고]

/var/log/messages 에 아래와 같은 메세지가 반복 된다면..

Oct 27 21:38:50 localhost kernel: statd: server localhost not responding, timed out
Oct 27 21:38:50 localhost kernel: lockd: cannot monitor 192.168.0.100
Oct 27 21:38:50 localhost kernel: lockd: failed to monitor 192.168.0.100

 

mount 시 -o nolock옵션을 추가하여 실행하면 됩니다.

root@sysdocu:~# mount -t nfs -o nolock 192.168.0.99:/nfsdata /home/data_link

  

반응형

댓글()

iptables 시작시 ip_conntrack_ftp 모듈 시작

리눅스/FTP|2015. 1. 16. 11:49
반응형

방법 1 

# vi /etc/sysconfig/iptables-config

파일에서 IPTABLES 별도로 사용하는 모듈(기본적으로 로드되어야할)이 있다면,

IPTABLES_MODULES="" 변수에 추가해두면 될겁니다.

예) IPTABLES_MODULES="ip_conntrack_ftp"

아마, nf_conntrack_ftp 모태가 ip_conntrack_ftp로 알고 있는데...

OS별로 각기 다른 이름으로 떠더라도

# modprobe ip_conntrack_ftp

명령을 통해 로드하면, 알아서 nf_ 든 ip_ 든 conntrack_ftp모듈을 로드해 줄거에요


[출처] 스마일서브



방법 2

nf_conntrack_ftp모듈은 ftp를 패시브 모듈로 작동하게 해주는 모듈입니다.

이 모듈은 load가 되어 있는 상태에서 iptables와 연관되는 모듈이기 때문에 iptables을 stop하게 되면 같이 내려가게

되며 iptables을 시작해도 같이 올라오지 않습니다. 그러므로 ftp를 엑티브 모드로 쓸경우에는 문제가 되지 않지만 

패시브 모드로 쓸 경우에는 로그인은 되지만 파일 및 디렉토리가 보이지 않는 문제가 발생 합니다.

수동으로 modprobe ip_conntrack_ftp 실행해서 올려줄수도 있지만 매번 iptables을 종료하거나 재시작할때마다

해줘야 되는 불편함이 있습니다.

iptables을 종료, 재시작, 시작하는 경우에 자동으로 등록 되도록 /etc/init.d/iptables 스크립트에 추가해 보았습니다.

===================================================================

    211     modprobe ip_conntrack_ftp    --> start함수에 추가한 부분
    212     touch $VAR_SUBSYS_IPTABLES
    213     return $ret

    240     modprobe ip_conntrack_ftp    --> stop함수에 추가한 부분
    241     rm -f $VAR_SUBSYS_IPTABLES
    242     return $ret
===================================================================

추가 후 iptables 종료, 재시작 테스트 결과 nf_conntrack_ftp 모듈 정상적으로 로드 되는 것을 확인하였습니다.


[출처] 스마일서브

반응형

댓글()

일반계정의 ftp 웹으로 접속하기

리눅스/FTP|2015. 1. 16. 11:48
반응형

ftp://계정@IP

ex) ftp://test@192.168.100.1

익스플로러를 사용할 경우, 브라우저가 기본적으로 passive mode를 쓰기때문에
FTP서버에서 passive mode 로 설정 되어있어야만 접속이 됩니다.

반응형

댓글()

vsftp 에서 root 로 접속하기

리눅스/FTP|2015. 1. 16. 11:47
반응형

1) /etc/vsftpd 디렉토리에 user_list 파일과 ftpusers 두개의 파일이 존재 해야 합니다. (없으면 생성)
    파일이 존재할 경우, 두 파일 내용중 root를 주석처리하거나 삭제합니다.

2) /etc/vsftpd/vsftpd.conf 파일 내용중
     userlist_enable=NO 로 설정

3) vsftpd를 재시작 해줍니다.
    /etc/init.d/vsftpd restart

※ 보안상 취약하니, 꼭 root로 접속할 필요가 있을 경우에만 사용하도록 합니다.

반응형

댓글()

ncftp, ncftpget, ncftpput - 서브디렉토리 전송

리눅스/FTP|2015. 1. 16. 11:47
반응형

서브 디렉토리 전송하기

ncftp 사용법.

자동이어받기 기능.
명령어 자동완성 기능.

서브디렉터리 전송.

접속이 되지 않을때 자동 재접속.

리모트 경로 표시.

전송량 표시.

ncftp의 기본 전송 모드는 binary이다.
나머지 명령어는 유닉스 명령어와 비슷하다.

화살표 위아래키는 bash history 기능처럼 전에 입력했던 내용을 왔다갔다 할 수 있다.

ncfpt> open -u marine6309 -p 1234 -P 2121 localhost
            marine6309란 사용자가 비밀번호 1234로 2121포트로 로컬호스트에 접속한다.

ncftp> get 1.txt 2.txt 3.txt

ncftp> get *.txt

ncftp> get -z ReadMe.txt README
           ReadMe.txt를 README로 저장한다.

ncftp> get -R test
           test라는 폴더를 전체 다운로드 한다.

ncftp> bgget -@ 20040616235000 /pub/idstuff/quake/q2_100.zip
           2004년06월16일 23시50분00초에 위 파일을 백그라운드로 다운로드 한다.
           이는 daemon에서 이루어지기 때문에, logoff를 한다해도 계속 전송이 된다.
           이런 명령의 경우에는 save-passwords가 yes로 setting되어야 한다.

 
ncftp> bgstart
           위에서 예약된 작업을 바로 시작하는 명령이다.

ncftp> set save-passwords  yes
           현재 접속된 암호를 저장한다.

ncftp> jobs
           background에서의 일어나는 작업을 알려준다.(unix명령과 비슷)
 
ncftp> bookmark local
           현제 세션을 저장하고 나주에 재사용 할 수 있다. 각종 설정 모두를 기억한다.
           처음 접속시 종료하기 전에 북마크 할 것인지 물어본다. 여기서 설정해 주면 된다.
           패스워드는 암호화되어 저장되기 때문에 너무 걱정할 필요는 없다.

ncftp> set
          set 명령어로 클라이언트 환경을 설정할 수 있다.

ncftp> show
          현재 상태를 볼 수 있다.


ncftpget,  ncftpput

ncftpget -u아디 -p암호 접속할ftp서버 받을곳 받을파일
ex) ncftpget -uxxxx -pxxxx xxx.xxx.xxx.xxx . /upload/backup/*
      xxx.xxx.xxx.xxx/upload/backup 파일을 현재 내가 있는 곳으로 받아온다는 뜻

ncftpput -u아디 -p암호 접속할ftp서버 올릴곳 올릴파일
ex) ncftpput -uxxxx -pxxxx xxx.xxx.xxx.xxx /upload/ /tmp/backup
      xxx.xxx.xxx.xxx/upload 에 /tmp/backup 라는 파일을 올린다는 뜻이된다. 


[출처]
 ncftp, ncftpget, ncftpput - 서브디렉토리 전송|작성자 청명

반응형

'리눅스 > FTP' 카테고리의 다른 글

일반계정의 ftp 웹으로 접속하기  (0) 2015.01.16
vsftp 에서 root 로 접속하기  (0) 2015.01.16
vsftp 설치 및 속성설명  (0) 2015.01.16
vsftpd 패시브 모드 설정  (0) 2015.01.16
vsftp 업로드 용량 제한 해제 방법  (0) 2015.01.16

댓글()

vsftp 설치 및 속성설명

리눅스/FTP|2015. 1. 16. 11:46
반응형

vsftpd 설치

리눅스의 ftp는 vsftpd 와 proftp가 있으나 vsftp가 보안성이 우수하며 사용하기 좋다.
vsftp는 인증용으로 21번 포트를 사용하며 인증이 확인 되었을때 서버용으로 20번 포트를 사용한다. 이때 클라이언트의 임시 포트는 1024 이다.

# wget ftp://ftp.superuser.co.kr/fedora/core4/i386/RPMS/vsftp* -P /usr/local/src
   -> 슈퍼유저 ftp서버에서 vsftp로 시작하는 모든파일 /tmp 디렉터리로 다운로드

# cd /usr/local/src

# rpm -ivh vsftpd-2.0.3-1.i386.rpm
   -> 설치

# rpm -ql vsftpd
   -> 설치 후 vsftpd패키지가 설치한 파일및 디렉터리를 볼수있다.



vsftpd 설정

/etc/rc.d/init.d/vsftpd
서버실행스크립트로서 모든 rpm패키지는 /etc/rc.d/init.d 에 패키지명으로 생성된다.
이 것을 실행하게되면 스크립트가 읽혀지면서 /usr/sbin/vsftp를 실행하게된다.

# /etc/rc.d/init.d/vsftp restart 로 실행시키는 방법과 
# service vsftpd restart 이런 방법이있다.
# service 는 rpm 패키지를 실행시킬때 사용하는 명령어이다.


/etc/vsftpd/ftpusers
ftp 로그인을 허락하지 않은 유저들의 정보가 들어있다.
/etc/passwd 파일의 uid 0~100에 해당하는 유저들이다.
root, bin, daemon, adm, lp, sync, shutdown, halt, mail, news, uucp, operator, games, nobody
이사용자는 기본적으로 ftp의 유저로 등록된사용자이다.

설정파일에서
userlist_enable=YES // 유저리스트( /etc/vsftpd/user_list )를 활성화시키고
userlist_deny=NO   // 거부자목록으로 쓰지 않으면 유저리스트에 등록된 사용자는 ftp 사용이 가능하다. 
                                          유저리스트에 등록되있더라도 /etc/vsftpd/ftpusers에 등록된사용자는 접속이 불가능 하다. 
                                          위와 같이 설정을 해주고 ftpusers에서 root를 삭제하면 root로도 ftp 접속 할 수 있다.

/etc/vsftpd/user_list 에 등록된 사용자는 접속 거부/승인 목록이 될수있고,
/etc/vsftpd/ftpuser 에 등록된 사용자는 user_list에 상관 없이 접속 할 수 없다. 
root등의 사용자는 보안을 위해 접속을 허용하지 않은 것이다.


/etc/vsftpd/vsftpd.conf
설정파일이다.

-----------------------------------------------------------------------------------
anonymous_enable=YES
익명계정(ftp, anonymous) 사용여부를 정한다.
-----------------------------------------------------------------------------------
local_enable=YES
/etc/passwd 에 등록된 사용자 사용여부를 정한다.
-----------------------------------------------------------------------------------
local_umask=022
디렉터리나 파일생성시 권한을 정한다.
파일   rw- r-- r-- (644) =>파일의 최대값(666) - umask(0022)
디렉토리 rwx r-x r-x (755) =>디렉토리의 최대값(777) - umask(0022)
-----------------------------------------------------------------------------------
anon_upload_enable=YES
익명계정으로 업로드 가능여부를 정한다. 일반적으로 업로드권한을 주지않는다(주석처리 또는NO)
-----------------------------------------------------------------------------------
anon_mkdir_write_enable=YES
익명계정으로 디렉터리생성 가능여부를 정한다. 일반적으로 쓰기권한을 주지않는다(주석처리 또는 NO)
-----------------------------------------------------------------------------------
dirmessage_enable=YES
메세지를 보기 기능여부를 정한다.
-----------------------------------------------------------------------------------
xferlog_enable=YES
로그 파일 사용여부
-----------------------------------------------------------------------------------
connect_from_port_20=YES
ftp 인증시 어떤 포트를 쓸 것인지 정함
-----------------------------------------------------------------------------------
xferlog_file=/var/log/vsftpd.log
로그파일 저장 위치
-----------------------------------------------------------------------------------
xferlog_std_format=YES
YES 표준수집방식
NO vsftpd에서 제공하는 자세한 방식
-----------------------------------------------------------------------------------
idle_session_timeout=600
지정한시간(초)동안 아무런 입력이 없을때 접속을 해제시킨다.
-----------------------------------------------------------------------------------
data_connection_timeout=120
다운로드 시작시간부터 지정한시간(초)동안 완료 하지않으면 접속을 해제시킨다.
-----------------------------------------------------------------------------------
ascii_upload_enable=YES
ascii_download_enable=YES
아스키모드는 어떤 파일을 텍스트형식으로 업/다운로드 하는것
바이너리모드는 실행가능한 형태로 업/다운로드
-----------------------------------------------------------------------------------
ftpd_banner=Welcome to blah FTP service.
접속시 뜨는 메세지이다. 보안을 위해서 무조건 활성화 해야한다.
활성화 시키지 않으면 버전 정보(vsFTPd 2.0.3)를 출력한다. os 정보 및 취약점을 알수있으며 포트스캔및 버퍼오버플로우가 가능하다.
-----------------------------------------------------------------------------------
deny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails
거부정보를 이메일로 받을건인지를 정하고 이메일주소 설정을 해준다. 메일서버가 구성되어있어야 한다.
-----------------------------------------------------------------------------------
익명계정으로 로그인을 하게되면 디렉터리의 위치는 가상루트  /  ( /var/ftp , chroot) 로 접속하게된다. 
하지만 사용자는 가상루트의 적용을 받지 않고 따로 지정해주어야한다. 
사용자를 가상루트의 경로에 접속시키지 않으면 일반적인 사용자는 모든 디렉터리 및 파일에 대하여 r 권한을 갖고 있기때문에 다운로드가 가능하다. 
( /etc/shadow -r-------- 제외) 보안상 위험하기때문에 가상루트를 적용시켜야한다.
-----------------------------------------------------------------------------------
chroot_local_user=YES
/etc/passwd 에 등록된 사용자가 vsftp접속시 위치를 가상루트 / ( /home/사용자 )로 표시한다.
-----------------------------------------------------------------------------------
chroot_list_enable=YES
가상루트 목록을 활성화 시킬것인지 정한다.

chroot_local_user 에 반대 되는 개념으로

가상루트를 활성화(chroot_local_user=YES)시켰을때, 
chroot_list_enable=YES 리스트를 활성화 목록에서 제외 =>리스트 비활성화
chroot_list_enable=NO ll리스트를 활성화 목록에서 포함 =>리스트 활성화

가상루트를 비활성화(chroot_local_user=NO)시켰을때, 
chroot_list_enable=YES 리스트를 비활성화 목록에서 제외 =>리스트 활성화
chroot_list_enable=NO ll리스트를 비활성화 목록에서 포함 =>리스트 비활성화
-----------------------------------------------------------------------------------
chroot_list_file=/etc/vsftpd/chroot_list
지정한 위치에 파일을 생성하고 편집기를 이용해서 적용시킬 사용자를 입력시킨다.
디렉터리 위치는 임의로 정해도 되나 알기쉽게 설치한 패키지가 위치한 곳에 저장하는것이 좋다.
-----------------------------------------------------------------------------------
userlist_enable=YES 
/etc/vsftpd/user_list 에 등록된 사용자를 활성화 시킬것인가
(NO일 경우 local_enable=YES 이면 /etc/passwd 에 등록된 사용자 활성화)

userlist_deny=NO
/etc/vsftpd/user_list 에 등록된 사용자를 거부목록으로 사용할것인지를 정한다.
NO : 파일에 등록된 사용자의 접속만 허락한다.
YES : 파일에 등록된 사용자의 접속을 거부한다.
이거에 상관없이 /etc/vsftpd/ftpuser 에 등록된사용자는 무조건 접속을 거부 한다.
/etc/vsftpd/user_list는 기본값이고 userlist_file=파일명으로 지정해주어도 된다.
-----------------------------------------------------------------------------------
local_max_rate=5000000 
시스템계정에서 최대 업/다운로드 용량(바이트)
anon_max_rate=500000
익명계정에서 최대 업/다운로드 용량(바이트)
max_clients=3
최대접속가능한수
max_per_ip=2
동일한 아이피에서 서버 접속수를 전부 써버릴수있기때문에 ip의 최대 접속가능한수를 정해준다.



[출처]
 LINUX Service [ vsftp ]|작성자 ryucsion

반응형

댓글()

vsftpd 패시브 모드 설정

리눅스/FTP|2015. 1. 16. 11:45
반응형

/etc/vsftpd/vsftpd.conf 에 아래 세줄 추가, 저장 후 vsftpd restart.

pasv_enable=YES
pasv_min_port=5001
pasv_max_port=5001

반응형

댓글()

vsftp 업로드 용량 제한 해제 방법

리눅스/FTP|2015. 1. 16. 11:45
반응형

quota 설정에 문제가 없다는 가정하에 답변 드리겠습니다. 

# ulimit -a [엔터]하시면
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
max nice                        (-e) 0
file size               (blocks, -f) 10000 <------------ 10M
pending signals                 (-i) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8


위처럼 file size가 10메가로 제한되어 있을 확률이 높으며,
이경우  
# vi /etc/security/limits.conf  명령을 통해 아래의 부분을 주석 처리하면 됩니다.
username       hard  fsize  1048576

반응형

댓글()