반응형

일반 FTP보다 훨신더 강력한 보안정책을 갖고 있는 SFTP를 구축해본다.

아래 영문 Tutorial 링크를 참고 했다

www.howtoforge.com/tutorial/how-to-setup-an-sftp-server-on-centos/

 

How to setup an SFTP server on CentOS

This tutorial explains how to setup and use an SFTP server on CentOS. Before I start, let me explain what actually SFTP represents and what it is used...

www.howtoforge.com

 

1. SFTP를 위한 SSH설치

    SFTP는  SSH 내부에 있는 하나의 기능으로 SSH 포트(22번포트)를 사용한다.

    즉, SSH 안에 SFTP가 들어있다. 고로 SSH를 설치해준다.

rpm -qa|grep ssh

2. SFTP 구성하기 (SFTP 권한을 얻을 user와 group만들기 위한 기초작업)

    /data/sftp/ 디렉터리를 만들어준다.

    권한을 701로 설정한다.

mkdir -p /data/sftp
chmod 701 /data

 

3. 그룹 및 유저 생성

    3-1. 그룹명 sftpusers 생성

groupadd sftpusers

    3-2. 유저 생성

         -g : 그룹 sftpusers에 포함시킴

         -d : 유저가  /upload 디렉터리에 있도록 설정, (이후 /upload 디렉터리는 /data/mysftpusers/upload에 만들거임.)

         -s : 유저(mysftpuser)가 ssh 프로토콜이 아니고, sftp 프로토콜만 사용하도록 제한

 

useradd -g sftpusers -d /upload -s /sbin/nologin mysftpuser
passwd

passwd 명령어 치면 패스워드를 2번 알아서 입력, (암호가 보여지지 않는다)

 

4. upload 디렉터리 만들고, 권한 설정하기

    mkdir -P : 경로에 디렉터리를 없으면 만들고 있으면 냅둠

    chwon -R : 경로 하위 파일을 모두 권한 변경

mkdir -p /data/mysftpuser/upload
chown -R root:sftpusers /data/mysftpuser
chown -R mysftpuser:sftpusers /data/mysftpuser/upload

소유 그룹과 유저 확인

5. SSH Configure파일 수정하기

vi /etc/ssh/sshd_config

    마지막 줄에 추가

Match Group sftpusers
ChrootDirectory /data/%u
ForceCommand internal-sftp

6. SSH 서비스 상태 확인 및 재시작

service sshd status

service sshd restart

 

7. SFTP 작동 테스트 (nmap 을 설치해서 테스트)

yum list nmap
yum install nmap -y

  내 아이피를 입력해서 포트 확인.

nmap -n 192.168.214.133

현재 해당 아이피의 포트 상태를 나타냄 (내가 열어둔 포트들, 저중 SSH포트 22번이 열려있어야 한다)

 

반응형

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

 

자 이제 sftp가 열리게 되었다.

그러면 구축한 sftp를 접속해본다.

 

[윈도우 파일질라에서 접속하기]

  - 호스트    : sftp://192.168.214.133

  - 사용자명 : mysftpuser    (위에서 사용자명을 이렇게 생성했기 때문)

  - 비밀번호 :                    (위에서 생성한 비번)

  - 포트       : 22                (SSH 기본 포트번호)

upload 디렉터리가 보여진다. 성공했다.

 

반응형
반응형

FTP = File Transfer Protocol 으로 파일전송에 특화된 프로토콜이다.  Default로 21번 포트를 사용

즉 파일을 전송하는데 집중한 프로토콜로, 초대용량의 파일도 다른 프로토콜에 비해 더 빠르게 전송할 수 있다.

CentOS 뿐만아니라 리눅스에서는 기본적으로 FTP를 지원하고 있다.

 

서버에 FTP를 구축해 놓으면, 배포할 파일들을 손쉽게 클라이언트에게 배포할 수 있다.

 

[설치시 자동 설치법]

 

CentOS 7에서는 맨처음 설치시 "Server with GUI" 에 오른쪽과 같이 FTP Server를 함께 설치할지 물어보고 있다.

