ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [산대특] 리눅스 알아가기, SSH
    [산대특]클라우드기반 빅데이터 활용 정보 시스템보안과정 2024. 8. 18. 20:38

    0814

     

    [centos@centos7-10-1 ~ ]$
    centos centos7-10-1 ~ $
    사용자  호스트_명 현재 작업공간 일반 사용자

     

    su 사용자 변경. "substitute user" 또는 "switch user"의 약자인 su
    - (하이픈) (su 의 옵션)  login shell을 의미. 이 옵션을 사용하면 전환된 사용자(예: root)의 환경 변수가 새롭게 설정되고, 해당 사용자의 기본 셸 환경이 적용됩니다. 이는 마치 해당 사용자가 처음으로 로그인을 한 것처럼 환경이 초기화된다.

     

    [centos@centos7-10-1 ~]$ su root

    => 일반 사용자가 root 사용자로 변경. 작업 디렉터리는 그대로이다. 

    => [root@centos7-10-1 ~ ]#

     

    [root@centos7-10-1 centos ]#

    => root 사용자가 /home/centos 작업 디렉터리에서 작업한다는 의미

     

    [centos@centos7-10-1 ~]$ su - root

    => [root@centos7-10-1 ~]# 

    => 사용자 센토스 -> root , 작업 디렉터리 ~ -> /root

     

    외부에서 Telnet, SSH 등으로 이 호스트에 접근하면 해당 호스트의 작업공간 으로 들어가게 된다. 

    더보기

    실습!

    [centos@centos7-10-1 ~]$ pwd
    /home/centos
    [centos@centos7-10-1 ~]$ su root
    Password: rootoor
    [root@centos7-10-1 centos]# pwd
    /home/centos

    이렇게 되면 
    사용자만 root로 바뀌고 작업 디렉터리는 여전히 centos 네 꺼 

    [root@centos7-10-1 centos]# pwd
    /home/centos
    [root@centos7-10-1 centos]# su - root
    Last login: Wed Aug 14 09:13:47 KST 2024 on pts/0
    [root@centos7-10-1 ~]# pwd
    /root

    이렇게 되면 뭔 작업을 하면 여기에 저장된다. 

    화면이 GUI 인지 CUI(OR CLI) 인지는 Runlevel 로 설정이 가능하다. 

    또한, GUI 를 사용하고 싶다면, CLI 기본에 필요한 모듈을 설치하면 GUI(runlevel 6) 를 사용할 수 있다. 

    모듈(패키지(싸놓은 것) -> 여러 패키지가 모여 번들(꾸러미))

     

    Runlevel 은 0 부터 6 까지 있다. 

    0 1 2 3 4 5 6
    Stop root   CLI 예약(의미없) GUI reboot

     

    쉘에서 명령어로 runlevel을 전환하려면 

    init (숫자)

     

    그리고 init 에 관한 도움말 내용은 # cat /etc/inittab  여기에서 확인이 가능하다. 

    거기 쓰여 있는 내용에 의하면

    # systemctl set-default multi-user.target

    => 이렇게 하면 Runlevel 3 가 킬때마다 나온다.

     

    # systemctl set-default graphical.target

    => 이렇게 하면 Runlevel 5 가 킬때마다 나온다.

     

    또 현재 runlevel 을 확인하고 싶다면 

    # systemctl get-default 

     

    관리자 입장에서 가장 중요한 작업은 

    dd, sfdisk 로 MBR, Partition, GRUB(2) 복사해두기가 있다. 

     MBR(Master Boot Record)

     

    dd :

    물리적인 블록장치를 복사할 때 사용.

     

    sfdisk : 

    파티션을 볼 때 사용. ( 이 외에도 lsblk, fdisk 등으로도 볼 수 있다) (blk == 벌크 == 왕창!)

     

    MBR : 

    Normaliy 부팅 정보는 디스크 파티션의 맨 처음 512K Byte 에 있는 가장 맨 앞의 1st track & 1st sector 에 설치되는 곳.

    MBR 의 역할은 HDD에 저장된 데이터에 대한 indexing(색인/식별) 역할을 한다. 이러한 이유로 FAT(File Allocation(할당) Table) 이라고 볼 수 있다. 

     

    그래서 MBR 을 백업해둔다면, 시스템 부팅시 문제가 있어도 복구할 수 있다. 

    MBR은 다음으로 구성되어 있다. 

    466 byte의 BootStrap 64bytes의 Partition table 2bytes 의 Signature 

     

    더보기

    [root@centos7-10-1 centos]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   40G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   39G  0 part 
      ├─centos-root 253:0    0   35G  0 lvm  /
      └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
    sr0              11:0    1  4.4G  0 rom  /run/media/centos/CentOS 7 x86_64

     

    sda 의 sda1, sda2
    물리적 하드디스크는 하난데 두개로 파티션 되어있음. 
    1번은 부트하는 부팅정보를 갖고 있고, 
    sda2 도 두개로 쪼개져있다. 하나는 root 이고 하나는 swap 메모리이다. 

     

    예전에는 Linux 를 설치할 때

    /tmp, /home, /bin ... 공간을 하나하나 할당하여 사용했었다. 

     

    현재는 / 그리고 swap 만 설정해두면 동적 할당으로 /home 의 용량이 적어지면 / 로부터 늘려오게 되어 있다. 

     

     

    !!! 부트(부팅) 파티션이 망가지면 안되어서 매우매우 중요하다 !!!

    더보기

    [root@centos7-10-1 centos]# dd if=/dev/sda1 of=/tmp/sda1.mbr count=1 bs=512k ; sync
    1+0 records in
    1+0 records out
    524288 bytes (524 kB) copied, 0.00196555 s, 267 MB/s

    한번 만 복사, 크기는 512k , 동기화

     

    [root@centos7-10-1 centos]# ls /tmp | grep mbr
    sda1.mbr

    [root@centos7-10-1 centos]# ls -l /tmp
    ls -l == 속성을 볼 수 있다. 
    -rw-r--r--. 1 root   root   524288 Aug 14 10:10 sda1.mbr

    만약 부팅정보가 망가졌다면 
    [root@centos7-10-1 centos]# ###dd if=/tmp/sda1.mbr of=/dev/sda1

    요렇게 입출력을 바꾸면 복원이 된다. 

     

    더보기

    [root@centos7-10-1 centos]# sfdisk -d /dev/sda
    # partition table of /dev/sda
    unit: sectors

    /dev/sda1 : start=     2048, size=  2097152, Id=83, bootable
    /dev/sda2 : start=  2099200, size= 81786880, Id=8e
    /dev/sda3 : start=        0, size=        0, Id= 0
    /dev/sda4 : start=        0, size=        0, Id= 0


    왼쪽의 실행결과를 오른쪽으로 보내라 > (리다이렉트)

    [root@centos7-10-1 centos]# sfdisk -d /dev/sda > /tmp/sda.part
    결과가 저기로 들어가 파일이 되었다. 

    [root@centos7-10-1 centos]# cat /tmp/sda.part 
    # partition table of /dev/sda
    unit: sectors

    /dev/sda1 : start=     2048, size=  2097152, Id=83, bootable
    /dev/sda2 : start=  2099200, size= 81786880, Id=8e
    /dev/sda3 : start=        0, size=        0, Id= 0
    /dev/sda4 : start=        0, size=        0, Id= 0

    [root@centos7-10-1 centos]# sfdisk /dev/sda < /tmp/sda.part
    방향을 반대로 하면 복원시킬 수 있다. 

     

    실행파일

    Linux 머신  ~.bin, ~.py, ~.pl(밤하늘의 퍼얼), ~.sh 등  
    Windows 머신  ~.exe, ~.bat(배치파일), ~.com

     

    Linux 머신에서 Windows 실행파일을 실행해줄 수도 있다, 단 Linux 머신에서 실행한다면 wine 이라는 프로그램이 필요

    (더불어, Ubuntu 가 가장 잘 된다)

     

    Ubuntu에서는 sudo su root 해주고 ubuntu 사용자의 패스워드를 주면 root 사용자가 된다.
    <= root 관리자의 패스워드를 지정하지 않음, 하지만 일반 사용자가 관리자 root의 권한을 사용하게 하는 sudo를 처음부터 사용하게 해서 관리자 root로 들어가게 한다. Ubuntu 에서는 sudo 를 사용하도록 /etc/sudoers 파일에 사용자를 넣거나 %sudo 그룹에 넣어둔다.
    Centos 에서는 su root 해주고 root 관리자의 패스워드를 주면 root 사용자가 된다. 
    <= root 관리자의 패스워드 지정. CentOS 에서는 sudo 를 사용하도록 /etc/sudoers 파일에 사용자를 넣거나 %wheel 그룹에 넣는다.

     

    더보기

    root@ubuntu10-1:/home/ubuntu# cat -n /etc/sudoers

         1 #

         2 # This file MUST be edited with the 'visudo' command as root.

         3 #

         4 # Please consider adding local content in /etc/sudoers.d/ instead of

         5 # directly modifying this file.

         6 #

         7 # See the man page for details on how to write a sudoers file.

         8 #

         9 Defaults env_reset

        10 Defaults mail_badpass

        11 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

        12

        13 # Host alias specification

        14

        15 # User alias specification

        16

        17 # Cmnd alias specification

        18

        19 # User privilege specification

        20 root ALL=(ALL:ALL) ALL

        21

        22 # Members of the admin group may gain root privileges

        23 %admin ALL=(ALL) ALL

        24

        25 # Allow members of group sudo to execute any command

        26 %sudo ALL=(ALL:ALL) ALL

        27

        28 # See sudoers(5) for more information on "#include" directives:

        29

        30 #includedir /etc/sudoers.d

     

    root@ubuntu10-1:/home/ubuntu# id ubuntu

    uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

     

    Compile 은 소스코드 파일을 컴퓨터가 인식하게 해주는 과정 < - compiler 가 필요하다. 

    hardware compile : kernel 업데이트 
    software compile : 소프트웨어를 실행할 때 여러 조건을 주면서 실행시킬 수 있다. 사람이 만든 
    순서 : ./configure --조건(졸라) > make > make install

     

    APM ***

    Apache Web Server + PHP Web Programming language + MySQL Database
    이 세가지 프로그램이 각각 독립적으로 실행되지 않고 연동되어 실행되어야 한다면
    Software Compile 을 해서 실행시켜 주어야 한다. 

     

     

    Linux 에 소프트웨어를 설치할 때

    1) yum/apt Repository 를 이용해서 종속적인 문제도 해결하면서 설치
    2) Googling 해서 ~.rpm, ~.tar.gz, ~.tar,bz2, ~.deb 등을 파일을 다운 받은 뒤 압축을 풀고 설치하기
    3) 해당 소프트웨어 벤더(Vendor) 사이트에서 파일을 다운받아서 설치 

     

    더보기

    apt -y install wine-stable

    putty 파일 다운받아서
    바탕화면 shared 에 옮기기 그 후 PUTTY.EXE 를 우분투로 끌고 온다. 
    (나는 안되어서 그냥 드래그앤 드롭함)

     

    가끔 우분투 dpkg 흔한 버그가 걸리는데 

    rm -rf /var/lib/dpkg/lock*

    로 하면 된다. 

     

    더보기

    푸티로 다른 가상머신 접근 실습

    푸티를 shared file 혹은 Drag & Drop 한다.

    root@ubuntu10-1:/home/ubuntu# cd Desktop/
    root@ubuntu10-1:/home/ubuntu/Desktop# ls
    134.txt  PUTTY.EXE  shared
    root@ubuntu10-1:/home/ubuntu/Desktop# wine PUTTY.EXE 

    이 창이 나오면 잘 된 것! 

    센토스 IP를 입력해 연결해보겠다. 

    잘된다

     

    IP 주소에서의 0.0.0.0 은 Any 라는 의미로 == '누구나' 이란 뜻을 갖고 있다.

     

     

    Linux 머신 부팅 시 

    1) /etc/inittab 파일에서 runlevel 을 읽어들이고
    2) /etc/fstab 파일에서 블록장치를 자동으로 마운트한다. 
    3) /etc/(rc.d/init.d/)rc.local 파일에서 부팅 전에 실행되어져야 하는 파일들을 설정해서 실행시킬 수 있다. 

     

    여기에서 주로 뭘 실행하는가?

    => AV(Anti, Virus), Disk Quota(분담한 몫), BackUp, NTP(엄청중요한거 Network Time Protocol) 등을 넣어둔다.

     

    Power-on => BIOS(basic input output system) 설정 점검 

    => /etc/init.d/inittab 런 레벨 데몬 점검 => /etc/fstab 등에서 내/외부 장치 마운팅

     => /etc/rc.local 시작 직전 설정 실행 => 로그온 화면 보이기

    순으로 진행되는 것을 cat /etc/rc.d/rc/sysinit 해서 살펴볼 수 있다.

     

     

    시스템 부팅에 관계된 또하나의 중요한 부분으로는 '부트 프로세스'가 있다. 이 부분을 잘 이해해야 한다.

    Linux 시스템을 옳게 사용하려면 그 시작과 종료 과정을 잘 따라야 한다. 

     

    Linux는 갑자기 시스템이 다운됐을 때 자동으로 시스템을 복원해주는

    저널링(journaling) 기능Ext3부터 적용되어 있고, 멀티부팅 시스템으로 구성되어 있다면

    컴퓨터를 켰을 때 GRUB 부트로더가 어느 운영시스템으로 로드할 지 선택하는 메뉴를 보이는데

    그대로 두거나 엔터키를 누르면 디폴트 운영체제가 실행되게 된다.

    Ext3(Extended File System 3)은 리눅스에서 사용되는 저널링 파일 시스템 중 하나

     

    Linux의 실행은 두 단계로 이뤄져 있는데,

    첫 단계는 전원을 켰을 때 시스템이 로드되는 것이고,

    두 번째는 작은 로그인 창이 뜨는 것이다. 

     

    로그인을 해야만 시스템에 접속하여 유틸리티와 프로그램을 사용할 수 있다. 

    => 사용자명 & 패스워드

     

    실습 내용

    중간 명령어 오타 있음 주의

     

     GRUB 파일은 부팅에 관련된 정보를 가지고 있지만 내용 중 ~ rhgb quiet 부분을 조절하면 

    요기 요부분: root의 패스워드 없이 시스템에 들어갈 수 있다

     

    GRUB 모드로 들어가는 방법

    init 6 으로 리붓을 하면서 뜨는 검정 창의 두 가지 선택지가 뜨는 화면에서 e 를 누르면 나온다. 

     

    이 상태에서 Ctrl C 를 누르면 GRUB 프롬프트가 나온다. 

    중요한 부분이므로 함부로 손대지 않긔

     

    더보기

    간단한 리눅스 실습

     

    [root@centos7-10-1 centos]# pstree
    프로세스가 계층형으로 되어 있다. 
    systemd 시스템 데몬으로 연결되어 있다. 

     

    [root@centos7-10-1 centos]# cd /etc/rc.d
    [root@centos7-10-1 rc.d]# ls
    init.d  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local

    runlevel 과 초기화 파일들이 있다. 

     

    [root@centos7-10-1 rc.d]# cd rc3.d/ ; ls
    K50netconsole  S10network

    이동 후 ls 명령어 를 치면 
    K 와 S 로 시작한다.

    바로 위에 보이는  ls /etc/rc.d/rc3.d/ 에서의 K50netconsole  S10network 는

    각각 K 는 Kill, S 는 Start 하는 파일이다. 

     

    [root@centos7-10-1 rc.d]# ls
    init.d  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local

     

    여기서 숫자가 있는 파일은 Runlevel 단계 별 파일이고, 그 안에는 각 단계별 시작과 종료 파일이 있다. 

    우리가 runlevel 3 에서 5로 바꿀 때 일어나는 것이 3의 Kill 그리고 5의 Start 이다. 

     

    더보기

    또 간단한 리눅스 실습

    [root@centos7-10-1 rc3.d]# cd
    [root@centos7-10-1 ~]# pwd
    /root

    그냥 cd 만 치면 사용자의 작업디렉터리로 간다. 

     

    [root@centos7-10-1 ~]# su - centos
    Last login: Wed Aug 14 14:08:22 KST 2024 on :0
    [centos@centos7-10-1 ~]$ cd
    [centos@centos7-10-1 ~]$ pwd
    /home/centos

     

    su : 현재 사용자를 다른 사용자로 변경하기 위한 명령어.
    - : 이 옵션은 "login shell"을 의미합니다. 

    이 옵션을 추가하면 사용자가 새로운 환경으로 로그인한 것처럼 설정됩니다. 

    즉, 해당 사용자의 환경 변수, 경로 설정 등이 적용됩니다.
    centos : 전환하고자 하는 사용자 계정 이름입니다.

     

    $ 모드에서 사용자가 centos인 상태에서 

    [centos@centos7-10-1 ~]$ su root
    Password: 
    [root@centos7-10-1 centos]# pwd
    /home/centos

     

    su root 명령어는 현재 사용자의 환경을 그대로 유지하면서 root 사용자로 전환

     

    root 는 남의 홈 디렉터리/작업공간에 뭐든 할 수 있다. root 가 최상위 권한이기 때문이다.

    반면 다른 사용자 ex)centos 는 권한이 없어 남의 디렉터리/작업공간에 뭘 할 수가 없다.

     

    [root@centos7-10-1 centos]# mkdir ROOT
    [root@centos7-10-1 centos]# ls
    Desktop  Documents  Downloads  Music  Pictures  Public  ROOT  Templates  Videos

    root 라는 애가 디렉터리를 만들었는데 남의 작업공간/집 centos 네 집에 들어가서 만든것이다.

     

    [root@centos7-10-1 centos]# su - root
    Last login: Wed Aug 14 14:35:09 KST 2024 on pts/0
    [root@centos7-10-1 ~]# pwd
    /root

    ~ 는 자신의 작업공간이라 하였다. 
    [root@centos7-10-1 ~]# mkdir ROOT
    [root@centos7-10-1 ~]# ls
    anaconda-ks.cfg  initial-setup-ks.cfg  ROOT

    [root@centos7-10-1 ~]# su centos
    [centos@centos7-10-1 root]$ pwd
    /root
    [centos@centos7-10-1 root]$ mkdir cent
    mkdir: cannot create directory ‘cent’: Permission denied

    ==권한없음

    / 루트는 최상위 권한이고 최상위 부모니까 하위 어디든 갈 수 있지만 
    밑에 권한은 상위 권한에 대한 action을 못한다. 

     

    shutdown 명령어의 옵션

    hh:mm ‘몇 시:몇 분’에 shutdown 시킴
    shutdown -r now 시스템 지금 리부팅 시킴, reboot, init 6와 동일한 명령어
    shutdown -h now 시스템 지금 종료 시킴, halt(허!), init 0 과 동일한 명령어
    shutdown -h +5 5분 후에 시스템 종료합니다 종료 메시지를 보내고 5분 후에 종료함
    shutdown -h 12:00 점심시간입니다 12:00 시에 메시지를 보내면서 종료함 등이다.

    아래 실습에서 ssh 연결 후

    더보기

    ssh 그리고 tty

     

    우분투에서 22 포트 방화벽 열어주고
    root@ubuntu10-1:/home/ubuntu/Desktop# ufw allow 22/tcp
    Rules updated
    Rules updated (v6)


    root@ubuntu10-1:/home/ubuntu/Desktop# ssh centos@192.168.100.137
    The authenticity of host '192.168.100.137 (192.168.100.137)' can't be established.
    ECDSA key fingerprint is SHA256:d1cOusOePz9+JJ6M7LBBmcP8EMFncByVXdXOFSs2U4Y.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.100.137' (ECDSA) to the list of known hosts.
    centos@192.168.100.137's password: 비번입력
    Last login: Wed Aug 14 14:38:02 2024
    [centos@centos7-10-1 ~]$ 

     

    우분투 -> 센토스 성공

     

    우분투에서 센토스 접속한 콘솔 말고

    원래 센토스의 콘솔로 와서 

    [root@centos7-10-1 ~]# w
     15:01:17 up 53 min,  3 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM                LOGIN@   IDLE       JCPU    PCPU    WHAT
    centos   :0          :0                       14:08         ?xdm?     41.72s   0.11s     /usr/libexec/gn
    centos   pts/0     :0                       14:40         5.00s       0.06s     0.54s     /usr/libexec/gn
    centos   pts/1    192.168.100.134   15:00         31.00s     0.02s     0.02s     -bash

     

    하면 현재 누가누가 콘솔을 사용하고 있고 누가 몇번째 콘솔을 사용하고 있는지 알 수 있다. 

     

    센토스에서 tty

    [root@centos7-10-1 ~]# tty
    /dev/pts/0

     

    센토스에 접속 성공한 우분투에서 tty

    [centos@centos7-10-1 ~]$ tty

    /dev/pts/1

     

    tty 란,

    현재 열려있는/연결된 쉘 프롬프트(console, terminal) 를 보이는 명령어이다. 

    순서가 /dev/pts/0, 1, 2… 식으로 열린다. 

     

    리눅스에서 원격 연결은 Telnet, SSH, Rlogin, VNC(GUI 연결)이 있고,

    Windows 에서의 원격 연결은 Remote Desktop 기능이 있다.

     

     

    여러 Linux 머신을 보다 편리하게 작업을 위한 SuperPutty 와 Xshell 이란 프로그램도 있다. 

    마치 크롬에 여러 창을 띄우듯이, 여러개의 리눅스 머신들을 연결하여 여러 창으로 띄워놓고 한 곳에서 작업할 수 있다.

    더보기

    Win7 에 슈퍼푸티를 설치 후에 

     

    우분투에서 
    root@ubuntu10-1:/home/ubuntu/Desktop# apt -y install openssh-server
    root@ubuntu10-1:/home/ubuntu/Desktop# ufw allow 22/tcp
    Skipping adding existing rule
    Skipping adding existing rule (v6)

     

    한 후 Win 7에 깔린 슈퍼푸티에서 우분투와 센토스로 SSH 연결을 한다.

     

    이러한 기능은 클라우드 관리를 할 때 상당히 유용하다. 

     

    클라우드엔 하나씩 관리하기 힘들 정도로 많은 가상머신들이 있고, 호스트 노드들이 있다. 

    SuperPutty, Xshell 을 사용하여 한 곳에서 이들을 일괄관리할 수 있다. 

     

    여기에다 Puppet 이나 Ansible 과 같은 도구를 사용해서 

    서버 한 곳에 manifest(명백한)  / playbook 파일에 설정을 해두면 무수한 클라이언트들이

    일괄적으로 설정에서 지정한대로 정해진 시간에 스스로 버전을 확인하고

    서버에 맞춰 자신들이 알아서 작업하여 변경한다. 

     

    RPM 은 redhat 계열의 패키지 매니저 이다. 

    [root@rocky10-1 rocky]# rpm -qa rlogin

     

     

    글로벌 인재가 되기 위한 자주 쓰는 기호의 영어 이름들

    ~ tilde * asterisk
    @ at # sharp/shop
    $ dollar  ^ caret(다이아몬드 1캐럿할때 캐럿)
    & emphersand ( )open/ close parentheses(괄호란 뜻, 하나씩 읽을 때는 "parenthesis")
    [ ] open/close bracket > < right/left redirect
     \ reverse slash  / slash
    | pipe/vertical bar 등...

     

    각종 프로그래밍 언어(C, Python, Java, ShellScript, …) 와

    Database (Oracle, MySQL, MS SQL,  까라까라…) 등에서

    문자열을 가장 효율적으로 표현하기 위한 방법

    ==> *****정규 표현식 regular expression *****

      * or % : all
      _ or ? : one character
      a_b : a1b, aab, a로 시작하고 b로 끝나는
      a__b : a12b, avgb… (두자리)
      a*c : a로 시작하고 중간에 뭐가 몇개 있던 c로 끝나는 것
      [n|N]* : 소문자 n 혹은 대문자 N 으로 시작하는 뒤에 뭐가 붙은 상관없는 애
      <- no, No, NO, None, ….. nnnnnnnnnnnnnnnnnnnno, NNNNNNNNNNNo
      ^[n|N]* : 이 외에 것들 모두. 시작(^)에서 n 또는 N이 0번 이상 반복되는 패턴"을 찾는 것
      <- no, No, NO, None, ….. nnnnnnnnnnnnnnnnnnnno, NNNNNNNNNNNo

     

    RedHat 계열에서 포트 여는 방법

    firewall-config 하여 

    이런식으로 추가도 가능하고 체크 하는 방법

    firewall-cmd --reload 

    하는 방법과 

     

    그래픽으로 한걸 명령어로 할 수도 있다.

    firewall-cmd --permanent --zone=public --dport=513

     

    또 

    iptables -I INPUT 1 -p tcp -m state --state NEW --dport 513 -j ACCEPT

    이런 방법도 있다

     

    Firewall 방화벽 이란, 

    외부에서 들어오는 포트를 규제하는 설정

    Router 에서는 ACL(Access Control List)로 설정하고

    Linux 에서는 iptables, firewall-cmd(CLI), firewall-config(GUI) 에서 하면 된다. 

     

    또 방화벽과 비슷한 기능을 하는 보안 설정이 있다. 

     

    SELinux 에서의 설정으로 Linux만을 위한 보안 설정이다. 

    영구적인 설정은 /etc/selinux/config 파일에서 설정

    임시적인 설정은 # setenforce 0/1 식으로 현재 프로세스에만 적용할 수 있다. 

    enforcing 강제하다. 보안 레벨을 설정하는 명령어 
    setenforce 0 는 누구나 다 가능 보안을 낮춘것. 

     

     

연의 취업 도전기.