[Linux] 기초 & [서버] FTP, JAVA (17) 세팅

2025. 4. 23. 15:23·서버

[기본 명령어]

  • df : 디스크파티션 서버의 용량 확인할수있는 명령어 use가 사용하고있는 용량
    • 옵션 : -BG => 기가바이트
      • -m=> 메가바이트로 보여줌
      • 안쓰면 킬로바이트
      • -h 알잘딱으로 보여줌
  • cd : 디렉토리 변경
  • ls : 파일 보기
    • 옵션 : -al 권한보임
      • -a : 숨겨진 파일 보기 
  • pwd : 현재 위치 알려줌 프린트워킹디렉토리
  • 디렉토리  
    • / =>최상위
    • /root : 최고관리자 디렉토리
    • /boot : 리눅스 boot 디렉토리 (지우면 리눅스다시깔아야됨)
    • /etc : 각종 데몬이 설치되는 디렉토리 윈도우로 치면 Program 디렉토리
    • /var : 메일발송 로그기록 및 각종 프로세서 로그기록 저장되는곳 
    • /home : 리눅스 사용자가 생성되는 공간 및 WEB
    • 디렉토리가  -> 모양으로 설정되어 있을 경우 심볼링크 (바로가기)
    • /usr : Database 및 WEB, WAS같은 데몬이 설치됨 + 도커 
  • free : 메모리(Mem), 가상메모리(Swap)을 보여줌 => 중요!! 이걸 볼줄알아야함
    • -m : 메가바이트
    • -g : 기가바이트 
    • 안쓰면 킬로바이트 
    •  swap이 많다는거는 버벅댄다는 뜻 가상메모리는 실제메모리보다 성능이 많이 떨어짐
  • 권한 
    • dr-xrwxr--
      • 맨앞 한글자 파일타입 : d 디렉토리 l 심볼링크 
      • 뒤 9글자 : 오너3 그룹3 아더3 / 읽기 쓰기 실행 권한

사용자 만들고 사용자로 로그인하면 /home/사용자/ 

위치에서 시작한다

home의 다른 디렉토리로 들어갈 수 없음 권한 X

만약 쓰고싶다면 신의 힘을 빌려 

루트는 다 가능 루트는 신이야

루트가 chmod를 이용해서 권한을 바꾸기 

 

  • chmod : change mode -> 권한을 세팅하는 명령어
    • chmod 권한자/그룹/일반사용자의권한 적용할파일이나디렉토리
    • ex) chmod 705 aaa.txt
  • mkdir : 디렉토리 만들기 
  • rm
    • -d : 디렉토리 지우기 (파일 없는 경우만 가능)
    • -drf : 디렉토리에 있는 파일 포함해서 삭제
    • 옵션없이 쓰면 파일 삭제 
    • 실무에서 마스터들은 -drf 옵션만 씀 파일이든 디렉토리든 그냥 다 씀 다작동하니까 
    • rm -drf * => 해당 디렉토리의 모든것들을 삭제 
    • rm -drf *.txt => .txt로 끝나는 파일 모두 삭제 
  • vi 편집기 
    • esc > :set nu => 라인번호 
    • esc > :숫자 => 해당 라인으로 이동 
    • esc  > :q => 나가기 (수정하지 않았을 경우만 가능)
    • esc > :q! => 저장하지 않고 강제종료
    • esc > :wq => 저장후 종료 
    • esc > :w => 저장 
    • esc + 해당 라인에서 dd => 라인 전체 삭제 
    • esc + :복사할 라인 번호 co 붙여넣기할 라인번호 
      • esc + 10,22 co 25 => 10번 라인 ~ 22번 라인을 25번 라인에 복사 
    • i => insert 입력 
  • cp : copy => cp 원본파일명 사본파일명
    • cp -r 원본디렉토리 사본디렉토리 
  • mv
    • 디렉토리를 다른 경로로 이동
    • 파일 및 디렉토리 이름 변경 
    • 파일을 다른 디렉토리에 붙여넣기 
    • 예시 )
      • mv 123.txt 222.txt : 123.txt 파일명을 222.txt로 변경 
      • mv aaa bbb => aaa 디렉토리를 bbb라는 이름으로 변경 
      • mv aaa ccc/ => ccc라는 디렉토리가 생성이 되었을 경우 aaa라는 디렉토리를 ccc에 포함
      • mv aaa /ccc => 최상위에서 ccc라는 디렉토리가 만들어지며 이동 
  • ps : 프로세스 리스트 화면 (윈도우의 작업관리자 느낌)
    • -aux : 모든 프로세스 확인
    • -ef : 프로세스에 접속한 사용자 리스트 확인
  • kill -9 pid : 강제종료 

 

