IT관련 지식들 2018. 4. 3. 13:17

1. ftp서버 설치

>> sudo apt-get install vsftpd


2. 서버 설정.


#--- inetd 모드가 아닌 독립 모드로 vsftp 실행

listen=YES

#--- FTP를 위한 Listen Port를 지정 한다.

listen_port=50021

...

# Allow anonymous FTP? (Disabled by default)

anonymous_enable=NO

...

#

# Uncomment this to allow local users to log in.

local_enable=YES

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES

#

# Default umask for local users is 077. You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd's)

local_umask=777

#

# Uncomment this if you want the anonymous FTP user to be able to create

# new directories.

anon_mkdir_write_enable=YES

#

#

# Make sure PORT transfer connections originate from port 20 (ftp-data).

#connect_from_port_20=YES

connect_from_port_20=NO

#

# You may override where the log file goes if you like. The default is shown

# below.

xferlog_file=/var/log/vsftpd.log

#


#kangmin_add

#--- 데이터 전송을 위해서 Active Mode를 사용도록 설정 한다.

#--- Active Mode에서 FTP 데이터 전송을 위한 디폴트 포트는 20 port 이다.

port_enable=YES

#--- 데이터 전송을 위해서 Passive Mode를 사용하지 못하도록 한다.

pasv_enable=YES

# // 외부 IP주소를 passive 연결에 사용.

pasv_address=XXX.XXX.XXX.XXX     


#---  20번 포트의 데이터전송 연결을 허용 한다.

connect_from_port_20=YES

#--- Active Mode에서 사용할 FTP-Data 포트를 강제로 50020 port로 변경 한다.

ftp_data_port=50020


#--- Passive Mode에서 사용할 FTP-Data 포트를 강제로

#--- 50031 port에서 50040 port까지 허용 한다.

pasv_min_port=50031

pasv_max_port=50040


3. 공유기 설정

- 포트포워딩에 포트 주소를 추가.




'IT관련 지식들' 카테고리의 다른 글

우분투 VNC server 설치  (0) 2019.01.22
젠킨스 설치와 구성 (Jenkins setup)  (0) 2019.01.03
버추얼박스 USBtoSerial 연결  (0) 2017.06.09
우분투에서 libusb 사용 시작하기.  (1) 2017.03.08
우분투 계정 관리  (0) 2017.02.23
posted by 동글동글82
:
IT관련 지식들 2017. 6. 9. 12:56

버추얼박스에서 USB to Serial을 연결하기 위해서는 아래 작업이 필요하다.


1. H/W 연결


2. 버추얼 박스에서 USB 포트 설정.

  - 가상머신과 연결된 USB 포트를 추가 및 설정.



3. 버추얼박스에서 USB 장치 선택.


posted by 동글동글82
:
IT관련 지식들 2017. 3. 8. 09:54

스마트 카드에서 데이터를 읽어서 출력할 일이 생겨서 알아보던 중 libusb를 이용하여 통신하는 방법을 찾았다.


1. 준비물

  - 스마트카드 리더기 : HID omnikey 

      - lsusb로 리더기 확인

      

      - 스마트카드 리더기 드라이버 : 링크 클릭

        - 32bits, 64bits 에 따라 링크가 다를 수 있으니 참고할 것.


  - libusb 설치

    - sudo apt-get install libusb-1.0-0-dev

    - 설치 전

      

    - 설치 후

        


2. 헤더

  - #include <libusb-1.0/libusb.h>

      

3. makefile

  - 동적 할당 라이브러리 추가.

  - CC main.c -lusb-1.0 -o main

      



테스트

- 아래와 같이 파일을 작성하여 libusb_init()함수의 동작을 확인함.

- 추후 함수 사용법에 대해서 추가 블로그 작성 예정.


  1 #include <libusb-1.0/libusb.h>

  2 #include <stdio.h>

  3 #include <sys/types.h>

  4

  5 int main(int argc, char *argv[])

  6 {

  7   int r = 0;

  8   int rv = 0;

  9   int cnt = 0;

 10   libusb_device *dev;

 11   struct libusb_device_handle *dev_handle;

 12   libusb_context *ctx = NULL;

 13

 14   r = libusb_init(&ctx);

 15   printf("init : %d \n", r);

 29   return 0;

 30 }