이 옵션을 선택하면 리눅스설치시 자동으로 FTP 서비스가 설치된다.

 

그러나 FTP가 설치되어 있지 않는 경우, 아래와 같이 설치하고, FTP를 사용해본다.

FTP의 설치 여부는 아래와 같다. pub이라는 디렉터리가 외부에 공개하는 파일들을 모아 놓는 곳이다.

cd /var/ftp/
ls

[설치가 안되어 있을 때 설치법]

 

1. 설치 명령어

yum -y install vsftpd

complete가 나오면 설치 완료

2. 설치가 되었는지 확인 (pub 디렉터리를 확인한다)

cd /var/ftp
ls -al

 

[FTP 사용하기]

 

1. pub 디렉터리에 임의파일을 만들어 윈도우 클라이언트에게 공유한다. (pub 내에는 모두에게 공유하는 파일이다)

cd pub
touch test.txt
vi test.txt

text.txt 파일에 hello world 넣기

vi 에디터 사용법을 모르면 아래링크 참조

ansan-survivor.tistory.com/66

 

<명령어> 리눅스 명령어, VI / VIM Editor 자주 쓰는 명령어 모음

Command Line(커맨드) 조작법 팁 - Alt + F : Context 앞으로 뛰어넘기 - Alt + B : Context 뒤로 뛰어넘기 - Ctrl + F : 커맨드 맨 앞으로 (Front) - Ctrl + E : 커맨드 맨 뒤로 (End) 콘솔창 터미널 (버전확인,..

ansan-survivor.tistory.com

 

2. ftp 서비스 시작하기

     (systemctl enable은 재부팅해도 자동실행 활성화)

systemctl restart vsftpd
systemctl enable vsftpd

3. 방화벽 열어주기

firewall-config

    3-1. 설정은 Permanent로 바꾸기 (영구적 변경)

    3-2. 스크롤 아래로 내려서 ftp 에 체크

    3-3. 방화벽 재가동 (Reload Firewalld)

 

[윈도우에서 리눅스 FTP서버의 자료 다운로드 하기]

     FTP를 지원하는 대표적인 무료 소프트웨어로 Filezilla가 있다.

 

1. Filezilla 설치하기

     아래 링크 들어가기

filezilla-project.org/download.php?platform=win64

 

Download FileZilla Client for Windows (64bit)

Download FileZilla Client for Windows (64bit) The latest stable version of FileZilla Client is 3.51.0 Please select the file appropriate for your platform below. Prerelease versions To download the latest prerelease version (currently 3.52.0-beta1), go to

filezilla-project.org

     기본설치로 계속 next를 눌러 설치한다. 설치가 완료된 창

2. 리눅스 FTP서버의 IP주소 확인

3. IP주소와 Port 번호를 입력하여 FTP로 접속한다.

    접속을하면, 왼쪽은 내 하드상황을 보여주고, 오른쪽은 FTP접속 서버를 보여준다.

4. 파일 다운로드 하기

    내가 다운로드를 받기 원하는 폴더를 선택한다. 아래의 경우 E드라이브에 다운받을 폴더를 만들었다.

    4-1.  폴더를 선택하면, 상단에 경로가 표시된다.

    4-2.  오른쪽 마우스로 해당 파일을 누르고, 다운로드를 하면 진행이 된다.

폴더내 파일이 다운로드 된 것을 확인

 

파일 질라를 사용하지 않고, Window 에서 간단히 FTP 접속법

ansan-survivor.tistory.com/423

 

[Windows] 윈도우(windows 10)에서 FTP 간단히 사용하기

윈도우에는 기본적으로 FTP가 깔려있다. 리눅스 서버로 FTP서버를 구축했다고 가정하면, 그 IP와 포트로 접속만 하면 바로 접근 가능하다. (리눅스 FTP서버는 아래 링크 참고) ansan-survivor.tistory.com/42

ansan-survivor.tistory.com

 

 

반응형
반응형

yum으로 패키지를 설치할때, 기본적으로 패키지에 대한 정보가 CentOS-Base.repo 파일에 들어있어서, 네트워크가 연결되면 해당 홈페이지로 가서 필요한 패키지들을 다운로드 한다.

해당 패키지는 /etc/yum.repos.d/ 디렉터리 내 CentOS-Base.repo 에 들어있다. 이 파일을 vi 에디터로 열어본다.

cd /etc/yum.repos.d/
vi CentOS-Base.repo

CentOS-Base.repo 에 들어있는 내용

 

 

[기본 패키지 정보 포인터]

[업데이트 페키지 정보 포인터] (yum update를 하면, 여기 포인터를 보고 다운로드 링크를 찾아간다)

로컬 폴더의 DVD경로를 마치 url로 다운로드 하는것처럼 만든다. 그러기 위해서 내가 설치한 CentOS7 DVD파일을 VMware에 넣어준다. (마운트 한다.) 모르면 아래 참고

ansan-survivor.tistory.com/396

 

[Centos 7] 리눅스 CDROM / USB / HDD 커맨드로 마운트 및 언마운트

아래 링크는 VMware에서 자동으로 마운트 시키는 방법이다. ansan-survivor.tistory.com/395 [VMWARE] CD롬/USB - 자동으로 연결 / 마운트 시키기 리눅스의 기본적으로 CD를 넣으면 /dev/cdrom 경로에 장치가 마운..

ansan-survivor.tistory.com

USB같은곳에 CentOS 7 DVD.iso 파일을 받아놓고 마운트하여 진행한다.

 

 

1.  기존 .repo 파일들을 backup 디렉터리를 만들어 백업하여 저장한다.

cd /etc/yum.repos.d/
mk dir backup
mv *.repo backup/

 

2. dvd로 사용할 파일을 만든다. (리눅스는 yum을 실행시킬때, 확장명 .repo로 된 곳을 들어가서 읽는다)

touch dvd.repo

 

3. dvd.repo 를 수정한다.

vi dvd.repo

[태그 이름]

name = 사용자가 정함

baseurl = file://  <=이곳으로 가서 다운로드 진행,  ( /media/cdrom  에 마운트 했다고 가정 )

gpgcheck= 1      * 1 이상이 있는지 확인

                       * 0 체크없이 그냥 진행

 

 

============ DVD파일에 없을 시에만,  Network다운로드를 이용 ==============

 

[dvd]에서 설치 시도 후, 없는 패키지는 [network]아래 링크에서 다운로드,

위에서 부터 순서대로 들어가서 다운로드 시도한다.

반응형
반응형

rpm :  Redhat Package Manager

 - rpm 패키지 인스톨을 위해 패키지 필요 요소를 전부 따로 다운로드 해야함

 - 어떤 프로그램이 X-window가 깔려야 실행이 되는데, 그냥 설치시 프로그램 실행 불가

 - 설치            : rpm -Uvh [패키지].rpm    (확장명 rpm)

   삭제            : rpm -e [패키지이름]        (확장명 없음)

   설치여부확인 : rpm -qa [패키지이름]

   

 

yum :  Yellowdog Updater Modified

  - rpm의 의존성 문제를 해결

  - 프로그램이 실행 되기 위해서 먼저 선행으로 설치해야될 의존성 프로그램을 알아서 설치해줌

  - 인터넷이 연결되면 repository에 알아서 접근하여 의존성 파일 설치

  - 설치                : yum -y install [패키지이름]

  - 삭제                : yum remove [패키지이름]

  - 설치여부확인     : yum info [패키지이름]

  - 파일 하나 설치   : yum localinstall [패키지이름.rpm] - 해당 파일에 의존성있는 파일 모두 설치

  - *패키지 그룹설치: yum groupinstall [패키지그룹이름]  -  예를 들면 개발환경 구성할 때 통체로 다 설치

  - cash에 있는 저장소 비우기 : yum clean all  -  yum에 문제 있으면 한번 해준다.

 

( /etc/yum.repos.d/  디렉터리에 해당 패키지들의 drl 링크가 저장되어있음, 버그 등 update관련 링크도 들어있음 )

CentOS-Base.repo 에 해당 링크가 들어있음
기본패키지, 업데이트 패키지, 추가된 패키지 링크가 있음

 

 

반응형
반응형

 

1. 세팅창으로 들어간다.

2. Region & Language 선택

3. + 클릭

4. korean 입력하여 빨리 찾기

5. 위로 버튼을 눌러 한글우선순위를 위로

 

6. 재부팅

반응형
반응형

윈도우에서 어떤 프로그램을 실행시킬때 해당 경로까지 가서 실행하는 경우는 거의 없다.

대부분 바로가기를 만들어서 바탕화면이나 시작에서 실행한다.

리눅스도 이와 비슷하게 link를 만들어서 해당 파일이나 폴더를 가리키게 할 수 있다.

이를 심볼릭링크 (Symbolic link)라 한다.

이를 만들어본다.

 

해당 명령은

ln -s

 

1. Vi 에디터로 기본 basicFile을 만들었다.

vi basicFile

크기는 19 byte

2. Symbolic link를 만들어본다. (바로가기를 만든다)

ln -s basicFile linkedFile

basicFile이라는 파일을 linkedFile이라는 이름으로 만들었지만, 실제 복사된것이 아니고, basicFile을 가리킴

3. linkedFile을 cat 명령어로 읽어본다.

cat linkedFile

(살펴보기)

1. link파일이므로, 맨앞 l 로 시작한다.

2. 복사가 아니고 포인터이므로, 19 byte보다 훨신 작은 9 byte이다

 

(테스트)  기존 basicFile의 위치를 변경한다 상위 디렉터리로, (삭제도 마찬가지)

            그리고나서 cat으로 linkedFile을 읽는다.

mv basicFile ../

해당 경로를 찾을 수 없다고 나온다.

 

반응형
반응형

다음 권한을 심볼링링크로 변경시켜준다.

chmod 심볼릭

                                                      u : user      g : group        o : other

 

1.  o-x   :  test파일의 other의 execute 권한을 빼라

chmod o-x test

2.  ug-w   :  test파일의 user와 other의 write 권한을 빼라

chmod ug-w test

3. ugo-x  :  test파일의 user와 group과 other의 execute 권한을 모두 빼라

chmod ugo-x test

4. ug+x  :  test파일의 group과 other의 execute 권한을 넣어라

chmod go+x test

반응형
반응형

1. 파일 권한 보기 (ls -al)

ls -al

    자세한 설명

       -  :  파일이다. (.txt 또는 실행파일 등등)

       d : 디렉터리로, cd 명령어로 들어갈 수 있다

       l  : link로 해당 다른 디렉터리에 링크를 걸어주는 것.

 

       rwx    rwx          rwx

       루트 그룹사용자 기타사용자

 

       1 : 해달 파일에 걸려있는 link 수

 

반응형

 

 

2.  파일 접근 허가권 설정 (chmod)

허가권 설정 방법

    파일명에 대한 접근 허가를 설정함 (read, write, execute)

chmod 777 파일명              모든권한 부여
chmod 644 파일명
chmod 766 파일명

chmod 777 일때

 

chmod 644 일때
chmod 766 일때

 *chmod 심볼링 링크 사용법

ansan-survivor.tistory.com/400

 

[CentOS 7] 리눅스 chmod 심볼릭링크(symbolic link) 사용 소유권 제어, 파일 권한 설정 (chmod ugo)

다음 권한을 심볼링링크로 변경시켜준다. u : user g : group o : other 1. o-x  : test파일의 other의 execute 권한을 빼라 chmod o-x test 2. ug-w  : test파일의 user와 other의 write 권한을 빼라 chmod u..

ansan-survivor.tistory.com

 

 

3. 파일 소유권 변경 (chown) / 파일 그룹소유권 변경 (chgrp)

chown 권한을받을계정  파일명

     root의 권한을 admin 에게 넘기기

chown admin test

root가 소유함
admin에게 소유가 넘어감

    그룹도 admin으로 변경

chgrp admin test

그룹소유까지 바꿈

4. 파일 소유권, 그룹소유권 동시에 다 바꾸기

    test 파일의 소유권과 그룹소유권 동시에 다 바꾸기

chown user1.user1 test

 

반응형
1···4567891011

+ Recent posts