새소식

인기 검색어

TL

21/02/12 TL. ftp, NFS, samba 서버 구축. epel url문제 발생시.

  • -

오늘 할 일

산타토익

devops 영상 시청

이것이 리눅스 15장 중간


강의

www.inflearn.com/course/%EC%9D%B4%EA%B2%83%EC%9D%B4-%EB%A6%AC%EB%88%85%EC%8A%A4%EB%8B%A4/dashboard

 

'이것이 리눅스다' 저자의 Red Hat CentOS7 리눅스 서버&네트워크 강좌 - 인프런

한빛미디어에서 발간한 '이것이 리눅스다' 의 저자가 직접 강의하는 강좌 입니다. 초급 서버 개발 Linux 온라인 강의 이것이 리눅스다

www.inflearn.com

교재

www.hanbit.co.kr/store/books/look.php?p_code=B2195555382

 

이것이 리눅스다 - 리눅스 마스터를 위한 마지막 기회

리눅스 설치도 어려운 독자에게 이 책을 권한다. 이것이 리눅스다는 초보자도 막힘 없도록 실습환경을 제공한다. 특히 FTP 서버는 물론, NFS, Samba, DHCP, 프록시 등 네트워크 실습 과정도 초보의 눈

www.hanbit.co.kr

 

포트 : TCP 포트 또는 UDP 포트를 줄여서 부르는 것. 가상의 논리적인 통신 연결 번호를 말한다.

 

FTP(File Transfer Protocol) : 파일 전송을 위한 서비스. 성능이 뛰어남.

vsftpd : 페도라 계열에서 인기. 기본적으로 제공.

 

일반적으로 /var/ftp/pub 에 배포할 것들을 넣어놓는다. 따라서 임시 파일 file1을 넣어놓는다.

 

이제 vsftpd를 재시작하고, enable한 뒤에 방화벽 설정을 한다.

 

이제 winclient에서 알드라이브를 받고, 이를 이용해 server에 접속해본다.

ftp는 공개용이기 때문에 꼭 아이디와 비밀번호를 필요로 하지 않는다. 즉, anonymous로 접속이 가능하다.

새로 하나를 추가한 모습이다. 익명으로 로그인 가능하게 설정했다.

이 상태에서 WinUser에서 업로드를 하려고 하면, 차단당한다. 아무나 들어올 수 있는 상태인데, 익명의 누군가가 악성 파일을 올려서 보안에 위협을 가할 수 있기 때문이다. 그래도 누군가 올릴 수 있도록 수정할 수 있긴 하다.

 

우선 /etc/vsftpd/vsftpd.conf로 들어간다.

29, 33번째 줄에 있던 주석을 제거해주고 재시작한다.

 

ftp 사용자들에게 pub에 대한 권한을 추가해주어야 한다.

그런데, 이런 과정을 거쳤어도, winclient에서 업로드를 할 수 없다. 그 이유는, pub은 관리자 권한이기 때문에 다른 누군가가 수정할 수 없다. 따라서 chown ftp.ftp /var/ftp/pub 로 ftp를 사용하는 사람들에게 권한을 주면 업로드를 할 수 있다.

이제 업로드가 된다!

이제 Server(B)에서 ncftp를 진행해 보려고 하는데, Server(B)에서는 epel-release를 필요로 한다. 따라서, epel를 통해 설치하면 되는데, 내 경우에는 epel이 경로상의 문제로 제대로 작동하지 않기 때문에, wget을 통해 설치했다.

wget  https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ncftp-3.2.5-7.el7.x86_64.rpm

설치 후, ls -l ncftp*로 설치가 잘 됐는지 확인 후, yum -y localinstall ncftp*을 해서 설치할 수 있다.

 

이제, ncftp 192.168.111.100으로 접속해보자.

접속에 성공했다!

아까 winclient 상태와 마찬가지로, 수정 권한은 없다. 추가로, 여기서 나가려면 bye로 나갈 수 있다.

 

vsftpd.conf 옵션을 수정해서 추가적으로 바꿀 수 있다.

 

이제 proftpd를 설치해보자. 마찬가지로 wget을 통해 rpm 파일을 설치했다.

 

wget rpmfind.net/linux/fedora/linux/development/rawhide/Everything/aarch64/os/Packages/p/proftpd-1.3.7a-6.fc34.aarch64.rpmrpmfind.net/linux/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/p/proftpd-1.3.7a-6.fc34.x86_64.rpm

 