posted by 동글동글82
:
IT관련 지식들 2017. 2. 23. 14:31

우분투에서 계정을 추가, 삭제하고 그룹에 더하고 빼는 등 계정을 관리하는 명령어에 대해서 알아본다.


1. adduser [계정이름]

- 계정 생성시 비밀번호까지 입력 받음.


2. useradd [옵션] [계정이름]

- 순수하게 계정만 추가.

- 사용해본 옵션

  -m : 계정이름으로 홈 디렉토리 생성 및 지정.

  -g [GROUP_NAME] : 그룹 추가.


3. passwd [계정이름]

- 계정의 비밀번호 변경.

- useradd로 생성한 경우, 비밀번호가 설정되지 않기 때문에 꼭 필요.


4. deluser [계정이름]

- 계정 삭제. (홈 디렉토리는 삭제되지 않음)


5. /etc/passwd 파일 확인

- 생성한 계정에 대한 정보를 볼 수 있음.

계정명 : 암호 : 사용자ID : 그룹ID : 코멘트 : 홈디렉토리 : 시작 쉘


6. usermod [옵션] [계정이름]

- 계정에 대한 변경.

  -G [그룹명] : 그룹에 계정 추가.

* cat /etc/group

* sudo usermod -G test01 test02

* cat /etc/group


7. gpasswd [옵션] [그룹이름]

- 그룹을 관리하는 명령어

  -a [계정이름] [그룹이름] : 계정을 그룹에 추가.

    ex) $sudo gpasswd -a test01 group01







posted by 동글동글82
:
IT관련 지식들 2017. 2. 13. 10:52

gettimeofday함수가 posix표준에서 빠지고 새로 생신 함수 clock_gettime함수를 사용하여 디버그에서 시간을 출력해보았다.


예제


#include <stdio.h>

#include <time.h>


//------------------------------------------------------------------------------

// 설명 : 디버그 프린트

//------------------------------------------------------------------------------

int debug_printf( const char *fmt, ... )

{

va_list ap;

int len;


struct timespec time;

struct tm *ptm;


if ( 0 == clock_gettime( CLOCK_REALTIME, &time)) {

ptm = localtime(&time.tv_sec);

printf("%02d%02d%02d%02d%02d%02d]",(ptm->tm_year%100), ptm->tm_mon+1, ptm->tm_mday

, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);

}


va_start(ap, fmt);

len = vprintf(fmt, ap);

va_end(ap);

return len;

}


아래는 각 함수의 선언부분을 찾아봤다. clock_gettime함수는 second, ms에 ns까지 구할 수 있다.

#include <time.h>
int clock_gettime(clockid_t clock_id, struct timespec *tp);
    struct timespec {
            time_t   tv_sec;        /* seconds */
            long     tv_nsec;       /* nanoseconds */
    };
--------------------------------------------------------------
#include <sys/time.h>
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);
    struct timeval {
            time_t      tv_sec;     /* seconds */
            suseconds_t tv_usec;    /* microseconds */
    };



출처: http://sunyzero.tistory.com/161 [IT 지식 창고]

posted by 동글동글82
:
IT관련 지식들 2017. 1. 17. 10:51

문제 상황

- apt-get 명령어로 업그레이드, 업데이트, 패키지 설치를 하는데 아래와 같은 에러메시지가 나오는 경우.


***************************

오류 http://kr.archive.ubuntu.com/ubuntu/ trusty-backports/main libcgmanager0 i386 0.39-2ubuntu2~ubuntu14.04.1

  'kr.archive.ubuntu.com'의 주소를 알아낼 수 없습니다

...

***************************


다들 미러서버 문제라고 하여 아래와 같은 해결책을 제시한다.


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

kr.archive.ubuntu.com으로 잡혀있을 경우

CODE: SELECT ALL

sudo vi /etc/apt/sources.list

:%s/kr.archive.ubuntu.com/ftp.neowiz.com/g

:wq



다음 서버로 잡혀있을 경우

CODE: SELECT ALL

sudo vi /etc/apt/sources.list

:%s/ftp.daum.net/ftp.neowiz.com/g

:wq

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


하지만 내 경우는 DHCP 유동 아이피를 고정아이피로 변경을 했더니 나오는 문제였다.


ip설정에 DNS 서버를 추가하면 문제가 해결된다.