서버받으면 가장 먼저 해야하는거

 

SELinux => 기본 방화벽 데몬 

해제해주기 

 

cd /

vi /etc/selinux/config

7번라인

SELINUX=disabled

로 바꾸기

 

setenforce 0 => 리눅스 시작시에 작동 중지 

init 6

으로 서버 재부팅 후 (init 0은 서버 종료 / 1은 안전모드 서버있을때만 사용 / 3은 x-window 종료 후 콘솔모드로 출력 / 5 x-window 부팅)

sestatus => 기본 프로세서 방화벽 작동 유무 확인 가능 

로 selinux가 disabled로 변했는지 확인 

 

yum update

안되면

cd /etc/yum.repos.d/

ls -al

이것저것 있음 

이거 다 지워

rm -drf *

새로만들기

vi Centos.repo

​[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.kakao.com/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
# kakao
baseurl=http://mirror.kakao.com/centos/$releasever/updates/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://centos.mirror.cdnetworks.com/$releasever/extras/$basearch
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://centos.mirror.cdnetworks.com/$releasever/centosplus/$basearch
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://centos.mirror.cdnetworks.com/$releasever/contrib/$basearch
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

카카오가 쓰는 센트오에스 신버전

붙여넣기 쉬프트인서트 

맨위 잘려있나 잘 확인 

저장하고나오기

 

yum update

하기

 

[ftp깔기]

yum install vsftpd

y

y

 

vi /etc/vsftpd/vsftpd.conf

로 환경 설정 

 

systemctl start vsftpd.service

가동

 

netstat -ln

ftp포트 21번 잘 열렷나 확인 

 

systemctl status vsftpd.service

이거로도 확인 가능 

 

cd /etc/vsftpd

vi vsftpd.conf

12번 NO

87줄 배너 바꾸기

101,102,104 주석풀기

104번의 /etc/vsftpd/chroot_list 어디 잘 적어두기

저장하고 나가기 

vi /etc/vsftpd/chroot_list 

파일 만들고

루트사용자 제외한 ftp를 사용할 사용자를 적기 사용자엔터사용자엔터

 

systemctl restart vsftpd.service

 재시작

 

netstat -ln

보기

 

systemctl stop firesalld.service

방화벽 끄기

systemctl status firesalld.service

잘꺼져있는지 확인 


리눅스 압축 => 압축 리눅스에서 풀어야함 

압축하기

tar -cf 새로운압축파일명.tar 압축할파일이나디렉토리명

압축풀기

tar -xf 압축파일.tar

압축확장자많은데 tar예시 실무에서 tar많이 사용 

.tar.gz .gz .tar

 

리눅스의 압축은 윈도우와 비교도안되게 빠르다 

프로젝트같은 큰 파일은 리눅스로 압축


 

vsftpd => centos

sftpd, tftpd => suse

sftpd,vsftpd => ubuntu


[자바 깔기]

yum search java

에러남

yum search jdk

에러남

 

왜냐면!

기존에 깔린 옛날 centos때문임

방금 세팅한 Centos.repo 빼고 다지워야함 

 

루트사용자로 

cd /etc/yum.repos.d/

파일을 보면 2024년도 옛날거 다지우기

rm -drf CentOS-*

 

다시 

yum search jdk17

17해야하는데 없음

11은 있는데

 

java -version

쓰면 1.8 나옴

리눅스깔때 기본으로 깔려있음

17번이 필요함 

 

일단 리눅스 다운의 개념

구글에서 아무 이미지 링크복사

wget 쉬프트인서트 

이미지 리눅스로 다운 

모든것을 다운할수있따

 

사이트로 가야됨 

구글에 jdk17검색해서 오라클사이트 들어가기

여러 파일들 중 

Linux x64 RPM Package

다운해야하는데

옆에 주소 를 복사함

 

그래서

cd/home/

mkdir down

cd down

wget 쉬프트 인서트

해서 다운하기

 

다운 다 하면 

rpm -ivh jdk탭자동완성

해서 설치

-ivh란? -i(install)v(설치율)h(###으로보여줌)

 

java -version

해서 17로 바뀌었는지 확인까지!

 


리눅스 데몬을 설치시 소스형태의 설치방식 또는 RPM 형태의 설치 

yum으로 까는거는 무조건 RPM형태 => 무조건 etc경로에 깔림

tar, tar.gz, gz 으로 까는거는 소스형태 => 내맘대로 경로를 선택 가능, 옵션도 내맘대로 선택 가능 

RPM은 초보자에게 쉽고 소스형태는 고수들이 사용함

 

방금 자바는 rpm으로 깔았기 떄문에 etc에 설치됨

 

만약 mysql을 깐다면

yum search mysql

버전이 안나옴 => 내가 원하는 버전이 안깔릴수도 있음 옛날버전

홈페이지가서 긁어와서 wget으로 해야함


cd /usr/lib/jvm

들어가보면 자바 어떤거 깔려있는지 다 보임 

 

yum search jdk => 8, 11 까지만 적용 => 17 ~ 오라클 사이트 다운로드 페이지에서 rpm 복사해서 리눅스에서 wget으로 다운

 

vi /etc/vsftpd/vsftpd.conf => ftp 환경설정 필수 

[Line]

12 : 익명으로 로그인 허용 => Yes해두면 디도스 시원하게 뚜드려맞는다 NO로 설정하기

60 : FTP 아이디로 접속 유지 시간 600(10분) => 주석 풀기 (#)

63 : 최대 파일 업로드 및 다운로드할 수 있는 유지시간 120(2분) 용량크면 올리다 짤려버림

        회사에서는 짧게 설정함 업로드오래걸리면 다운로드도 오래걸리니까 개인정보도 빼갈수있음

         jsp html 100개 올려도 1분이 안걸림

        내가 백업하는 경우나 다운하는 경우는 잠깐 늘리는 경우도 있음 

87 : FTP 배너 => 파일질라말고 RFTP같은 프로그램에는 뜸

        FTP 접속시 해당 FTP 서버 정보를 출력 

91, 93 : 실무환경에서 사용 (DDOS 걸렸을때 메일로 알려줌)

101,102,104 : /home 디렉토리에 생성된 사용자가 로그인할 수 있도록 설정 

104라인에있는 경로에 vi편집기로 파일을 생성하여 사용자를 추가해야만 ftp로그인이 가능 

 

 

mail 이메일주소

subject: 제목

내용작성 

컨트롤씨컨트롤디


사용자 삭제

userdel hong

cd /home

ls -al

하면 사용자만 지워지고 사용자 디렉토리는 사라지지않음

1001로 설정돼있음 외부에서도 보임 아무나 막들어옴  

공유폴더개념으로 변해서 해커가 막 사용가능

rm -drf hong

해서 고스트된것도 지워줘야함 

 

userdel -r cms

ls -al

하면 방금과 다르게 사용자 디렉토리도 함께 지워짐 

 

그래서 사용자 삭제할때는 

-r로 삭제해야함 

 

 

==

제어판 > 네트워크 및 공유센터 > 왼쪽 어댑터 설정 변경 > 

버츄얼박스로 인해 가상의 이더넷이 잡혀잇음 

우클릭 속성 보면

인터넷 프로토콜 버전 4 (TCP/ipv4) 더블클릭 

설정했던것들이 보임

아래쪽 DNS 서버 주소 입력 

168 126 63 1

168 126 63 2

kt내부서버아이피 

==

방화벽 끄기

systemctl stop firewalld

==

ntsysv (윈도우의 msconfig와 같은 역할)

블루투스서비스 해제스페이스바 (별없애기)

firewalld.service 해제 

vsftpd.service는 체크 => 서버껐다키면 자동으로 ftp서버 켜짐 

탭 엔터 => 확인 

=====

마지막으로

서버 안전하게 종료

막끄면 파일 고장남 

init 0

저작자표시 비영리 변경금지 (새창열림)
'서버' 카테고리의 다른 글
  • [서버] 엿보기 구멍
  • [서버] WEB (Apache), DB (MariaDB) 세팅
  • [서버] CentOS, OracleVirtualBox 세팅
  • [Docker] 설치 - 윈도우
9na0
9na0
응애
  • 9na0
    구나딩
    9na0
  • 전체
    오늘
    어제
    • 분류 전체보기 (168) N
      • Web (94) N
      • Java (28)
      • 데이터베이스 (12)
      • 세팅 (11)
      • 과제 (3)
      • 쪽지시험 (2)
      • 정보처리기사 (2)
      • 서버 (13)
  • 블로그 메뉴

    • 링크

      • 구깃
    • 공지사항

    • 인기 글

    • 태그

      java_io1~10
      io_dto
      file25_t
      macbook pro m4
      Oracle
      re2
      exam1_1~10
      file25
      ab1
      noticewriteok
      net2
      net3
      notice_writer
      datalist
      spring-boot
      net5~10
      file24
      net4
      net1
      re_java10
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    9na0
    [Linux] 기초 & [서버] FTP, JAVA (17) 세팅
    상단으로

    티스토리툴바