◆Linux/명령어

[Linux] 기본

쿠키린 2023. 5. 7. 21:24

Linux 안정적인 오픈소스 운영체제로 오피스 계열부터 멀티미디어까지 가능

구성: 커널(메모리, 프로세스 등을 관리하며 시스템 제어 -> 커널은 목적에 맞게 하드웨어의 여러 가지를 조절하여 linux 시스템 구축 : ’커널 컴파일이라고 부름

컴파일 : 하드웨어 컴파일: 커널의 버전을 올리는 컴파일

소프트웨어 컴파일 : 하나의 프로그램이 다른 프로그램과 연동해서 작업할 때 맞춰서 설치 실행 APM+PHP Web

=> ./configure 옵션은 설치 환경을 구성하고 make 기계어로 해석, make install 설치

=> 소스코드 컴파일은 디폴트 환경이 변경되어져 있기에 특성에 맞게 각각 재작업해주어야 됨으로 별로 권하지는 않음

 

-enable/disable- : 특정 함수의 사용/사용 안함

--prefix= : 위치 지정

--bindir= : 디렉터리 지정

--with/without- : 써드파티 모듈 사용/사용 안함 등이 있다.

./configure 뒤에 필요한 옵션을 붙여서 환경설정을 해준다면

./configure --prefix=/usr/local/apache --enable-ssl --enable-mysql --with-ssl=/home/centos/openssl0.9.8식으로 해주면 된다

 

centos network setting: /etc/sysconfig/network-script/ifcfg-ens33

ubuntu network stting: /etc/network/interfaces , /etc/resolve.conf (DNS 설정),

호스트_명은 /etc/sysconfig/network, DNS상 이름 풀이는 /etc/hosts

부팅에 관한 정보는 MBR 백업과 복원 일반명령어 cp 디스크 복사는 dd 사용

@ubuntu 호스트에서 작업, ~ 작업 디렉토리 의미

root 는 관리자 사용자 /root : root 디렉터리

dd if= 입력 of=출력 count 횟수 bs 크기 : sync 사용해서 복사

sfdisk 파티션 테이블 관리

| : PIPE 로 좌측 실행 결과를 우측 입력으로 넘기며

|grep : 필터로 좌측의 실행 결과 중 |grep 뒤의 내용만 보이게 함

Linux 실행 파일은 이진 바이너리 *.bin 파일

gcc-c++ : Linux에서의 C/C++ 컴파일러 (사람이 작성한 파일을 컴퓨터가 이해할 수 있게 변환하는 모듈)

Repository : 파일들이 저장된 장소

linux 는 파일이 실행되기 위해서는 종속적인 파일들이 필요함

ssh 등으로 연결해서 이들을 한 곳에서 관리가 가능함

/etc/rc.local 파일을 시스템이 정식으로 실행되기 전에 수행되어야 할 작업들이 있는 곳이다.otas, setting time, checking AV, backup previous worked data, .....

 

update : 일부 정보 리포지터리 등을 새롭게 갱신

upgrade : 완전히 상위 버전으로 갱신

patch : 부분적으로 갱신

 

 

 

디렉터리 설명

/root 시스템 관리자인 root의 홈 디렉터리

/home 일반 사용자들의 홈 디렉터리로써 사용자들이 생성되면 사용자들의 디폴트 작업 디렉터리가 되는데 paul 이라는 사용자가 생성되면 /home/paulpaul 사용자의 홈 디렉터리가 된다. 홈 디렉터리는 사용자가 파일 등을 작업 한 뒤 별도로 저장장소를 지정하지 않고 저장할 때 자동으로 저장되는 곳이다. 그리고 외부에서 연결하면 자동으로 연결되는 지점이기도 하다.

/bin 시스템을 운영하기 위한 쉘과 명령어 도구들의 들어있는 곳으로써 시스템 관리자나 일반 사용자가 실행할 수 있는 명령어들이 주로 들어있는데 cat, chmod, date, env, ls, mkdir, rm, touch, vi 등이다.

/sbin 시스템을 운영하기 위한 명령어 관리 도구들이 들어있는 곳으로써 백업과 복원 등 시스템 관리 명령어들이 들어있으므로 일반 사용자들이 접근하지 못하게 해 둘 필요가 있다. 여기에는 ifconfig, reboot, shutdown, mount, fsck, mkfs, iptables, ...같은 명령어들이 들어있다.

/lib 프로그램들이 사용하는 재사용 가능한 프로그램 모듈들이 들어있는 곳으로 시스템에 있는 프로그램들을 실행할 때 필요로 하는 공유 라이브러리들이 들어 있는 곳이다. 예를 들어 mysqlPHP를 연동할 때 사용되는 sql_connector와 같은 라이브러리 파일이 들어있다.

/usr 여러 시스템과 공유되는 프로그램, 구성 설정, 라이브러리와 헬프 파일들이 들어있는 곳으로써 일반 사용자들을 위한 대부분의 프로그램들이 들어있음 /usr/bin(여러 유틸리티와 응용 프로그램들, 명령어), /usr/include(C언어의 헤더파일), /usr/lib (/usb/sbin의 실행파일들을 위한 라이브러리, 여러 프로그램에 종속되어 사용되는 재사용 가능한 시스템 라이브러리들), /usr/local (소스로 패키지를 설치하는 곳), /usr/sbin(여러 시스템 관리 도구들), /usr/share/man(각종 패키지 설명), /usr/src(대부분 RPM과 소스파일), /usr/X11R6(그래픽 관련 파일), ... 등이다.

/var 로그, , FTP 등 외부에서 인터넷으로 접속할 수 있는 지점으로 데이터베이스, 메일, 스풀 디렉터리와 같은 데이터들이 들어있다. 수시로 업 데이트되는 파일, 그리고 log나 웹에 관련된 html이나, php, ftp 디렉터리 등을 생성해 두는데 /var/log, /var/www/html, /var/ftp, ...등이 있다.

/boot 시스템 부팅에 필요한 커널, 초기 RAM 디스크, 그리고 grub(2) 같은 부트로더가 들어있는 곳

 

 

 

/etc 전반적인 시스템 구성 파일들이 들어있는 곳으로써 시스템이나 각종 프로그램들의 환경설정 파일들이 들어 있으므로 매우 중요한 곳이다. 시스템을 관리할 때 이곳을 백업해두고 수정해서 사용하는 일이 많은데 /etc/mtab, /etc/group, /etc/fstab, /etc/inittab, /etc/passwd, /etc/ services, /etc/shadow, /etc/sysconfig/network-scripts/ifcfg-eth0, /etc/sysconfig/ iptables, /etc/issue, ... 등이 있다.

/lost+found 시스템 크래시나 전원문제로 갑자기 시스템이 셧 다운된 뒤 시스템 체커에 의해 복원된 파일들이 들어있는 곳으로써 부팅 시 파일에 문제가 있어서 fsck 명령어로 복구할 때 사용되는 곳으로써 각 파티션마다 하나씩 존재한 . 지우지 말고 일반 용도로도 사용하지 않는 것이 좋다.

/media CD/DVDUSB 등 이동식 저장장치가 자동으로 마운트되는 디렉터리로써 USBCD/DVD 등 외부 장치들이 시스템에 연결되면 자동으로 마운트되는 곳이다. 물론 별도로 /usb와 같은 디렉터리를 생성해서 마운트해도 된다.

/misc NFS 디렉터리가 마운트되는 디렉터리

/src web, ftpcvs와 같은 서비스를 제공하는 시스템 데이터들이 들어있는 곳

/mnt NFSSamba와 같은 원격 디렉터리와 CD/DVD, USB와 같은 이동용 드 라이브의 일시적 마운트에 사용되는 디렉터리로써 NFS와 같은 파일시스템 이 마운트되는 마운트 포인트인데 주로 Windows와 파일이나 디렉터리 호환 을 위한 공유 디렉터리 장소로 사용된다.

/opt 써드파티 어플리케이션들이 들어있는 곳으로써 주로 사용자가 추가 소프트 웨어를 설치할 때 다운받아놓고 압축을 풀고 설치할 때 사용되는 곳이다.

/proc 커널 세팅을 변경하거나 표시하는데 사용되는 특수 파일을 가지고 있는 가 상 파일시스템으로써 실행중인 프로세스와 CPU, RAM 등의 정보가 가상파 일로 저장되어져 있다. 보안에서 매우 중시하는 곳으로 /proc/sys/net/ipv4/ip_forward=1 식으로해서 패킷을 포워드시키는 등 여러 설정을 변경할 수 있는 곳이다. cat /proc/cpuinfo해서 CPU의 정보 를 읽거나, cat /proc/ partitions 해서 파티션의 정보를 읽을 수 있다. 여기에는 /proc/cupinfo, /proc/ meminfo, /proc/devices, /proc/dma, /proc/filesystems, /proc/stat, /proc/interrupts, /proc/ ioports, /proc/loadavg, /proc/modules, /proc/uptime, /proc/version, ... 의 파일과 bus, driver, netm irq, scsi, tty 등의 디렉터리가 있다.

/dev 커널이 제공하는 가상 장치나 시스템에 있는 하드웨어 장치 파일들이 들어 있는 곳으로써 시스템에서 인식한 블록장치들이 들어있는데 각 장치는 파일 로 인식되고 /dev/hda OR /dev/sda(첫 번째 HDD), /dev/sdb(두 번째 HDDUSB), /dev/cdrom OR /dev/sr0(DVD), /dev/tty0(첫 번째 콘솔), /dev/pts0(첫 번째 가상 터미널), ... 등이다.

/selinux SELinux 세팅을 변경하거나 표시하는데 사용되는 특수 파일이 들어있는 가상 파일시스템

/sys 핫 플러그인한 장치들을 변경하거나 표시하는데 사용되는 특수 파일이 들어 있는 가상 파일시스템. 이 디렉터리에는 시스템이 필요로 하는 파일들이 들 어있으므로 특별한 경우가 아니라면 수정하지 않는 것이 좋다.

/tmp 시스템에 의해 주기적으로 삭제되는 임시 파일과 폴더들이 임시 저장되는 곳으로써 임시로 파일을 만들고 삭제하는 곳으로 Sticky bit 권한이 설정되 어 있어서 root가 생성한 파일도 일반 사용자가 볼 수 있다. 따라서 보안이 매우 취약한 곳으로 잘 관리해둘 필요가 있다.

 

Linux 파일시스템

파일 시스템 설명

minix 이 시스템은 Linux에서 처음 사용한 파일시스템이고 64MB를 지원한다.

ext2 이 시스템은 2GB의 파일과 4TBHDD를 지원한다. fsck 등으로 디스크를 검사하는 동안 다른 작업을 할 수 없다.

ext3 이 시스템은 커널 2.4부터 지원했는데 ext2에 저널링(journaling) 기능을 추가했다. 저널링 기능이 있는 ext3은 매우 안정적이어서 디스크 쿼타나 부 팅 시스템으로는 아직도 차기 버전인 ext4보다 더 안정적이다. 저널링이란 시스템의 전원 등이 갑자기 나가도 디스크의 무결성을 유지시키는 기법으로 시스템 로그에 있는 메타데이터(metadata: 데이터들의 정보를 가지고 있는 데이터)를 사용해서 저장하지 못했던 데이터를 복원해준다.

ext4 이 시스템은 커널 2.6부터 탑재되었고 16TB의 파일을 지원하고 1EB HDD를 지원한다. 64비트의 기억 공간 제한을 없애고 ext3의 성능을 향상시 키면서도 하위 버전과 호환성이 있게 한 확장 버전이다.

FAT16, FAT32, NTFS, 그리고 CIFS 이 시스템들은 전통적으로 Windows 운영체제에서 채택하고 있는 파일시스템이다.

FATFAT16으로써 DOSWindows 95에서 사용되었고,

FAT32Windows 98/ME 등에서 사용되었으며,

NTFSWindows NT4.0 서버와 워크스테이션에서 사용되었는데 Linux 에서 Windows 하드디스크를 인식하고 하드디스크에 압축과 암호를 걸 수 있는 파일시스템으로 Windows 2000 서버나 Windows XP 이후부터는 NT5.0으로 불리기도 한다.

CIFSLinux에서 인식하는 Windows 폴더의 파일시스템으로 Samba 이를 사용한다.

iso9660 이 시스템은 Linux가 인식하는 CD/DVD-ROM의 표준 파일시스템

BTRFSXFS BTRFS 파일시스템들은 CentOS 7부터 디폴트로 사용되는 파일시스템인 XFS과 더불어 안정성, 속도, 최대 16EB 지원 등을 장점

 

파일 타입

기호 파일타입 설명

- 일반 파일 텍스트, 이미지, 데이터베이스, 이진 파일 등

d 디렉터리 다른 파일이나 디렉터리를 가진 디렉터리

l (심볼릭) 링크 다른 파일을 참조하는 단축키

b 블록장치 CD/DVDHDD와 같이 데이터를 버퍼링하거나 랜덤하게 입출력 하는 장치들

c 문자장치 모뎀이나 가상 터미널처럼 일련의 문자들을 버퍼링하거나 랜덤하게 입출력하는 장치로 ttypts 같은 것들

s 소켓장치 네트워크 프로토콜 없이 로컬 시스템에서 프로세스 간 통신에 사용 되는 파일들

p (명명된) 파이프 파일시스템에서 표현되는 |로 다른 계층의 커널과 통신할 수 있다

 

시스템 부팅 시 하는 작업으로

시스템 부팅 직전에 해야 할 작업은 /etc/rc.local 파일의 설정대로 실행되고

시스템 부팅 시 마운트될 저장장치는 /etc/fstab 파일의 설정대로 실행되며

시스템 부팅에 관한 설정은 /etc/grub.conf 파일의 설정대로 실행된다.

시스템 런레벨에 관한 설정은 /etc/inittab 파일의 설정대로 실행된다.

사용자에 관한 것으로

사용자 생성 시 홈 디렉터리 위치, 사용 쉘 등 속성은 /etc/default/useradd 파일의 설정대로 생성되고,

사용자의 홈 디렉터리에 들어갈 내용은 /etc/skel 디렉터리의 설정대로 들어가며,

사용자의 패스워드에 관한 사항은 /etc/login.defs 파일의 설정대로 생성된다.

그리고

사용자 확인은 /etc/passwd 파일

사용자 패스워드 확인은 /etc/shadow 파일

사용자 그룹 확인은 /etc/group 파일에서 하면 된다.

 

*** /etc/passwd에서는 사용자를 확인할 수 있는데

tom:x:1004:1004::/home/tom:/bin/bash

사용자:/etc/shadow 파일에 이 사용자의 암호화된 해시 패스워드가 있다

:사용자의 UID: 이 사용자 속한 그룹의 GID: 홈 디렉터리: 사용하는 쉘_

==>이 사용자를 정지시킬 때 /bin/bash/bin/false/sbin/nologin로 변경해주면 됨

** 사용자를 그룹에 넣을 수 있는데, 그룹에는 권한을 설정할 수 있음

모든 파일을 읽을 수 있는 A_R이라는 그룹을 만들고

A_R 그룹에 모든 파일을 읽을 수 있는 권한 주고

A_R 그룹에 사용자 a, b, c를 넣어두면 이 세 사용자는 모든 파일을 읽을 수 있음

(Windows Server에서는 global/domain local/universal group 세 가지)

 

su: 사용자 전환에서 사용 (root) : root 사용자로의 전환은 위험

su centos :사용자만 변경

su centos: 사용자를 변경하면서 해당 사용자의 홈 디렉터리로 이동

su c 'root____있는_명령어' 1root로 작업할 수 있음 (root 패스워드 필요).

sudo root____있는_명령어를 5분간 root 패스워드 없이 사용할 수 있지만

(해당 사용자의 패스워드 필요)

=>해당 사용자가 /etc/sudoers 파일이 사용자가 기록되어져 있어야 함

=>%wheel 그룹의 일원이 되어도 된다. usermod -G wheel -a paul

(ubuntu에서는 설치할 때 생성한 사용자가 이미 /etc/sudoers 파일에 들어 있다.

CentOS에서의 %wheel 그룹 역할이 %sudo 그룹이다.)

wtmp(last:로그온 한 사용자 보임) / btmp(lastb:로그온 실패자 보임)

mount/umount : 로컬에서의 작업을 클라우드로 옮길 수 있음

RAID, LVM, disk Quotas 등이 하드웨어 관리에서 필요한데,

Cloud에서는 설정만 해주면 되기 때문에 별로 사용하지 않음

RAID(Redundant Array of Independent(or Inexpensive) Disks) 디스크 구축하기

RAID를 사용하는 목적은 적어도 두 개 이상의 디스크를 RAID로 묶어서 데이터를 저장 한 뒤 어느 한 디스크가 고장 나더라도 저장된 데이터가 그대로 존속되게 하는 것.

서버를 구축하고 모든 중요한 데이터를 하드디스크에 저장했으면 만일 하드디스크 하나를 사용하고 있는데 그 디스크가 고장 나면 운영에 필요한 시스템 파일뿐만 아니라 중요한 모든 데이터를 잃고 말게 될 것 이런 경우 간단히 하드디스크 두 개를 사용해서 RAID1(mirrored)으로 시스템을 구축해 두면 CentOSRAIDmirrored 된 두 개의 디스크에 똑같이 데이터가 저장되게 한다. 두 개의 하드디스크는 정확히 서로를 미러링하고 있어서 하나의 디스크가 고장 나더라도 복제된(cloned) 다른 디스크가 있으므로 시스템 파일뿐만 아니라 중요한 데이터도 그대로 존속되어서 서비스 제공에 문제가 없게 된다. 나중에 손상된 디스크를 교체하면 다시 mirroed 된 시스템이 된다. 그리고 RAID를 사용하면 시스템의 성능도 대폭 향상됨

하지만 RAID로 시스템을 구축했다고 해서 시스템을 완전히 믿을 수는 없다. 이 경우 두 개의 디스크는 하나의 디스크 컨트롤러에 연결되어 있으므로 두 개의 디스크가 동시에 고장 나거나 하나밖에 없는 컨트롤러가 고장 나면 두 디스크 모두 사용할 수 없게 된다. 물론 동일한 전원 공급기에 두 디스크가 끼워져 있을 때 전원이 나가도 두 디스크 모두 못 쓰게 된다.

 

RAID 디스크 구축을 백업용으로 생각하면 안 된다. 백업은 일정한 수준에서 지속적으로 진행되어져야 하므로 하드웨어 오류에 대한 일시적인 데이터 보호책인 RAID와 다르다. 백업은 완전히 재난 수준의 하드웨어 오류에 대한 데이터 보호책이다.

 

5-2-1. RAID 타입과 레벨

일반적으로 RAID는 하드웨어 RAID와 소프트웨어 RAID(그리고 faked RAID)로 두()가지 타입이 있다. 하드웨어 RAID는 물론 가장 좋은 해결책인데 전용 하드웨어가 RAID 디스크들을 관리하므로 CentOSRAID 컨트롤러가 생성한 논리적인 디스크만 보게 되고 RAID에 관한 구성을 알지 못하므로 RAID에 관해서 아무 것도 설정해줄 것이 없어서 운용이 편리하다. 하지만 하드웨어 RAID는 비싸고 보통 프로프리에터리(proprietary:벤더 종속적)한 포맷이어서, 예를 들어 HP RAID 컨트롤러가 고장 나면 반드시 동일한 HP RAID 컨트롤러 제품만 구입해야 하는 벤더 종속적인 단점이 있다. 반면에 소프트웨어 RAID는 하드웨어 RAID보다는 기능이 조금 떨어지지만 현재 널리 사용되고 있다. 대부분 RAID에 참여하는 하드디스크는 주로 같은 브랜드에 같은 용량을 가진 디스크들이지만 최근에는 서로 다른 용량의 하드디스크를 모아서 RAID를 만드는 Linear RAID도 있고,

CentOSRAID 어레이를 설정하고 관리할 때 mdadm과 같은 일련의 명령어를 사용한다. 소프트웨어 RIAD는 예를 들어서 RAID1 미러링인 경우 운영체제가 같은 데이터를 두 디스크에 각각 따로 보내야 하기 때문에 성능상 하드웨어 RAID만큼 빠르지 못하다. 그렇지만 소프트웨어 RAID는 어느 블록장치라도 RAID로 구성할 수 있어서 두 개의 HDD나 두 개의 USB는 물론 HDDUSBRAID로 묶어서 SAN(Storage Area Network)으로 구성할 수도 있다. 그리고 RAID 기술은 대부분 Linux 배포판에 필수적으로 들어있어서 벤더 종속적이지 않기 때문에 일부 기술자들은 오히려 소프트웨어 RAID를 더 선호하기도 한다. 반면 속도와 성능이 중시되는 데이터베이스를 RAID로 구축한다면 소프트웨어 RIAD로는 곤란할 수 있다.

 

CentOS는 시스템이 부팅될 때 /etc/mdadm.conf 파일에서 모든 가용한 RAID를 찾아서 어레이를 구성한다. 두 개의 패리티 비트로 구성해서 두 개의 디스크에 문제가 생겨도 데이터 복원이 가능한 디스크 4개의 RAID6, 속도가 빠른 RAID0과 데이터 복원이 되는 RAID1을 합쳐서 RAID10([ten]이 아니라 [one zero]로 발음)을 만들기도 한다. 또 가짜(faked) RAID라는 것도 있는데 기본적으로는 RAID에 속하지만 실제로 구축하는 대신 운영체제가 그런 역할을 대신하는 경우이다. 이 가짜 RAID는 거의 사용되지 않으며 대부분 Linux 배포판도 이 기능을 제공하지 않는다.

 

RAID 레벨에는 몇 가지가 있지만 주로 다음 세 가지를 사용한다.

RAID 0 : 데이터 복원은 되지 않지만 암(arm:컨트롤러)이 두 개여서 읽기/쓰기 속도가 빠름

RAID 1 : 데이터 복원이 되며 두 개의 디스크가 필요한 중소 조직용

RAID 5 : 데이터 복원이 되며 세 개 이상의 디스크가 필요한 대형 조직용이다.

RAID 10 : RAID 1RAID 0을 합친 구성이다.

 

Server 머신에 데이터도 저장할 수 있지만

NAS(Network Area Storage)를 사용해서 데이터를 별도로 저장하기도 한다.

SAN(Storage Areea Neworked)는 대규모 조직에서 사용한다.

 

/dev/sdb1, /dev/sdc1, /dev/sdd1 HDD를 묶어서 가상적으로 /dev/md5를 생성한 뒤

이를 하나의 디스크로 여겨서 포맷하고 데이터를 여기에 저장한다. 내부적으로 /dev/sdb1, /dev/sdc1, /dev/sdd1은 외부로 알려지지 않는데 이를

Transparent라고 부른다.

NIC도 여러 개 묶어서 fault tolerance(FAIL SAFE)하게 사용되게 할 수 있다. 이를 channel binding이라고 부른다.

 

RAID5(stripe with parity)3개의 HDD에서 하나의 HDDparity bit용으로 할당해서 데이터를 복구하게 해주는 기법으로 가장 일반적으로 사용한다.

RAID10(stripe mirrord)RAID0(stripe without parity:arm2개여서 빠른 데이터 입출력이 가능)RAID1(mirror:데이터 복구 가능)을 합친 개념이다.

 

 

 

 

 

 

 

pwd: 작업 진행자

 

사용자는 Linux 머신에서의 사용자는 홈 디렉토리가 기본적으로 작업하는 공간이다.

==> 외부에서 telnet, ssh, 등으로 접속하면 홈 디렉토리로 들어가게 된다.

홈 디렉토리는 해당 사용자가 하는 모든 작업의 결과가 저장되는 곳

 

 

vi : 편집기

클라우드에 있는 가상머신들은 GUI 가 없기 때문에 문서 편집도 CLI/CUI

로 해주어야 한다.

 

가상머신이 설치되면 웹 상에서도 구분되는 고유한 이름을 가져야 한다.

=> FQDN

도메인: 가상적으로 여러 리소스들을 묶은 하나의 조직체

naver.com 이라는 도메인이라면, naver.com 에 속하는 메일 서버, 웹서버,FTP 서버 등을

외부에서 구별되는 이름을 가지고 있어야, 어디서나 접속이 가능하데,

EX mx.nvaer.com ,ftp.naver.com 등으로 표현

조직내의 경리과 lee 라는 사용자의 호스트는 lee.acc@naver.com 하면 역시 외부에서 접속이 가능한 이름이 된다.

@ : ate (DNS 서버 설명 시 확인 )

 

machine/box : 컴퓨터

host : 각각의 컴퓨터 <= 일반적으로 사용

workstation : 도메인의 가입되어 있는 호스트

node : NIC (Network interface Card)가 있어서 네트워크에 연결되는 호스트 등의 장비

 

네트워크 연결 확인을 위해 Ping traceroute. tracert 라는 명령어를 사용

PROMISC 모드에 주의 한다 : 이는 모든 네트워크에 있는 노드들의 데이터 입출을 보기 때문에 위험한 설정

 

인터넷 연결 문제시

dig

nslookup 두 도구로 확인 가능

설정 /etc/hosts 파일과 /etc/resolv.conf 파일에서 확인이 가능

 

nslooku

set type=mx : 메일서버와 관련된 서버의 ip 주소 확인 가능

 

dig naver.com +trace : 네이버.의 해시 값을 알 수 있음

 

system 네트워크 설정 고정 시켜야 된다면: nano /etc/sysconfig/network-scripts/ifcfg-ens33

 

 

dual stack : 예를 들어서 하나의 NIC Ipv4 Ipv6 두 개의 주소가 설정 되어있는 경우

 

 

**커널 업그레이드 커널 인식

커널: Linux와 같은 운영체제가 인식하는 하드웨어 모듈

=> 클라우드에서 여러 가상머신들을 생성한 뒤 이 가상머신들을 이용해서 자율 주행을 운영한다면 장비의 모듈을 인식해주는 커널이 필요

IoT에서 가장 중요 가상 현실, 증강현실

 

 

setenforce 0 : SELinux 를 무력화 시킴

cat /etc/passwd : 비밀번호 해시 값

 

useradd 하면 파일 생성 속성 확인

cat /etc/default/userad

-> etc /skel : d로 시작하면 디렉토리 -로 시작하는 것은 파일 .bash 숨긴 파일

tcp 방화벽 풀기

firewall-cmd --zone=public --permanent --add-port=80/tcp

chmod +x -R /home/* : 권한 설정

http/https 리다이렉트 설정: https://devlp.tistory.com/3

관리자가 로그인 못하게 하는 방법

 

***

/etc/passwd 에서는 사용자를 확인 할 수 있는데

tom:x:1004:1004::/home/tom/bin/bash/

사용자/etc/shadow 파일에서 사용자의 암호화된 해시 패스워드가 있다

1004: 사용자의 UID: 사용자가 속한 그룹의 GID: 홈 디렉터리: 사용하는 쉘_

==> 이 사용자를 정지 시킬 때

1. /bin/bash 부분을 /bin/fasle or sbin/nologin 변경 해주면된다.