[linux] Linux glFTPD Docs
로빈아빠
본문
Linux glFTPD Docs
Linux glFTPD Docs v1.20 & v1.21
Original docs composed by icetrain
FAQ composed by Archimede
Maintained by Archimede #glftpd
v 1.20 & v 1.21
한글 Howto 작성: 오명오(LeCieL) xiopadm@dgtalx.net
2000년 7월 1일
주의: 이 문서는 glFTPD 의 docs의 내용을 따랐으며 후반부 부터는 몇몇 운영 방식에 대해 필자의 몇가지 팁을 기술하였습니다.
번역본과 GUIDE를 포함한 형식의 HOWTO 입니다.
또한 중간중간 몇개의 설정치의 값이 두개가 존재합니다.
이 부분은 잘 읽어보시면 아시겠지만 이 문서는 1.20 과 1.21 두 버전의 설정치를 둘다 설명한 부분이 있습니다.
(정확히는 변경된 내용입니다. 1.21 사용자는 해당 설정치를 사용해야합니다)
1. 설치 (LINUX)
2. glFTPD site 명령어 목록
3. glFTPD 의 flags (정책) 목록?
4. glftpd.conf 파일 설정법
5. 컬러 쿠키값
6. 기타 쿠키값
7. glFTPD 를 이용한 FTP 운영
8. 잦은 문의와 질문
9. 1.20 -> 1.21 로 바뀐점
- 1. 설치하기
자료 위치 : http://www.glftpd.org
압축형식 : tar.gz
포인트: 해당 자료위치에서 glftpd 최신 버전을 다운 받은 후 압축을 해제한 뒤에 glinstall1.10.sh 를 실행시킨다.
1. su 나 root 계정으로 로그인을 한 후 glftpd 를 받은 위치로 이동한다.
2. 해당 압축파일에서 루트디렉토리 아래에 압축을 해제한다.
( tar xzvf glftpd-LNX_1.20.tgz -C / )
3. 위와 같이 압축을 해제하였을 경우 /root/glftpd??? 디렉토리가 생성되었을 것이다. 확括?한 후 디렉토리 내로 진입한다.
( cd ~/glftpd-LNX_1.20 )
4. 이후 glinstall 을 실행하여 설정을 잡는다.
( ./glinstall1.10.sh )
주의사항 : 이미 존재하는 디렉토리를 ftp 운영디렉토리 (초기 디폴트값을 /glftpd/site 로 지정하고 물어볼 것이다. 이것을 변경하는것은 별 문제가 없으나, 이미 존재하는 디렉토리를 지정하면 그 디렉토리 전체를 삭제하고 설치를 하는 경우가 발생하니 이점을 각별히 유의할것
- Section 1. 수동 설치 (스크립 에러) -----------------------------
이 부분은 glinstall 스크립트를 이용하지 않고 (원인 모를 에러나, 쉘이 지원되지 않을경우만) 수동으로 설치를 하는 방법을 기술하고 있다.
인스톨 스크립트를 이용하여 설치한 사용자는 이 부분을 건너뛰어도 되며, 혹시라도 명령어를 따라 칠 경우 잘못된 설정으로 glftpd를 정상적으로 이용하지 못할 사태가 발생 할 수 있음을 경고한다.
1. 압축 해제
( tar xzvf glftpd-LNX_1.20.tgz -C / )
2. 사용하는 라이브러리와 컨피그 파일을 복사함
( cp /usr/lib/* /glftpd/lib; cp /sbin/ldconfig /glftpd/bin )
(os에 마다 틀리며 library 가 든 디렉토리가 각자 틀릴 수 있음을 명시한다. 자신의 설정과 맞게 cp /usr/lib 등을 수정해야 한다 )
3. mknod 로 특수 형태 파일을 지정한다.
cd /glftpd/dev mknod -m666 null c 1 3 mknod -m666 zero c 1 5
4. ftp 구조체에 ld.so.cache 파일을 생성한다. 명령을 친 후 해당하는 파일이 존재하는지 확인해야 하며. ls /glftpd/etc 에 ld.so.cache 파일이 존재할 경우 설치가 성공적으로 끝났을 가능성이 있다. 만약 파일이 존재하지 않을 경우 라이브러리 확인을 다시하며 과정 2번부터 다시 재작업을 하며 확인을 해야한다. 설치 과정중에 에러 메시지가 날 수 있으며 이것은 무시해도 된다 파일이 존재할 경우에만 해당함.
( chroot /glftpd /bin/ldconfig )
5. 아래의 명령어를 사용하여 glftpd의 bin 디렉토리에 해당 파일을 복사한다.
cp /bin/sh /glftpd/bin; cp /bin/kill /glftpd/bin; cp /bin/cat /glftpd/bin; cp /bin/echo /glftpd/bin; cp /bin/grep /glftpd/bin; cp /bin/unzip /glftpd/bin
6. 복사가 끝났을 경우 퍼미션 설정을 한다.
( chmod -R 755 /glftpd/bin )
( chmod -R 755 /glftpd/lib )
--------------------------- End Of Section -----------------------------
( glinstall.sh 의 설치는 너무도 간단하기에 설명하지 않았다 )
5. FTP 의 Incoming 디렉토리 (누구나 올릴 수 있는 공간) 의 설정 만약 Incoming 을 통한 운영법을 선택할 경우 아래와 같이 퍼미션을 조정한다 ( chmod 777 /glftpd/site/incoming )
더 자세한 ftp 운영에 관한것은 6~7 장을 통하여 서술할 것이다.
6. glftpd.conf 파일의 설정을 마치고 /etc 디렉토리로 복사하여야 한다.
( cp /glftpd/glftpd.conf /etc/. )
파일이 존재할 경우 덮어쓰기 한다.
** 경고 : glftpd.conf 파일은 glftpd 데몬에 관련된 설정파일임으로 절대적으로 수정을 하여야 한다. 샘플로 config 를 대체하는 행위는 절대 권장하지 않는다. 본인이 직접 수정하길 바란다.
7. inetd 에 데몬을 추가한다. (이 부분은 glinstall 을 이용하여 설치한 사용자는 수정하지 않아도 될 부분이나 혹시나 다른 옵션을 쓰실경우 수정시 참고할것)
vi 나 pico 에디터를 이용하여 /etc/inetd.conf 파일을 수정하도록 한다. 가급적 맨 마지막줄에 넣어두는것이 좋다.
vi /etc/inetd.conf
(내용 수정)
glftpd stream tcp nowait root /usr/sbin/tcpd /glftpd/bin/glftpd -l -o -i -r /etc/glftpd.conf
(위의 내용을 줄 끝에 추가한다)
아래는 옵션에 대한 설명이다.
-B port bouncer 를 통하여만 접속을 허용하도록 한다. -b port bouncer 혹은 직접 연결을 허용한다. -e 이 명령어는 유럽의 주단위에 stats를 수정하게 한다 (잘 안쓰는 명령임) -l 업로드/누크/언누크/접속/접속해제 등의 정보를 log (기록) 에 남겨두는 옵션임. (기록은 /glftpd/ftp-data/logs/glftpd.log 파일에 저장됨.) ( 실시간으로 로그를 확인하려면 tailf glftpd.log (해당디렉토리 안에서) 를 이용하여 볼 수 있음 tail -f glftpd.log 등.. ) -i 업로드 기록을 /glftpd/ftp-data/logs/xferlog 에 저장함 -I 계정 인증 확인을 하지 않음 ( ip 추가시 타 리눅스 서버나 ident 서버를 통해 들어오는 사용자의 ident를 검사하지 않는 옵션임. 만약 윈도우 계열의 사용자가 많다면 이 옵션을 사용해도 좋음) -o 다운로드 기록을 logs의 xferlog 파일에 남김 -d 접속 시도에 관한것을 시스템 로그로 남김 -r <file> 지정한 glftpd.conf 파일을 사용함 -t <seconds> idle 로 인해 타임아웃 처리기간의 최소치를 설정함. -T <seconds> idle 로 인해 타임아웃 처리기간의 최대치를 설정함. -n <#> dns 재시도 회수 설정 (수치), 0 은 dns resolving 사용안함
8. /etc/services 탭에 glftpd 가 서비스될 포트를 지정한다.
이는 수동 설치자만이 해야하는 부분임으로 glinstall 을 이용한 사용자는 손댈 필요 없는 부분이다.
vi /etc/services 의 아래와 같은 항목을 추가한다.
glftpd 포트번호/tcp
(예 : glftpd 21/tcp )
포트번호는 본인이 구동할 포트번호를 입력할것
9. 설치가 완료되었으면 glftpd 의 구동을 위해 inetd 를 재시작해야한다.
killall -HUP inetd 명령을 이용하여 재시작 할것.
10. glftpd 서버 접속 테스트.
초기 계정의 설정은 Login/Pass = glftpd/glftpd 이다. 본인이 접속하여 site passwd 명령으로 패스워드를 필히 변경하라.
( 주의 : 접속은 꼭 아래와 같이 하여야만 한다. ip를 치지말것 Glftpd 는 ip mask 영역을 인식하도록 제작되어있다. glftpd 계정의 경우 초기 매스크가 *@127.0.0.1 임으로 로컬호스트가 아닌 원격지에서의 접근은 불가능하다. )
ftp localhost (본인의 포트)
(예제 : # ftp localhost 21 )
만약. "421 Service not available" 메시지나 이와 유사한 메시지가 출력될 경우 glftpd 의 설치가 잘못되었을 수 있다. 이때는 /var/logs 의 시스템 로그와 glftpd 디렉토리의 (/glftpd/ftp-data/log) 로그를 자세히 살펴보고 원인을 파악하여 해결하라
- 2. glftpd site 명령어 목록
안내: glftpd 의 site 명령은 glftpd 의 flags 정책을 통하여 제어를 한다. 이 정책은 glftpd.conf 파일의 맨 마지막에 존재한다. 이 정책은 변경할 필요가 없을정도로 잘 설정이 되어있다. 정책 변경을 함부로 하거나 보안을 생각하지 않은채 할 경우 당신의 ftp 운영에 큰 지장을 초래하거나 역으로 시스템에 문제가 발생할 소지가 생긴다.
아래부터 설명할 것은 glftpd 자체 데몬 명령어들이다. 당신은 앞으로 이 명령어들을 통하여 ftp를 관리해야만 하므로 대략적인 사용법을 익히고 있는것이 좋다.
site help 로 나오는 명령과 아래에 서술하는 명령은 조금 틀리다. site help 에는 나오지 않는 비밀기능? 같은 것인데 운영자는 필독해야할 몇가지 명령이 있음으로 한번 인내심을 가지고 읽어보는것이 바람직하다
<> 에 쌓여진것은 필드이며 입력을 하지 않으면 기능이 정상작동하지 않는다.
[] 에 쌓여진것은 옵션항목이며 입력을 하지 않아도 기능이 정상작동한다.
site help
도움말. ftp 에 접속하여 ftp> 가 떳을때 site help 엔터 등으로 site 명령어는 입력을 한다. site help 를 치면 명령어 목록과 간략한 설명이 출력되며 site help 명령어로 특정 명령어의 자세한 도움말을 볼 수 있다 이하 site 를 생략한채 명령어만 설명한다.
adduser <계정명> <비밀번호> [<인증@ip주소>... (ip 5개까지 추가가능)]
adduser 는 새로운 사용자를 추가하는 명령어며 site op 의 flag를 달고있는 사이트 오퍼, 그룹 관리자, 유저 에디터만이 가능한 명령어다. 아래와 같이 3가지 플래그를 설명하였는데 플래그에 관한 정의는 아래쪽에서 자세히 할 것이다.
<인증@ip주소> 는 ident서버를 통해 들어오는 값을 넘기는것으로 위의 inetd.conf 에서 ident를 쓸지 안쓸지 제어할 수 있다. 위의 [ ] 안의 인증@ip 주는 쳐도 되며 안쳐도 된다. 만일 당신이 site 오퍼이고, 리눅스를 통해서 로긴만 하며, 리눅스의 계정이름이 xnetwork 인 경우에..? 새로운 오퍼 id를 만들 시에는 2번째 예제처럼 보안적 요소를 구성할 수 있다.?
예제 1: site adduser bluefeel 12345 *@211.37.78.*
login 명 bluefeel 에 패스워드 12345, 211.37.78 로 시작하는 ip를 모두 받도록 계정을 만든다.
예제 2: site adduser bluefeel 12345 xnetwork@211.37.78.37
login 명이 bluefeel 이며 패스워드 12345, 211.37.78.37 이라는 ip에서만 접속되며 해당 ip에서도 xnetwork라는 계정을 쓰는 사람만이 접속이 가능하다. 타인은 접속이 불가능하다.
addip <계정명> <인증@ip주소> (10개까지 ip주소 추가 가능)
해당하는 계정사용자에게 ip 대역을 추가하는 명령어
예제 : addip xnet *@211.203.232.* xnetwork@24.48.* xnetwork@dgtalx.net
(위와 같이 입력할 경우 xnet 이란 ftp 계정에 3개의 ip 와 dns 를 동시에 추가하게 된다 mask 는 211.108.*.* 등으로 할 필요 없이 211.108.* 만 해도 된다 )
aldn [<섹션>]
전체 사용자별 다운로드 순위를 표시한다. 섹션은 옵션이며 섹션 이름 혹은 0-9 사이의 섹션넘버를 사용한다
alup [<섹션>]
전체 사용자별 업로드 순위를 표시한다.
alias
현재 지정된 alias 를 보여준다.
cdpath
현재 지정된 cd 의 경로를 보여준다.
chpass <계정명> <새패스워드>
이 명령은 다른 사용자의 패스워드를 변경하는 명령이다. 말안해도 알겠지만 사용자한텐 권한이 없다. 오퍼들에게만 해당됨 여기에 몇가지 옵션을 설명한다.
예제: site chpass xnet *
xnet 계정에게 어떠한 글자를 입력받더라도 패스워드로 인정하고 로그온을 허용한다
예제: site chpass xnet @
anonymous 에나 쓰는것이다. 어떤 email주소든지 입력하기만하면 로그온을 허용하게 한다.
change <계정> <필드명> <값>
사용자의 특정 필드의 값을 변경함
change <그룹> <필드명> <값>
그룹의 특정 필드의 값을 변경함
change { <계정1> <계정2> .. } <필드명> <값>
지정계정들의 필드 값 변경
change * <필드명> <값>
전체 사용자의 필드 값 변경
- change 도움말 보는법 : site change user help
* 사용 가능한 필드 리스트
필드 설명 ------------------------------------------------------------------ ratio Up/Down 의 비율을 조절하는 필드, 0=제한안함 wkly_allotment 매주 크론탭을 통하여 리셋, 혹은 받을 수 있는 파일의 크기를 설정해 주는것. 시간당 한 섹션만 제공함 homedir 해당 사용자의 홈디렉토리를 변경 (액세스 최상위지역) credits 사용자가 받아갈 수 있는 용량 flags 사용자 관리 정책. site flags 명령어로 리스트 조회가능 또한 자신의 플래그 상태를 쉽게 볼 수 있으며 이 명령어는 + 혹은 - 플래그 수치를 입력해야 한다. num_logins 몇개의 로긴수 까지 허용하는지를 설정 timeframe # # : 단위로 입력받으며 이 사용자가 로긴할 수 있는 시간대를 설정하는것 시간을 초과하면 강제 접속종료함 이 단위는 24시간 단위로 입력해야함 time_limit 접속한 세션단위로 접속할 수 있는 시간을 제한함 tagline User 의 정보를 입력하는 것 (site who 에 나옴) group_slots 해당 그룹의 그룹관리자가 사용자를 받을 수 있는 최대 사용자의 슬롯 개수를 제한한다. comment 사용자의 부가설명은 추가합니다 (한글25글자 영문 50글자) max_dlspeed 최대 다운로드 할 수 있는 속도에 제한을 겁니다 max_ulspeed 최대 업로드 할 수 있는 속도에 제한을 겁니다 sratio 세션당 레이티오 제한을 겁니다. <섹션명> <값> 형식
예제: site change xnet
"xnet" 계정 사용자의 정보를 출력합니다.
예제: site change xnet ratio 5
(업/다운 비율을 1:5 로 조정합니다)
예제: site change xnet flags +12
사용자의 플래그를 1, 2 를 작동시킵니다. (site 오퍼와 그룹어드민)
chgrp <계정> <그룹> [<변경될그룹>]
사용자를 그룹에 추가/삭제 합니다.
예제: site chgrp xnet ftp
사용자의 그룹을 ftp 그룹으로 변경합니다.
예제2: site chgrp xnet ftp (위에 한번 실행후 재실행시)
사용자를 ftp 그룹에서 제명합니다.
예제: site chgrp xnet ftp sysop
사용자를 ft p그룹에서 sysop 그룹으로 이전시킵니다
chmod <퍼미션 매스크> <패스/파일명>
퍼미션을 조정하는 명령어
예제: site chmod 777 /site/incoming
color
메세지의 컬러 사용 여부를 결정합니다.
이 기능은 flag 를 조정해주어야만 하며, 컬러가 지원되는 ftp 프로그램이어야 합니다.
delip <계정명> <인증@ip주소>
지정하는 ip를 계정에서 삭제합니다. 10개까지 동시 입력됩니다.
예제: site delip xnet xnet@dgtalx.net
예제2: site delip xnet 1
xnet 사용자의 계정의 1번째 ip 슬롯의 데이터를 삭제함 ( site user xnet 으로 슬롯 확인 가능 )
deluser <계정명>
해당 계정을 삭제합니다. 하지만 완벽한 삭제는 하지 않고
데이터는 그대로 보존되어있습니다. 플래그만 기록하는것입니다. (삭제 플래그는 6번)
나중에 완전히 삭제 하려면 site purge 명령어를 사용해야 합니다.
dupe [<수치>] <글월> [<글월2>... ]
동일한 데이터가 있는지를 ftp-data/logs/dupelog 에서 찾아냅니다
검색은 대형 db를 찾기때문에 상당한 시간이 소요됩니다.
여유를 갖고 조금 기다리세요. 또한 글월에는 와일드매치가 되지 않습니다. * 등의 와일드 카드를 사용하지 마세요
기본적으로 glftpd는 20개의 대조 결과를 출력합니다.
만약 당신이 첫번째의 [<수치>] 에 숫자를 입력한다면 그 갯수만큼의 결과를 출력할것입니다. 최하단에 출력되는 결과물이 최근 데이터입니다.
예제: site dupe quoake
quake 에 관련된 dupe 기록을 서치합니다.
예제: site dupe quake arena
"Quoake_Arena" 를 찾습니다 일반 "Quake"는 나오지 않습니다.
예제: site dupe 50 linux glftpd 1.
50개의 엔트리를 출력하며, "glftpd" 와 "linux" 그리고 "1."을 검색합니다. 결과물은 이런것이 됩니다.
"Glftpd.for.linux.v1.20" 혹은 "glftpd.v1.19_for_linux".
dayup [<섹션>]
오늘의 최고 업로드 사용자를 출력합니다.
daydn [<섹션>]
오늘의 최고 다운로드 사용자를 출력합니다.
flags [<계정명>]
해당 사용자의 플래그를 표시합니다. (기본은 자신)
gadduser <그룹> <계정명> <비밀번호> [<인증@IP주소>.. (5개)]
gadduser는 새로이 추가된 기능으로 지정한 그룹에 사용자를 개설과 동시에 추가시키게 됩니다.
매번 번거로이 이 작업을 해야 하신다면 /ftp-data/user/default.user 에서 group 을 추가하여 자동으로 지정하시면 이후 개설을 adduser만으로도 하실 수 있습니다.
group [<그룹명>]
자기의 그룹 정보를 보거나, 지정한 그룹으로 들어가거나 그룹에서 탈퇴하는 기능입니다.
groups
현재 존재하는 그룹의 리스트를 출력합니다.
ginfo <그룹명>
해당하는 그룹의 세부 정보를 봅니다. 만약 그 그룹의 사용자가 삭제된었다면 tagline 에는 "***DELETED***" 로 출력될 것입니다.
give <계정명> <Kbytes> [<메시지>]
자신의 크레딧을 남에게 주는 기능입니다.
이 기능을 사용하려면 사용자들의 FLAG를 조정해야 합니다. 주의하세요 Byte가 아닌 Kbyte 입니다.
예제: site give xnet 100000 유용한 자료를 받는데 쓰세요
gpal [<섹션명>]
그룹별 전체 업로드 순위를 봅니다.
gpwk [<섹션명>]
그룹별 주간 업로드 순위를 봅니다.
gpwd [<섹션명>]
그룹별 주간 다운로드 순위를 봅니다.
gpad [<섹션명>]
그룹별 전체 다운로드 순위를 봅니다.
grpadd <그룹명> [<설명>]
새로운 그룹을 생성한다.
예제: site grpadd sysop 사이트운영팀
sysop이란 그룹이 생기며 사이트운영팀이라는 설명을 달게된다
grpdel <그룹명>
해당 그룹을 삭제한다
예제: site grpdel ftp
ftp 라는 그룹을 삭제한다
grpnfo <그룹명> <설명>
그룹의 설명을 변경한다
예제: site grpnfo xnet 관리팀
idle [<아이들시간>]
최대 접속 유지 가능한 시간을 설정합니다. 이 설정은 세션마다 별도로 동작합니다. (최대 7200 초)
예제: site idle
현재 접속 유지 시간을 확인합니다.
예제: site idle 7200
idle 설정을 7200 초로 설정합니다.
예제: site idle 0
flag 설정이 된 사용자만이 사용합니다. 무한 idle 설정
kick <계정명>
해당 사용자를 사이트에서 쫓아냅니다. 전체 연결을 끊기때문에 모든 세션이 종료됩니다.
kill <pid>
특정 pid 를 kill 합니다.
예제: site kill 345
pid# 345 번 (glftpd 유저에 속한..) 을 kill 합니다.
logins [<수치>] [<검색어>]
로그인이 실패한 데이터를 출력해줍니다.
이것은 /glftpd/ftp-data/logs/login.log 를 tail합니다.
site uchanges 의 syntax를 참조할것
laston
마지막 사용자들의 접속 기록을 보여줍니다.
msg <옵션>
일종의 ftp 상의 메시지이며 편지함 개념을 사용하는 신개념 메시지 전송기입니다. site msg read를 한 상태에서 접속을 끊으시면 메시지가 사라질 수 있습니다. (purge 현상)?
옵션 :
read - 새로온 메시지를 읽습니다 save - 메시지를 휴지통에서부터 inbox로 저장합니다 purge - 휴지통에 들어간 메시지를 완전 삭제합니다 tread - 휴지통에 잇는 메시지를 읽습니다. <계정명> <메시지> - 해당사용자에게 메시지를 전송합니다 { <계정1> <계정2> } <메시지> - 다중 사용자에게 동시에 메시지를 보내는 기능이며 30명까지 동시에 전송할 수 있습니다. =<그룹명> <메시지> - 그룹에게 메시지를 보냅니다. * <message> - 접속된 전 사용자에게 메세지를 보냅니다
예제: site msg read
메시지를 읽습니다.
예제: site msg xnet 안녕?
안녕? 이라는 메시지를 xnet 사용자에게 보냅니다.
예제: site msg =sysop 안녕하세요?
안녕하세요? 라는 메시지를 sysop 그룹의 사용자에게 보냅니다.
예제: site msg save
메시지를 저장합니다.
예제: site msg purge
메시지를 모두 삭제합니다.
monthup [<섹션>]
월 업로드 순위를 출력합니다.
monthdn [<섹션>]
월 다운로드 순위를 출력합니다.
nfo <파일명> [<nfo파일명>]
.zip 압축 안의 .nfo 파일을 보여줍니다.
예제: site nfo test.zip
예제: site nfo test.zip classes.nfo
nuke <디렉토리> <배율> <메시지>
디렉토리를 누크 (삭제) 합니다.
예제: site nuke mp3 0 하드_용량이_부족합니다
mp3라는 디렉토리를 하드 용량이 부족하다는 메시지와 함께 삭제하되 사용자의 크레디트는 감점하지 않는다
예제: site nuke lesbien 5 난_이런거_싫어해요-_-
싫다는 메시지와 함께 올린 사람에게 5배의 크레딧을 감점시킵니다.
nukes
누크가 된 디렉토리들을 조회합니다.
nuketop [<섹션>]
전체 누크 탑 순위를 출력합니다.
new [.] [<#>]
새로 생겨진 디렉토리를 출력합니다.
예제: site new
기본 설정값인 10개의 새로운 디렉토리를 출력합니다
예제: site new .
현재 디렉토리를 중심으로 새로생성된 하위디렉토리를 출력
예제: site new . 20
하위디렉의 새 디렉토리 20개를 검색합니다
onel [<글월>]
접속자 끼리의 온라인 메시지를 표시합니다
글월을 입력할 경우 메시지를 추가하게 됩니다
예제: site onel
( 온라이너 메시지를 출력함 )
예제: site onel 안녕하세요? 자료 많이 올려주세요
위의 글월을 온라이너 공지에 새로이 추가함
passwd <비밀번호>
본인의 비밀번호를 변경하는 기능
예제: site passwd 12345
12345 로 새로이 패스워드를 변경함.
purge [<계정명>]
삭제된 사용자를 완전히 지워버림. 이 경우 site readd 명령어로 추가 불가능해짐
renuser <계정명> <바꿀계정명>
사용자의 계정이름을 변경한다.
request [<글월>]
자료 요청 목록을 표시하거나 추가 한다
reqfilled <#>
자료 요청을 접수함.
예제: site reqfilled 3
요청목록 3번을 삭제하고, 해당 사용자에게 메일을 보내준다.
reqlog [<숫자>] [<검색어>]
자료 요청 접수 기록을 확인한다.
readd [<계정명>]
삭제되었던 사용자를 다시 추가시킨다
예제: site readd
(삭제된 사용자 목록 출력, 살릴수 있는 사람만)
예제: site readd xnet
(xnet 계정을 삭제상태에서 다시 사용자를 추가시킴)
stat
자신의 현재 상태를 출력한다. (크레딧등)
search <글월>
전체 사이트를 검색하여 해당하는 디렉토리 명이 존재하는지 검색한다. 대소문자 구별을 하지 않는다.
seen <계정명>
해당 유저가 언제 마지막으로 접속한지 확인한다
stats [<계정명>]
사용자의 업/다운로드 상황을 출력한다.
만약 멀티 세션을 사용중이면 전 세션을 출력한다
show <계정명>
ftp-data/user 의 사용자 파일을 raw 포맷으로 출력해준다
swho
세부적인 사용자들의 접속정보를 출력한다
tagline [<tagline>]
자신의 태그라인을 보거나 설정한다
예제: site tagline
(tagline 보기)
예제: site tagline X-network Jjang
(tagline 설정)
take <계정명> <킬로바이트> [<메시지>]
사용자에게서 지정한 크레딧만큼 빼앗아온다
예제: site take bluefeel 10000 바이러스 올리지마
time
현재 사이트의 여러 시간을 보여준다
user [<계정명>]
사용자들의 목록을 출력하거나 사용자의 상세한 정보를 볼때 사용합니다
users [<키워드>]
그룹에 속해있는 전체 사용자를 봅니다. 이 기능은 user flag 를 단 사용자만이 가능합니다.
만약, site users c* 를 할 경우 계정이름이 c로 시작하는 사람들을 그룹에서 찾아줍니다
update <글월>
지정한 글월과 매치되는 모든 글월의 디렉토리 정보를 업데이트합니다 (site new 기능으로 확인) 글월에는 일반적으로 * 를 사용합니다.
uchanges [<번호>] [<검색어>]
사용자의 변경상황 기록을 조회합니다.
예제: site uchanges 10 deleted
삭제된 기록 10개를 출력
예제: site uchanges added
추가 기록 전체 출력
unnuke <디렉토리명> <메시지>
누크된 디렉토리를 취소 (언눅) 합니다. 디렉토리 이름이 길 경우 {디렉토리명} 을 쓰세요
undupe <글월>
해당하는 파일명을 ftp-data/logs/dupefile 목록에 서 삭제합니다.
예제: site undupe cls*
cls로 시작하는 중복 데이터 베이스를 모두 삭제함
vers
glFTPD의 버전정보를 출력
who
접속된 사용자들의 목록을 출력함.
wkup [<섹션명>]
주간 업로드 순위를 출력
wkdn [<섹션명>]
주간 다운로드 순위를 출력
welcome
초기 환영 메시지를 출력함
traffic
사용자들의 up/down 상황을 전 섹션을 합쳐 출력함
ziplist <파일명>
.zip 압축파일 안의 파일들의 이름을 출력함
zipchk <파일명>
.zip 압축파일의 CRC를 체크함
- 3. glftpd 의 Flags (정책) 목록
site flags 로 자신의 플래그를 볼 수 있으며 현재 상태 또한 볼 수 있다.
SITEOP -1- 사이트의 운영자이다. GADMIN -2- 그룹의 관리자 GLOCK -3- 그룹을 이동할 수 없도록 설정 EXEMPT -4- 사이트의 사용자가 한계치라도 접속을 허용하는 대상 COLOR -5- SITE color 명령으로 컬러를 키고 끌 수 있는 사용자 DELETED -6- 이 플래그가 붙은 사용자는 사용자 삭제가 된 사용자임 USEREDIT -7- 부 사이트 운영자로써 유저를 에디트할 권한이 있다 ANON -8- 이 플래그가 켜진 유저는 ANONYMOUS 로 처리된다 anonymous 에 대한 데몬의 기본 설정. (변경불가) 1. '!' 로긴을 이용해 기존 이용자의 접속을 끊을 수 없다. 2. 유저는 DELETE, RMDIR, RENAME 명령어를 사용할 수 없음 3. 이 유저에게는 상태(stats)를 사용하지 않으며 업데이트 하지않는다. 만약 외부 스크립트를 사용한다면 그들의 전송 데이터를 기록하여 보존할 수 있다. NUKE -A- site NUKE 명령을 쓰도록 허용된 사람 UNNUKE -B- site UNNUKE 명령을 쓰도록 허용된 사람 KICK -C- site kick 명령을 쓰도록 허용된사람 KILL -D- site KILL과 swho(pid) 를 ..... TAKE -F- TAKE (크레딧 뺏어오기) 가 허용된.... GIVE -G- 남에게 크레딧을 줄 수 있는 사람 USERS -H- site users와 site user 를 볼 수 있는 일반 유저. IDLER -I- 무한 idle 을 설정할 수 있는 사람.
- 4. glftpd.conf 파일 설정법
주의사항: conf 파일에 명령어나 값을 기재하실때는 모두 "소문자" 를 사용하십시오. 대문자를 사용할 경우 glftpd가 인식을 못합니다.
shutdown # # 의 수치가 0 일경우 서버는 동작중이며. 1 일 경우 사이트 오퍼만이 로그인이 가능하며 2 일 경우 누구도 로그인을 할 수 없다. /ftp-data/text/shutdown 을 접속하려는 사용자에게 보여주게 된다 free_space xxx 이 기능은 사용자의 업로드를 제어하는 설정치 중에 하나이다. 만약, 이 기능을 사용하지 않는다면 당신의 하드가 10메가도 남지 않은 상태에서 사용자가 업로드를 하여 하드를 끝까지 채운다면 당신의 리눅스가 다운되었을때 정상적으로 부팅하지 못할수가 있다. 약 200메가 대로 이것을 설정하였다면 200메가 이하로 줄어드는것을 glftpd는 막아줄 것이다. use_dir_size k|b|m glftp가 list명령어로 디렉토리를 보여줄때의 디렉토리들의 사이즈를 나타낼 표시 단위이다. timezone +-# 이 명령은 타임존의 시간대를 늘리거나 줄인다. 예로 timezone -4 를 할 경우 기본 시간보다 약 4시간전으로 돌아간다 사용을 권장하는 명령어는 아니다. sitename_long <이름>[:space:]<이름> 사이트 이름을 정의한다. 공백은 [:space:] 로 입력해야만 한다. sitename_short <abb> 사이트 이름의 약자를 입력한다. login_prompt <글월> 글월을 기본 로그인 프롬프트와 대체한다. ([:space:] 를 사용가능) 로그인 프롬프트는 login 하기 전에 나오는 설명이다. rootpath <path> 이 패스는 bin, etc, lib 등이 지정되어있는 시스템디렉토리여야 한다. glftpd는 chroot를 직접하고있다. 기본적으로는 /glftpd가 설정값이 된다. master <user> 마스터 오퍼를 지정한다. 이 마스터는 ftp 최고의 권한을 가지고 있으며 그는 다른이들의 플래그와 다른 사이트 오퍼들을 제어할 권한이 있다 ipc_key # glftpd는 shared memory 를 사용한다. 그래서 ipc_key 를 필요로 한다 기본값으로 gfltpd는 "0x0000DEAD"를 사용한다. 만일 당신이 다른 glftpd 서버를 클론하여 또 동작시키고 싶을 경우 다른 키를 지정한다 키값은 hex 디시멀로 입력되며 8자리수를 가지고 있다 예를들어 "0xBEFEAFDE" 등이 될 수 있다. 만약 당신이 ftpwho.c 를 사용한다면 ftpwho.c를 수정하거나 같은 ipc_key 를 구동하여야 두 데몬을 동시에 볼 수 있다 secure_ip <최저대역필드> <nnhostname?> <flags/=groups/-username> Glftp는 secure ip라는 정책을 통하여 어떤 유저에게도 addip가 되지않은 ip대역에서는 데몬이 동작하는지 확인을 할 수 없다. 정확히는 접속이 불가능해진다. secure_ip 2 1 =STAFF 1 staff들과 사이트 오퍼에게 ip의 2단위 자리까지 설정을 하게한다 secure_ip 1 1 * 주로 많이 쓰는것이다. 이 경우 *@211.*.*.* 가 허용된다. <nnhostname> 은 ip주소가 아닌 domain 을 ip주소로 사용할 수 있게하는 옵션이다. reverse 되었다면 이 기능과 위의 설치시 inetd 컨피그의 설정을 변경하여 같이 사용하면 된다. nnhostname 이 1일 경우 domain을 사용하는것이고 0 이면 ip만 사용한다는것 secure_pass <mask> <flags/=groups/-usernames> glftpd는 <mask>가 포함한 패스워드를 사용하지 못하게 하거나 패스워드의 최저 길이나 몇가지 설정등을 할 수 있다. '.' 은 패스워드의 길이를 제어할 수 있다. 예를들어 Ab1... 를 mask에 입력할 경우 패스워드는 6 바이트 이상이어야 하며 적어도 하나의 대문자와 하나의 소문자, 하나의 숫자를 포함하여 패스워드를 작성해야만 site passwd 가 작동할 수 있도록 된다. 위에 Ab1... 를 할 경우 사용자가 지정할때의 passwd 동작은 아래와 같아 Abcde1 등으로 대문자1, 소문자1개이상, 숫자 1개이상만 변경되며 6자리를 넘겨야만 site passwd가 허용된다. abcdef 등으로 패스워드를 변경할 경우 위의 규칙과는 어긋나기에 패스워드 변경이 거부된다. 또한 플래그나 그룹네임의 ! 로 부정문을 선언할 수 있다. secure_pass zzf3$. !1 !=STAFF * 를 선언할 경우의 정의는 아래와 같다. 이 선언은 모두에게 적용되나, Siteops (플래그 1번) 과 STAFF 에게는 적용되지 않는다 (그룹). 적어도 2개의 대문자와 1개의 소문자와 1개의 숫자, 그리고 다른 특수 캐릭터 (!나 # 등) 으로 구성되어야 한다. datapath <path> glftp가 불러들어 사용하는 데이터들의 패스파일이다. 기본값은 ftp-data 이며 root path 가 /glftpd일 경우 이 패스는 datapath /ftp-data 로 입력하면된다. 만약 rootpath / 로 설정이 되어있을 경우 datapath 는 /glftpd/ftp-data 로 입력해야 한다. pwd_path <path/file> glftpd의 passwd 파일이 있는곳을 설정한다. 기본값은 /etc/passwd 이며, 만일 rootpath가 / 라면 pwd_path는 /glftpd/etc/passwd 로 지정해야한다 grp_path <path/file> glftpd의 그룹파일이 저장된 경로를 지정함 (기본값은 /etc/group) botscript_path <path> bot script의 디렉토리를 지정함. botscript는 디렉토리가 만들어지거나 누크당했을때 동작한다. 봇에 'announce'를 신호로 지정하여 새 디렉토리를 처리할 수 있다. bouncer_ip x.x.x.x [ x.x.x.x ... ] 당신이 ftp 바운서를 사용할 경우 당신은 바운서의 ip를 지정하여 glftpd의 접속 바운서 설정을 하여 user가 들어올 수 있도록 한다 speed_limit PATH DL_LIMIT UP_LIMIT 특정 디렉토리나 전역에 업로드 속도 다운로드 속도의 제한을 설정할 수 있다. speed_limit /site/Incoming* 150000 0 speed_l
Linux glFTPD Docs v1.20 & v1.21
Original docs composed by icetrain
FAQ composed by Archimede
Maintained by Archimede #glftpd
v 1.20 & v 1.21
한글 Howto 작성: 오명오(LeCieL) xiopadm@dgtalx.net
2000년 7월 1일
주의: 이 문서는 glFTPD 의 docs의 내용을 따랐으며 후반부 부터는 몇몇 운영 방식에 대해 필자의 몇가지 팁을 기술하였습니다.
번역본과 GUIDE를 포함한 형식의 HOWTO 입니다.
또한 중간중간 몇개의 설정치의 값이 두개가 존재합니다.
이 부분은 잘 읽어보시면 아시겠지만 이 문서는 1.20 과 1.21 두 버전의 설정치를 둘다 설명한 부분이 있습니다.
(정확히는 변경된 내용입니다. 1.21 사용자는 해당 설정치를 사용해야합니다)
1. 설치 (LINUX)
2. glFTPD site 명령어 목록
3. glFTPD 의 flags (정책) 목록?
4. glftpd.conf 파일 설정법
5. 컬러 쿠키값
6. 기타 쿠키값
7. glFTPD 를 이용한 FTP 운영
8. 잦은 문의와 질문
9. 1.20 -> 1.21 로 바뀐점
- 1. 설치하기
자료 위치 : http://www.glftpd.org
압축형식 : tar.gz
포인트: 해당 자료위치에서 glftpd 최신 버전을 다운 받은 후 압축을 해제한 뒤에 glinstall1.10.sh 를 실행시킨다.
1. su 나 root 계정으로 로그인을 한 후 glftpd 를 받은 위치로 이동한다.
2. 해당 압축파일에서 루트디렉토리 아래에 압축을 해제한다.
( tar xzvf glftpd-LNX_1.20.tgz -C / )
3. 위와 같이 압축을 해제하였을 경우 /root/glftpd??? 디렉토리가 생성되었을 것이다. 확括?한 후 디렉토리 내로 진입한다.
( cd ~/glftpd-LNX_1.20 )
4. 이후 glinstall 을 실행하여 설정을 잡는다.
( ./glinstall1.10.sh )
주의사항 : 이미 존재하는 디렉토리를 ftp 운영디렉토리 (초기 디폴트값을 /glftpd/site 로 지정하고 물어볼 것이다. 이것을 변경하는것은 별 문제가 없으나, 이미 존재하는 디렉토리를 지정하면 그 디렉토리 전체를 삭제하고 설치를 하는 경우가 발생하니 이점을 각별히 유의할것
- Section 1. 수동 설치 (스크립 에러) -----------------------------
이 부분은 glinstall 스크립트를 이용하지 않고 (원인 모를 에러나, 쉘이 지원되지 않을경우만) 수동으로 설치를 하는 방법을 기술하고 있다.
인스톨 스크립트를 이용하여 설치한 사용자는 이 부분을 건너뛰어도 되며, 혹시라도 명령어를 따라 칠 경우 잘못된 설정으로 glftpd를 정상적으로 이용하지 못할 사태가 발생 할 수 있음을 경고한다.
1. 압축 해제
( tar xzvf glftpd-LNX_1.20.tgz -C / )
2. 사용하는 라이브러리와 컨피그 파일을 복사함
( cp /usr/lib/* /glftpd/lib; cp /sbin/ldconfig /glftpd/bin )
(os에 마다 틀리며 library 가 든 디렉토리가 각자 틀릴 수 있음을 명시한다. 자신의 설정과 맞게 cp /usr/lib 등을 수정해야 한다 )
3. mknod 로 특수 형태 파일을 지정한다.
cd /glftpd/dev mknod -m666 null c 1 3 mknod -m666 zero c 1 5
4. ftp 구조체에 ld.so.cache 파일을 생성한다. 명령을 친 후 해당하는 파일이 존재하는지 확인해야 하며. ls /glftpd/etc 에 ld.so.cache 파일이 존재할 경우 설치가 성공적으로 끝났을 가능성이 있다. 만약 파일이 존재하지 않을 경우 라이브러리 확인을 다시하며 과정 2번부터 다시 재작업을 하며 확인을 해야한다. 설치 과정중에 에러 메시지가 날 수 있으며 이것은 무시해도 된다 파일이 존재할 경우에만 해당함.
( chroot /glftpd /bin/ldconfig )
5. 아래의 명령어를 사용하여 glftpd의 bin 디렉토리에 해당 파일을 복사한다.
cp /bin/sh /glftpd/bin; cp /bin/kill /glftpd/bin; cp /bin/cat /glftpd/bin; cp /bin/echo /glftpd/bin; cp /bin/grep /glftpd/bin; cp /bin/unzip /glftpd/bin
6. 복사가 끝났을 경우 퍼미션 설정을 한다.
( chmod -R 755 /glftpd/bin )
( chmod -R 755 /glftpd/lib )
--------------------------- End Of Section -----------------------------
( glinstall.sh 의 설치는 너무도 간단하기에 설명하지 않았다 )
5. FTP 의 Incoming 디렉토리 (누구나 올릴 수 있는 공간) 의 설정 만약 Incoming 을 통한 운영법을 선택할 경우 아래와 같이 퍼미션을 조정한다 ( chmod 777 /glftpd/site/incoming )
더 자세한 ftp 운영에 관한것은 6~7 장을 통하여 서술할 것이다.
6. glftpd.conf 파일의 설정을 마치고 /etc 디렉토리로 복사하여야 한다.
( cp /glftpd/glftpd.conf /etc/. )
파일이 존재할 경우 덮어쓰기 한다.
** 경고 : glftpd.conf 파일은 glftpd 데몬에 관련된 설정파일임으로 절대적으로 수정을 하여야 한다. 샘플로 config 를 대체하는 행위는 절대 권장하지 않는다. 본인이 직접 수정하길 바란다.
7. inetd 에 데몬을 추가한다. (이 부분은 glinstall 을 이용하여 설치한 사용자는 수정하지 않아도 될 부분이나 혹시나 다른 옵션을 쓰실경우 수정시 참고할것)
vi 나 pico 에디터를 이용하여 /etc/inetd.conf 파일을 수정하도록 한다. 가급적 맨 마지막줄에 넣어두는것이 좋다.
vi /etc/inetd.conf
(내용 수정)
glftpd stream tcp nowait root /usr/sbin/tcpd /glftpd/bin/glftpd -l -o -i -r /etc/glftpd.conf
(위의 내용을 줄 끝에 추가한다)
아래는 옵션에 대한 설명이다.
-B port bouncer 를 통하여만 접속을 허용하도록 한다. -b port bouncer 혹은 직접 연결을 허용한다. -e 이 명령어는 유럽의 주단위에 stats를 수정하게 한다 (잘 안쓰는 명령임) -l 업로드/누크/언누크/접속/접속해제 등의 정보를 log (기록) 에 남겨두는 옵션임. (기록은 /glftpd/ftp-data/logs/glftpd.log 파일에 저장됨.) ( 실시간으로 로그를 확인하려면 tailf glftpd.log (해당디렉토리 안에서) 를 이용하여 볼 수 있음 tail -f glftpd.log 등.. ) -i 업로드 기록을 /glftpd/ftp-data/logs/xferlog 에 저장함 -I 계정 인증 확인을 하지 않음 ( ip 추가시 타 리눅스 서버나 ident 서버를 통해 들어오는 사용자의 ident를 검사하지 않는 옵션임. 만약 윈도우 계열의 사용자가 많다면 이 옵션을 사용해도 좋음) -o 다운로드 기록을 logs의 xferlog 파일에 남김 -d 접속 시도에 관한것을 시스템 로그로 남김 -r <file> 지정한 glftpd.conf 파일을 사용함 -t <seconds> idle 로 인해 타임아웃 처리기간의 최소치를 설정함. -T <seconds> idle 로 인해 타임아웃 처리기간의 최대치를 설정함. -n <#> dns 재시도 회수 설정 (수치), 0 은 dns resolving 사용안함
8. /etc/services 탭에 glftpd 가 서비스될 포트를 지정한다.
이는 수동 설치자만이 해야하는 부분임으로 glinstall 을 이용한 사용자는 손댈 필요 없는 부분이다.
vi /etc/services 의 아래와 같은 항목을 추가한다.
glftpd 포트번호/tcp
(예 : glftpd 21/tcp )
포트번호는 본인이 구동할 포트번호를 입력할것
9. 설치가 완료되었으면 glftpd 의 구동을 위해 inetd 를 재시작해야한다.
killall -HUP inetd 명령을 이용하여 재시작 할것.
10. glftpd 서버 접속 테스트.
초기 계정의 설정은 Login/Pass = glftpd/glftpd 이다. 본인이 접속하여 site passwd 명령으로 패스워드를 필히 변경하라.
( 주의 : 접속은 꼭 아래와 같이 하여야만 한다. ip를 치지말것 Glftpd 는 ip mask 영역을 인식하도록 제작되어있다. glftpd 계정의 경우 초기 매스크가 *@127.0.0.1 임으로 로컬호스트가 아닌 원격지에서의 접근은 불가능하다. )
ftp localhost (본인의 포트)
(예제 : # ftp localhost 21 )
만약. "421 Service not available" 메시지나 이와 유사한 메시지가 출력될 경우 glftpd 의 설치가 잘못되었을 수 있다. 이때는 /var/logs 의 시스템 로그와 glftpd 디렉토리의 (/glftpd/ftp-data/log) 로그를 자세히 살펴보고 원인을 파악하여 해결하라
- 2. glftpd site 명령어 목록
안내: glftpd 의 site 명령은 glftpd 의 flags 정책을 통하여 제어를 한다. 이 정책은 glftpd.conf 파일의 맨 마지막에 존재한다. 이 정책은 변경할 필요가 없을정도로 잘 설정이 되어있다. 정책 변경을 함부로 하거나 보안을 생각하지 않은채 할 경우 당신의 ftp 운영에 큰 지장을 초래하거나 역으로 시스템에 문제가 발생할 소지가 생긴다.
아래부터 설명할 것은 glftpd 자체 데몬 명령어들이다. 당신은 앞으로 이 명령어들을 통하여 ftp를 관리해야만 하므로 대략적인 사용법을 익히고 있는것이 좋다.
site help 로 나오는 명령과 아래에 서술하는 명령은 조금 틀리다. site help 에는 나오지 않는 비밀기능? 같은 것인데 운영자는 필독해야할 몇가지 명령이 있음으로 한번 인내심을 가지고 읽어보는것이 바람직하다
<> 에 쌓여진것은 필드이며 입력을 하지 않으면 기능이 정상작동하지 않는다.
[] 에 쌓여진것은 옵션항목이며 입력을 하지 않아도 기능이 정상작동한다.
site help
도움말. ftp 에 접속하여 ftp> 가 떳을때 site help 엔터 등으로 site 명령어는 입력을 한다. site help 를 치면 명령어 목록과 간략한 설명이 출력되며 site help 명령어로 특정 명령어의 자세한 도움말을 볼 수 있다 이하 site 를 생략한채 명령어만 설명한다.
adduser <계정명> <비밀번호> [<인증@ip주소>... (ip 5개까지 추가가능)]
adduser 는 새로운 사용자를 추가하는 명령어며 site op 의 flag를 달고있는 사이트 오퍼, 그룹 관리자, 유저 에디터만이 가능한 명령어다. 아래와 같이 3가지 플래그를 설명하였는데 플래그에 관한 정의는 아래쪽에서 자세히 할 것이다.
<인증@ip주소> 는 ident서버를 통해 들어오는 값을 넘기는것으로 위의 inetd.conf 에서 ident를 쓸지 안쓸지 제어할 수 있다. 위의 [ ] 안의 인증@ip 주는 쳐도 되며 안쳐도 된다. 만일 당신이 site 오퍼이고, 리눅스를 통해서 로긴만 하며, 리눅스의 계정이름이 xnetwork 인 경우에..? 새로운 오퍼 id를 만들 시에는 2번째 예제처럼 보안적 요소를 구성할 수 있다.?
예제 1: site adduser bluefeel 12345 *@211.37.78.*
login 명 bluefeel 에 패스워드 12345, 211.37.78 로 시작하는 ip를 모두 받도록 계정을 만든다.
예제 2: site adduser bluefeel 12345 xnetwork@211.37.78.37
login 명이 bluefeel 이며 패스워드 12345, 211.37.78.37 이라는 ip에서만 접속되며 해당 ip에서도 xnetwork라는 계정을 쓰는 사람만이 접속이 가능하다. 타인은 접속이 불가능하다.
addip <계정명> <인증@ip주소> (10개까지 ip주소 추가 가능)
해당하는 계정사용자에게 ip 대역을 추가하는 명령어
예제 : addip xnet *@211.203.232.* xnetwork@24.48.* xnetwork@dgtalx.net
(위와 같이 입력할 경우 xnet 이란 ftp 계정에 3개의 ip 와 dns 를 동시에 추가하게 된다 mask 는 211.108.*.* 등으로 할 필요 없이 211.108.* 만 해도 된다 )
aldn [<섹션>]
전체 사용자별 다운로드 순위를 표시한다. 섹션은 옵션이며 섹션 이름 혹은 0-9 사이의 섹션넘버를 사용한다
alup [<섹션>]
전체 사용자별 업로드 순위를 표시한다.
alias
현재 지정된 alias 를 보여준다.
cdpath
현재 지정된 cd 의 경로를 보여준다.
chpass <계정명> <새패스워드>
이 명령은 다른 사용자의 패스워드를 변경하는 명령이다. 말안해도 알겠지만 사용자한텐 권한이 없다. 오퍼들에게만 해당됨 여기에 몇가지 옵션을 설명한다.
예제: site chpass xnet *
xnet 계정에게 어떠한 글자를 입력받더라도 패스워드로 인정하고 로그온을 허용한다
예제: site chpass xnet @
anonymous 에나 쓰는것이다. 어떤 email주소든지 입력하기만하면 로그온을 허용하게 한다.
change <계정> <필드명> <값>
사용자의 특정 필드의 값을 변경함
change <그룹> <필드명> <값>
그룹의 특정 필드의 값을 변경함
change { <계정1> <계정2> .. } <필드명> <값>
지정계정들의 필드 값 변경
change * <필드명> <값>
전체 사용자의 필드 값 변경
- change 도움말 보는법 : site change user help
* 사용 가능한 필드 리스트
필드 설명 ------------------------------------------------------------------ ratio Up/Down 의 비율을 조절하는 필드, 0=제한안함 wkly_allotment 매주 크론탭을 통하여 리셋, 혹은 받을 수 있는 파일의 크기를 설정해 주는것. 시간당 한 섹션만 제공함 homedir 해당 사용자의 홈디렉토리를 변경 (액세스 최상위지역) credits 사용자가 받아갈 수 있는 용량 flags 사용자 관리 정책. site flags 명령어로 리스트 조회가능 또한 자신의 플래그 상태를 쉽게 볼 수 있으며 이 명령어는 + 혹은 - 플래그 수치를 입력해야 한다. num_logins 몇개의 로긴수 까지 허용하는지를 설정 timeframe # # : 단위로 입력받으며 이 사용자가 로긴할 수 있는 시간대를 설정하는것 시간을 초과하면 강제 접속종료함 이 단위는 24시간 단위로 입력해야함 time_limit 접속한 세션단위로 접속할 수 있는 시간을 제한함 tagline User 의 정보를 입력하는 것 (site who 에 나옴) group_slots 해당 그룹의 그룹관리자가 사용자를 받을 수 있는 최대 사용자의 슬롯 개수를 제한한다. comment 사용자의 부가설명은 추가합니다 (한글25글자 영문 50글자) max_dlspeed 최대 다운로드 할 수 있는 속도에 제한을 겁니다 max_ulspeed 최대 업로드 할 수 있는 속도에 제한을 겁니다 sratio 세션당 레이티오 제한을 겁니다. <섹션명> <값> 형식
예제: site change xnet
"xnet" 계정 사용자의 정보를 출력합니다.
예제: site change xnet ratio 5
(업/다운 비율을 1:5 로 조정합니다)
예제: site change xnet flags +12
사용자의 플래그를 1, 2 를 작동시킵니다. (site 오퍼와 그룹어드민)
chgrp <계정> <그룹> [<변경될그룹>]
사용자를 그룹에 추가/삭제 합니다.
예제: site chgrp xnet ftp
사용자의 그룹을 ftp 그룹으로 변경합니다.
예제2: site chgrp xnet ftp (위에 한번 실행후 재실행시)
사용자를 ftp 그룹에서 제명합니다.
예제: site chgrp xnet ftp sysop
사용자를 ft p그룹에서 sysop 그룹으로 이전시킵니다
chmod <퍼미션 매스크> <패스/파일명>
퍼미션을 조정하는 명령어
예제: site chmod 777 /site/incoming
color
메세지의 컬러 사용 여부를 결정합니다.
이 기능은 flag 를 조정해주어야만 하며, 컬러가 지원되는 ftp 프로그램이어야 합니다.
delip <계정명> <인증@ip주소>
지정하는 ip를 계정에서 삭제합니다. 10개까지 동시 입력됩니다.
예제: site delip xnet xnet@dgtalx.net
예제2: site delip xnet 1
xnet 사용자의 계정의 1번째 ip 슬롯의 데이터를 삭제함 ( site user xnet 으로 슬롯 확인 가능 )
deluser <계정명>
해당 계정을 삭제합니다. 하지만 완벽한 삭제는 하지 않고
데이터는 그대로 보존되어있습니다. 플래그만 기록하는것입니다. (삭제 플래그는 6번)
나중에 완전히 삭제 하려면 site purge 명령어를 사용해야 합니다.
dupe [<수치>] <글월> [<글월2>... ]
동일한 데이터가 있는지를 ftp-data/logs/dupelog 에서 찾아냅니다
검색은 대형 db를 찾기때문에 상당한 시간이 소요됩니다.
여유를 갖고 조금 기다리세요. 또한 글월에는 와일드매치가 되지 않습니다. * 등의 와일드 카드를 사용하지 마세요
기본적으로 glftpd는 20개의 대조 결과를 출력합니다.
만약 당신이 첫번째의 [<수치>] 에 숫자를 입력한다면 그 갯수만큼의 결과를 출력할것입니다. 최하단에 출력되는 결과물이 최근 데이터입니다.
예제: site dupe quoake
quake 에 관련된 dupe 기록을 서치합니다.
예제: site dupe quake arena
"Quoake_Arena" 를 찾습니다 일반 "Quake"는 나오지 않습니다.
예제: site dupe 50 linux glftpd 1.
50개의 엔트리를 출력하며, "glftpd" 와 "linux" 그리고 "1."을 검색합니다. 결과물은 이런것이 됩니다.
"Glftpd.for.linux.v1.20" 혹은 "glftpd.v1.19_for_linux".
dayup [<섹션>]
오늘의 최고 업로드 사용자를 출력합니다.
daydn [<섹션>]
오늘의 최고 다운로드 사용자를 출력합니다.
flags [<계정명>]
해당 사용자의 플래그를 표시합니다. (기본은 자신)
gadduser <그룹> <계정명> <비밀번호> [<인증@IP주소>.. (5개)]
gadduser는 새로이 추가된 기능으로 지정한 그룹에 사용자를 개설과 동시에 추가시키게 됩니다.
매번 번거로이 이 작업을 해야 하신다면 /ftp-data/user/default.user 에서 group 을 추가하여 자동으로 지정하시면 이후 개설을 adduser만으로도 하실 수 있습니다.
group [<그룹명>]
자기의 그룹 정보를 보거나, 지정한 그룹으로 들어가거나 그룹에서 탈퇴하는 기능입니다.
groups
현재 존재하는 그룹의 리스트를 출력합니다.
ginfo <그룹명>
해당하는 그룹의 세부 정보를 봅니다. 만약 그 그룹의 사용자가 삭제된었다면 tagline 에는 "***DELETED***" 로 출력될 것입니다.
give <계정명> <Kbytes> [<메시지>]
자신의 크레딧을 남에게 주는 기능입니다.
이 기능을 사용하려면 사용자들의 FLAG를 조정해야 합니다. 주의하세요 Byte가 아닌 Kbyte 입니다.
예제: site give xnet 100000 유용한 자료를 받는데 쓰세요
gpal [<섹션명>]
그룹별 전체 업로드 순위를 봅니다.
gpwk [<섹션명>]
그룹별 주간 업로드 순위를 봅니다.
gpwd [<섹션명>]
그룹별 주간 다운로드 순위를 봅니다.
gpad [<섹션명>]
그룹별 전체 다운로드 순위를 봅니다.
grpadd <그룹명> [<설명>]
새로운 그룹을 생성한다.
예제: site grpadd sysop 사이트운영팀
sysop이란 그룹이 생기며 사이트운영팀이라는 설명을 달게된다
grpdel <그룹명>
해당 그룹을 삭제한다
예제: site grpdel ftp
ftp 라는 그룹을 삭제한다
grpnfo <그룹명> <설명>
그룹의 설명을 변경한다
예제: site grpnfo xnet 관리팀
idle [<아이들시간>]
최대 접속 유지 가능한 시간을 설정합니다. 이 설정은 세션마다 별도로 동작합니다. (최대 7200 초)
예제: site idle
현재 접속 유지 시간을 확인합니다.
예제: site idle 7200
idle 설정을 7200 초로 설정합니다.
예제: site idle 0
flag 설정이 된 사용자만이 사용합니다. 무한 idle 설정
kick <계정명>
해당 사용자를 사이트에서 쫓아냅니다. 전체 연결을 끊기때문에 모든 세션이 종료됩니다.
kill <pid>
특정 pid 를 kill 합니다.
예제: site kill 345
pid# 345 번 (glftpd 유저에 속한..) 을 kill 합니다.
logins [<수치>] [<검색어>]
로그인이 실패한 데이터를 출력해줍니다.
이것은 /glftpd/ftp-data/logs/login.log 를 tail합니다.
site uchanges 의 syntax를 참조할것
laston
마지막 사용자들의 접속 기록을 보여줍니다.
msg <옵션>
일종의 ftp 상의 메시지이며 편지함 개념을 사용하는 신개념 메시지 전송기입니다. site msg read를 한 상태에서 접속을 끊으시면 메시지가 사라질 수 있습니다. (purge 현상)?
옵션 :
read - 새로온 메시지를 읽습니다 save - 메시지를 휴지통에서부터 inbox로 저장합니다 purge - 휴지통에 들어간 메시지를 완전 삭제합니다 tread - 휴지통에 잇는 메시지를 읽습니다. <계정명> <메시지> - 해당사용자에게 메시지를 전송합니다 { <계정1> <계정2> } <메시지> - 다중 사용자에게 동시에 메시지를 보내는 기능이며 30명까지 동시에 전송할 수 있습니다. =<그룹명> <메시지> - 그룹에게 메시지를 보냅니다. * <message> - 접속된 전 사용자에게 메세지를 보냅니다
예제: site msg read
메시지를 읽습니다.
예제: site msg xnet 안녕?
안녕? 이라는 메시지를 xnet 사용자에게 보냅니다.
예제: site msg =sysop 안녕하세요?
안녕하세요? 라는 메시지를 sysop 그룹의 사용자에게 보냅니다.
예제: site msg save
메시지를 저장합니다.
예제: site msg purge
메시지를 모두 삭제합니다.
monthup [<섹션>]
월 업로드 순위를 출력합니다.
monthdn [<섹션>]
월 다운로드 순위를 출력합니다.
nfo <파일명> [<nfo파일명>]
.zip 압축 안의 .nfo 파일을 보여줍니다.
예제: site nfo test.zip
예제: site nfo test.zip classes.nfo
nuke <디렉토리> <배율> <메시지>
디렉토리를 누크 (삭제) 합니다.
예제: site nuke mp3 0 하드_용량이_부족합니다
mp3라는 디렉토리를 하드 용량이 부족하다는 메시지와 함께 삭제하되 사용자의 크레디트는 감점하지 않는다
예제: site nuke lesbien 5 난_이런거_싫어해요-_-
싫다는 메시지와 함께 올린 사람에게 5배의 크레딧을 감점시킵니다.
nukes
누크가 된 디렉토리들을 조회합니다.
nuketop [<섹션>]
전체 누크 탑 순위를 출력합니다.
new [.] [<#>]
새로 생겨진 디렉토리를 출력합니다.
예제: site new
기본 설정값인 10개의 새로운 디렉토리를 출력합니다
예제: site new .
현재 디렉토리를 중심으로 새로생성된 하위디렉토리를 출력
예제: site new . 20
하위디렉의 새 디렉토리 20개를 검색합니다
onel [<글월>]
접속자 끼리의 온라인 메시지를 표시합니다
글월을 입력할 경우 메시지를 추가하게 됩니다
예제: site onel
( 온라이너 메시지를 출력함 )
예제: site onel 안녕하세요? 자료 많이 올려주세요
위의 글월을 온라이너 공지에 새로이 추가함
passwd <비밀번호>
본인의 비밀번호를 변경하는 기능
예제: site passwd 12345
12345 로 새로이 패스워드를 변경함.
purge [<계정명>]
삭제된 사용자를 완전히 지워버림. 이 경우 site readd 명령어로 추가 불가능해짐
renuser <계정명> <바꿀계정명>
사용자의 계정이름을 변경한다.
request [<글월>]
자료 요청 목록을 표시하거나 추가 한다
reqfilled <#>
자료 요청을 접수함.
예제: site reqfilled 3
요청목록 3번을 삭제하고, 해당 사용자에게 메일을 보내준다.
reqlog [<숫자>] [<검색어>]
자료 요청 접수 기록을 확인한다.
readd [<계정명>]
삭제되었던 사용자를 다시 추가시킨다
예제: site readd
(삭제된 사용자 목록 출력, 살릴수 있는 사람만)
예제: site readd xnet
(xnet 계정을 삭제상태에서 다시 사용자를 추가시킴)
stat
자신의 현재 상태를 출력한다. (크레딧등)
search <글월>
전체 사이트를 검색하여 해당하는 디렉토리 명이 존재하는지 검색한다. 대소문자 구별을 하지 않는다.
seen <계정명>
해당 유저가 언제 마지막으로 접속한지 확인한다
stats [<계정명>]
사용자의 업/다운로드 상황을 출력한다.
만약 멀티 세션을 사용중이면 전 세션을 출력한다
show <계정명>
ftp-data/user 의 사용자 파일을 raw 포맷으로 출력해준다
swho
세부적인 사용자들의 접속정보를 출력한다
tagline [<tagline>]
자신의 태그라인을 보거나 설정한다
예제: site tagline
(tagline 보기)
예제: site tagline X-network Jjang
(tagline 설정)
take <계정명> <킬로바이트> [<메시지>]
사용자에게서 지정한 크레딧만큼 빼앗아온다
예제: site take bluefeel 10000 바이러스 올리지마
time
현재 사이트의 여러 시간을 보여준다
user [<계정명>]
사용자들의 목록을 출력하거나 사용자의 상세한 정보를 볼때 사용합니다
users [<키워드>]
그룹에 속해있는 전체 사용자를 봅니다. 이 기능은 user flag 를 단 사용자만이 가능합니다.
만약, site users c* 를 할 경우 계정이름이 c로 시작하는 사람들을 그룹에서 찾아줍니다
update <글월>
지정한 글월과 매치되는 모든 글월의 디렉토리 정보를 업데이트합니다 (site new 기능으로 확인) 글월에는 일반적으로 * 를 사용합니다.
uchanges [<번호>] [<검색어>]
사용자의 변경상황 기록을 조회합니다.
예제: site uchanges 10 deleted
삭제된 기록 10개를 출력
예제: site uchanges added
추가 기록 전체 출력
unnuke <디렉토리명> <메시지>
누크된 디렉토리를 취소 (언눅) 합니다. 디렉토리 이름이 길 경우 {디렉토리명} 을 쓰세요
undupe <글월>
해당하는 파일명을 ftp-data/logs/dupefile 목록에 서 삭제합니다.
예제: site undupe cls*
cls로 시작하는 중복 데이터 베이스를 모두 삭제함
vers
glFTPD의 버전정보를 출력
who
접속된 사용자들의 목록을 출력함.
wkup [<섹션명>]
주간 업로드 순위를 출력
wkdn [<섹션명>]
주간 다운로드 순위를 출력
welcome
초기 환영 메시지를 출력함
traffic
사용자들의 up/down 상황을 전 섹션을 합쳐 출력함
ziplist <파일명>
.zip 압축파일 안의 파일들의 이름을 출력함
zipchk <파일명>
.zip 압축파일의 CRC를 체크함
- 3. glftpd 의 Flags (정책) 목록
site flags 로 자신의 플래그를 볼 수 있으며 현재 상태 또한 볼 수 있다.
SITEOP -1- 사이트의 운영자이다. GADMIN -2- 그룹의 관리자 GLOCK -3- 그룹을 이동할 수 없도록 설정 EXEMPT -4- 사이트의 사용자가 한계치라도 접속을 허용하는 대상 COLOR -5- SITE color 명령으로 컬러를 키고 끌 수 있는 사용자 DELETED -6- 이 플래그가 붙은 사용자는 사용자 삭제가 된 사용자임 USEREDIT -7- 부 사이트 운영자로써 유저를 에디트할 권한이 있다 ANON -8- 이 플래그가 켜진 유저는 ANONYMOUS 로 처리된다 anonymous 에 대한 데몬의 기본 설정. (변경불가) 1. '!' 로긴을 이용해 기존 이용자의 접속을 끊을 수 없다. 2. 유저는 DELETE, RMDIR, RENAME 명령어를 사용할 수 없음 3. 이 유저에게는 상태(stats)를 사용하지 않으며 업데이트 하지않는다. 만약 외부 스크립트를 사용한다면 그들의 전송 데이터를 기록하여 보존할 수 있다. NUKE -A- site NUKE 명령을 쓰도록 허용된 사람 UNNUKE -B- site UNNUKE 명령을 쓰도록 허용된 사람 KICK -C- site kick 명령을 쓰도록 허용된사람 KILL -D- site KILL과 swho(pid) 를 ..... TAKE -F- TAKE (크레딧 뺏어오기) 가 허용된.... GIVE -G- 남에게 크레딧을 줄 수 있는 사람 USERS -H- site users와 site user 를 볼 수 있는 일반 유저. IDLER -I- 무한 idle 을 설정할 수 있는 사람.
- 4. glftpd.conf 파일 설정법
주의사항: conf 파일에 명령어나 값을 기재하실때는 모두 "소문자" 를 사용하십시오. 대문자를 사용할 경우 glftpd가 인식을 못합니다.
shutdown # # 의 수치가 0 일경우 서버는 동작중이며. 1 일 경우 사이트 오퍼만이 로그인이 가능하며 2 일 경우 누구도 로그인을 할 수 없다. /ftp-data/text/shutdown 을 접속하려는 사용자에게 보여주게 된다 free_space xxx 이 기능은 사용자의 업로드를 제어하는 설정치 중에 하나이다. 만약, 이 기능을 사용하지 않는다면 당신의 하드가 10메가도 남지 않은 상태에서 사용자가 업로드를 하여 하드를 끝까지 채운다면 당신의 리눅스가 다운되었을때 정상적으로 부팅하지 못할수가 있다. 약 200메가 대로 이것을 설정하였다면 200메가 이하로 줄어드는것을 glftpd는 막아줄 것이다. use_dir_size k|b|m glftp가 list명령어로 디렉토리를 보여줄때의 디렉토리들의 사이즈를 나타낼 표시 단위이다. timezone +-# 이 명령은 타임존의 시간대를 늘리거나 줄인다. 예로 timezone -4 를 할 경우 기본 시간보다 약 4시간전으로 돌아간다 사용을 권장하는 명령어는 아니다. sitename_long <이름>[:space:]<이름> 사이트 이름을 정의한다. 공백은 [:space:] 로 입력해야만 한다. sitename_short <abb> 사이트 이름의 약자를 입력한다. login_prompt <글월> 글월을 기본 로그인 프롬프트와 대체한다. ([:space:] 를 사용가능) 로그인 프롬프트는 login 하기 전에 나오는 설명이다. rootpath <path> 이 패스는 bin, etc, lib 등이 지정되어있는 시스템디렉토리여야 한다. glftpd는 chroot를 직접하고있다. 기본적으로는 /glftpd가 설정값이 된다. master <user> 마스터 오퍼를 지정한다. 이 마스터는 ftp 최고의 권한을 가지고 있으며 그는 다른이들의 플래그와 다른 사이트 오퍼들을 제어할 권한이 있다 ipc_key # glftpd는 shared memory 를 사용한다. 그래서 ipc_key 를 필요로 한다 기본값으로 gfltpd는 "0x0000DEAD"를 사용한다. 만일 당신이 다른 glftpd 서버를 클론하여 또 동작시키고 싶을 경우 다른 키를 지정한다 키값은 hex 디시멀로 입력되며 8자리수를 가지고 있다 예를들어 "0xBEFEAFDE" 등이 될 수 있다. 만약 당신이 ftpwho.c 를 사용한다면 ftpwho.c를 수정하거나 같은 ipc_key 를 구동하여야 두 데몬을 동시에 볼 수 있다 secure_ip <최저대역필드> <nnhostname?> <flags/=groups/-username> Glftp는 secure ip라는 정책을 통하여 어떤 유저에게도 addip가 되지않은 ip대역에서는 데몬이 동작하는지 확인을 할 수 없다. 정확히는 접속이 불가능해진다. secure_ip 2 1 =STAFF 1 staff들과 사이트 오퍼에게 ip의 2단위 자리까지 설정을 하게한다 secure_ip 1 1 * 주로 많이 쓰는것이다. 이 경우 *@211.*.*.* 가 허용된다. <nnhostname> 은 ip주소가 아닌 domain 을 ip주소로 사용할 수 있게하는 옵션이다. reverse 되었다면 이 기능과 위의 설치시 inetd 컨피그의 설정을 변경하여 같이 사용하면 된다. nnhostname 이 1일 경우 domain을 사용하는것이고 0 이면 ip만 사용한다는것 secure_pass <mask> <flags/=groups/-usernames> glftpd는 <mask>가 포함한 패스워드를 사용하지 못하게 하거나 패스워드의 최저 길이나 몇가지 설정등을 할 수 있다. '.' 은 패스워드의 길이를 제어할 수 있다. 예를들어 Ab1... 를 mask에 입력할 경우 패스워드는 6 바이트 이상이어야 하며 적어도 하나의 대문자와 하나의 소문자, 하나의 숫자를 포함하여 패스워드를 작성해야만 site passwd 가 작동할 수 있도록 된다. 위에 Ab1... 를 할 경우 사용자가 지정할때의 passwd 동작은 아래와 같아 Abcde1 등으로 대문자1, 소문자1개이상, 숫자 1개이상만 변경되며 6자리를 넘겨야만 site passwd가 허용된다. abcdef 등으로 패스워드를 변경할 경우 위의 규칙과는 어긋나기에 패스워드 변경이 거부된다. 또한 플래그나 그룹네임의 ! 로 부정문을 선언할 수 있다. secure_pass zzf3$. !1 !=STAFF * 를 선언할 경우의 정의는 아래와 같다. 이 선언은 모두에게 적용되나, Siteops (플래그 1번) 과 STAFF 에게는 적용되지 않는다 (그룹). 적어도 2개의 대문자와 1개의 소문자와 1개의 숫자, 그리고 다른 특수 캐릭터 (!나 # 등) 으로 구성되어야 한다. datapath <path> glftp가 불러들어 사용하는 데이터들의 패스파일이다. 기본값은 ftp-data 이며 root path 가 /glftpd일 경우 이 패스는 datapath /ftp-data 로 입력하면된다. 만약 rootpath / 로 설정이 되어있을 경우 datapath 는 /glftpd/ftp-data 로 입력해야 한다. pwd_path <path/file> glftpd의 passwd 파일이 있는곳을 설정한다. 기본값은 /etc/passwd 이며, 만일 rootpath가 / 라면 pwd_path는 /glftpd/etc/passwd 로 지정해야한다 grp_path <path/file> glftpd의 그룹파일이 저장된 경로를 지정함 (기본값은 /etc/group) botscript_path <path> bot script의 디렉토리를 지정함. botscript는 디렉토리가 만들어지거나 누크당했을때 동작한다. 봇에 'announce'를 신호로 지정하여 새 디렉토리를 처리할 수 있다. bouncer_ip x.x.x.x [ x.x.x.x ... ] 당신이 ftp 바운서를 사용할 경우 당신은 바운서의 ip를 지정하여 glftpd의 접속 바운서 설정을 하여 user가 들어올 수 있도록 한다 speed_limit PATH DL_LIMIT UP_LIMIT 특정 디렉토리나 전역에 업로드 속도 다운로드 속도의 제한을 설정할 수 있다. speed_limit /site/Incoming* 150000 0 speed_l
관련링크
댓글목록
등록된 댓글이 없습니다.