위 주소는 32bit용이기 때문에 호환이 안 되면 설치가 안될 수 있다.

 

rpmfind.net/linux/rpm2html/search.php?query=proftp&submit=Search+...

그럴 땐 위 사이트를 잘 이용해보자.

 

그런데 무슨 문제인진 몰라도 설치가 진행이 안돼서 일단 보류...

 

+ upload 폴더를 지정해 놓으면, 조회도 안 되고 업로드만 가능하다.

 

이번엔 pure-ftpd를 설치해서 수행해본자.

 

역시나 redhatenterprise 제공인데 epel이 먹통이므로 wget으로 설치해도 되지만, 이번에도 wget이 막혀있어서 cheese-release를 이용해보기로 했다.

 

www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheese-release.html

만약 텍스트로 설치하고 싶다면,

wget http://www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheese-release-7-1.noarch.rpm  

으로 설치하면 된다.

여기서 rpm 파일을 설치하고, epel-release를 설치한 뒤, /etc/yum/repos.d/epel.repo 파일을 수정한다.

baseurl에 달려있던 주석을 제거하고, metalink에는 주석을 추가해 주었다.

nosuchhost의 cheese를 이용했더니 proftpd도 설치가 가능하다... 진작 이렇게 할 걸

proftpd는 /etc/proftpd.conf

pureftpd는 /etc/pure-ftpd/pure-ftpd.conf 의 옵션을 수정해서 이용할 수 있다. 

 

각 ftpd 애플리케이션의 옵션들

사실 ftpd는 뭘 써도 상관은 없긴 하다...


이제 NFS 서버를 구현해보자. centos에 이미 설치돼 있을 것이다.

/etc/exports를 수정하자. 이 파일이 공유할 폴더를 지정하는 파일이다.

 

빈 공간이므로 다음과 같이 채워넣는다.

192.168.111 네트워크를 쓰는 모든 컴퓨터에게 읽기, 쓰기 권한을 주고, 동기화까지 시키겠다는 의미이다.
이제 동기화할 폴더 share를 만들고 일반 사용자도 이용할 수 있도록 권한을 부여하고, 임시 파일을 넣자.

이제 nfs-server를 재시작, enable하자.

 

exportfs -v로 공유중인 상황을 볼 수 있다.

그리고 방화벽을 멈추자. 이것저것 많기 때문.

showmount를 통해 서버에서 마운트한 내용들을 볼 수 있다.
이렇게 접속할 수 있다.

윈도우에서도 사용하고 싶다면 제어판 - 프로그램 - 프로그램 및 기능 - window 기능 - nfs용 서비스 - nfs용 클라이언트 체크를 하자.

이후 재부팅 하면 된다.

추가로, system-config-nfs를 이용하면 그래픽을 이용할 수도 있다.

 

설치하고 system-config-nfs를 입력하면 사용할 수 있다.


samba는 windows와 linux 간 자원을 공유하기 위한 애플리케이션이다.

윈도우즈에선 일방적으로 폴더를 공유하고, linux에선 설치해서 client로 이용한다.

windows에선 일단 공유할 폴더를 만든다. sambaShare라고 만들었다.

파일 속성 - 공유 - everyone으로 만들고 읽기/쓰기 권한을 부여하면 된다.
우선 windows에서 user를 추가한다.

winclient의 ip를 기억하자. 나는 192.168.111.131이다.

 

접속완료
samba Server인 winclient에 있는 sambaShare에 있는 내용을 client인 server의 sambaMount에 이식했다.

이번엔 리눅스에 삼바 서버 역할을 하게 하고, 윈도우에 삼바 클라이언트 역할을 하게 만든다.

 

samba-server와 system-config-samba를 설치하자. sysconsmb는 레드햇에서 받아야 한다. 그리고 smb를 restart, enable하자.

 

이제 /share에 707 권한을 주고 system-config-samba를 실행하자.

작업 그룹은 window환경에서 시스템을 보고 적자.

추가로 보안으로 들어가서 인증 모드는 공유로 해주자.

 

추가로 접근에서 모든 사용자에게 접근 부여를 주자.

 

이제 새로운 유저를 만들고, server 환경에서 방화벽을 끈 뒤 smb를 재시작해서 winclient에서 네트워크 드라이브 연결을 하면 된다. 

이제 해당 드라이브에 공유된다.
samba 설정 파일

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.