'IT관련 지식들' 카테고리의 다른 글

우분투 계정 관리  (0) 2017.02.23
clock_gettime함수  (0) 2017.02.13
윈도우즈 git 설치 및 사용.  (0) 2016.11.18
python 에서 v4l2 모듈이 없다고 나올 때.  (0) 2016.11.04
ccollaborator 설치(코드리뷰)  (0) 2016.10.31
posted by 동글동글82
:
IT관련 지식들 2016. 11. 18. 17:27

1. 설치

  - git 프로그램과 tortoiseGit을 둘 다 설치하는 것이 편리합니다.

  - git 프로그램 다운로드

https://git-scm.com/downloads


  - tortoiseGit & 언어팩 다운로드

https://tortoisegit.org/download/


32bit, 64bit를 잘 확인하고 파일을 실행합니다.


특별히 변경하는 사항 없이 "다음"을 누르면 문제없이 설치 됩니다.


2. 사용 방법.

  2.1 계정 등록.

  - 윈도우 탐색기에서 우클릭 -> 설정


   - git -> 사용자 정보와 이메일 주소 입력.

posted by 동글동글82
:
IT관련 지식들 2016. 11. 4. 11:03

인터넷 검색 결과 python-pip란 패키지를 찾았다.

설치를 하고 사용방법을 확인했다.

v4l2 모듈을 설치

모듈이 없다는 에러는 사라졌다. 다만 프로그램 버그만 남았다.



posted by 동글동글82
:
IT관련 지식들 2016. 10. 31. 14:36


코드리뷰 툴을 찾던 중 설치가 간편한 툴이 있어서 설치해보았다.


스마트베어 다운로드 페이지 에서 툴을 다운 받는다.


윈도우용과 리눅스 용 중에 리눅스 서버용 프로그램을 받았다. 설치 가이드 pdf파일도 같이 받으며 설치가 편리하다.


SmartBear-Collaborator-Admin-Guide.pdf


ssh 접속으로 파일을 실행시켰더니, UI가 필요하니 다시 실행하라는 문구가 나온다. 어쩔 수 없시 리눅스용 본체에 키보드와 마우스를 연결하여 실행하였다.


pdf파일에 나온 화면들이 나오면서 셋팅을 도와준다.


설치가 완료되면 정해진 port로 접속하면 사용이 가능하다.



'IT관련 지식들' 카테고리의 다른 글

윈도우즈 git 설치 및 사용.  (0) 2016.11.18
python 에서 v4l2 모듈이 없다고 나올 때.  (0) 2016.11.04
Git 사용.  (0) 2016.10.26
우분투에서 잡히지 않은 하드 설정.  (0) 2016.10.26
strdup 함수  (0) 2016.09.07
posted by 동글동글82
:
IT관련 지식들 2016. 10. 26. 16:22

1. 상황

  - odroid 보드와의 samba 연결이 용이하지 않아서 아래와 같은 그림으로 구성하여 프로그램을 편집, 실행하고자 한다.



2. 내용

  - git 설치 및 등록은 연결된 페이지를 참고한다.

  2.1. 저장소


    - 초기화

~/gitrepository/projectNo1$ git init


  2.2 편집소

    - 초기화

      ~/project/projectNo1$ git clone ~/gitrepository/projectNo1


    - 프로그램 복사

      ~/project/projectNo1$ cp ../projecttemp/* .


    - 프로그램 저장

      ~/project/projectNo1$ git add *

      ~/project/projectNo1$ git commit -m "first release"


* error 발생. 

  - 원인 : empty 폴더를 clone하는 경우 bare false설정으로 commit이 불가능해짐

  - 해결방법

    - 저장소(save)에서 아래 명령어를 입력하여 bare 가 가능하도록 수정.

    ~/gitrepository/projectNo1$ git config --bool core.bare true


    - 이후 commit명령어를 다시 입력하면 저장한 자료를 저장소로 전송.


  2.3. 실행


    - 초기화

형식 : "git clone 사용자명@호스트:/원격/저장소/경로"

~/project/projectNo1$ git clone kangmin@192.168.128.7:~/gitrepository/projectNo1


   - 이후 수정된 사항이 있는 경우.

~/project/projectNo1$ git pull

posted by 동글동글82
: