OS 29

[Linux] 리눅스 시스템 시간 변경

한 고객사가 AWS EC2 인스턴스를 사용하여 서버를 운영하고 있었는데 현 회사 솔루션 내 작업 로그시간을 UTC가 아니라 KST로 보이게 해달라는 요구를 하였다. AWS EC2 인스턴스의 시스템 시간은 기본적으로 UTC를 따른다. 솔루션은 시스템 시간에 따라 로그를 출력하기 때문에 UTC의 경우 우리나라 시간보다 9시간 전으로 로그가 찍혀 일반 사용자들은 보기 어려울 수 있다. 나는 이를 ..

OS/Linux 2023.08.14

[Linux] /etc/hosts 파일

hosts 파일 컴퓨터가 도메인의 IP를 찾을 때 컴퓨터가 가장 먼저 조사하는 파일로, Linux에서 DNS보다 먼저 hostname을 IP로 찾아준다. DNS 매핑 과정 IP 주소로 접속하기란 번잡하므로 사람이 외우기 쉬운 주소로 도메인을 사용한다. tistory.com을 예로 들겠다. tistory.com을 입력했을 때 브라우저는 DNS 서버에 접속하여 tistory.com의 IP 주소를 찾는데, DNS 서버가 해당 IP를 알려주면 이에 접속해서 사이트를 띄운다. 이때, tistory.com을 입력했을 때 컴퓨터가 DNS 서버에 hosts 파일을 먼저 조사한 후 IP 주소를 찾는다. hosts 파일에서 해당 IP 주소를 찾는다면 DNS 서버는 더이상 그 도메인에 대해 묻지 않는다. hosts 파일 구..

OS/Linux 2023.07.29

[Linux] CentOS7 ssh 설치 및 접속

ssh 설치 유무 확인 # rpm -qa | grep ssh* 나는 ssh가 설치되어 있었다. ssh 설치 # yum install [설치할 openssh 패키지] 혹시 몰라 다시 openssh-server를 다시 설치하였다. 만일, 서버가 설치되어 있지 않다면 openssh-server*를 설치하고, 클라이언트가 설치되어 있지 않다면 openssh-clients*를 설치하면 된다. ssh 설정파일 편집 # vi /etc/ssh/sshd_config PermitRootLogin : root 계정으로의 로그인 허용 여부를 설정한다. yes는 허용, no는 차단하는 것이다. 나는 테스트를 위한 것이므로 root 계정으로의 로그인을 허용하였다. ssh 자동실행 등록 및 시작, 상태 확인 -- ssh 자동실행 ..

OS/Linux 2023.07.23

[Linux] yum으로 java 설치

처음에 CentOS를 깔고 터미널에서 명령어 java -version 또는 which java를 입력했을 때 아무 것도 안뜰 수 있다. 그럴 때 java를 설치해주어야 하는데, 먼저 jdk-devel 패키지가 깔려있는지 확인해야 한다. jdk가 깔려있어도 jdk-devel이 없으면 안된다. jdk 설치 유무 확인 # yum list installed *jdk-devel 위 명령어를 입력했을 때 'Error: No matching Packages to list' 라는 문구가 출력된다면 jdk-devel 패키지를 설치해야 한다. 설치 가능한 jdk 확인 # yum list java*jdk-devel jdk 설치 # yum install [설치할 jdk-devel 패키지] 나는 java-1.8.0-openjd..

OS/Linux 2023.07.23

[Linux] tar 명령어

1. tar 명령어 tar 명령어는 파일 및 디렉토리를 압축도가 높은 tar, gzip, bzip이라는 아카이브 파일로 복사하는 데에 사용한다. 한 디스크에서 다른 디스크로 혹은 컴퓨터 간에 쉽게 이동할 수 있는 압축 파일을 만드는 데 사용된다. 주의할 점은 -f 옵션을 생략하면 Tape 장치가 없어 오류가 발생한다는 것이다. 2. tar 문법 1) Archive(압축) ① tar로 입측 tar -cvf abc.tar file1 file4 dir1 -c 옵션을 사용하여 파일 또는 디렉토리를 압축할 수 있다. ② gzip로 압축 tar -cvzf abc.tar.gz file1 file4 dir1 -z 옵션을 사용하여 gzip으로 압축할 수 있다. ③ bzip2로 압축 tar -cvjf abc.tar.bz2..

OS/Linux 2023.06.15

[Linux] /etc/passwd와 /etc/shadow

/etc/passwd /etc/passwd는 시스템에 등록된 사용자의 정보가 담긴 파일이다. 해당 파일로 사용자의 계정과 인증을 관리한다. passwd라는 이름 때문에 패스워드 정보가 담긴 파일이라 생각할 수 있으나, 패스워드 정보는 /etc/shadow 파일에 담겨있다. root:x:0:0:root:/root:/bin/bash ▶ 각 필드에 대한 설명 계정명(root): 사용자의 계정명을 의미한다. 패스워드(x): 계정의 패스워드 필드이며, x는 사용자의 패스워드가 /etc/shadow에 암호화되어 저장돼있음을 의미한다. UID(0): 사용자의 유저 ID 필드이며, 0은 root의 UID임을 의미한다. (root는 관리자 계정) GID(0): 사용자의 그룹 ID 필드이며, 0은 root의 GID임을 의..

OS/Linux 2023.06.13

[Linux] mv 명령어

1. mv 명령어 mv 명령어는 어떤 소스의 이름을 변경하거나 소스를 다른 디렉토리로 이동시킨다. 2. mv 문법 $ mv [옵션] 소스 파일/디렉토리 - 예시 1) 현재 디렉토리 내 파일명/디렉토리명 변경 # mv a.txt b.txt -- 파일명 변경 # mv /test1 /test2 -- 디렉토리명 변경 2) /data/test1의 a.sh 파일을 /data/test2로 이동 # mv /data/test1/a.sh /data/test2 3) /data/test1의 a.sh 파일을 /home/test_logs 내 b.sh 파일로 이름을 변경하여 이동 # mv /data/test1/a.sh /home/test_logs/b.sh 4) /data/test1/a.sh 파일을 현재 디렉토리로 이동 # mv /..

OS/Linux 2023.06.10

[Linux] su 명령어

1. su 명령어 유효한 사용자 및 그룹으로 유저 로그인한다. 만일 유저가 없이 로그인 시도될 경우 root로 가정한다. 2. su 문법 $ su [옵션] [-] [유저] - 예시 [test@a ~]$ su Password : [root@a test]# exit exit [test@a ~]$ test 유저로 로그인한 상태에서 root로 로그인할 땐 비밀번호를 입력해야 한다. 비밀번호가 일치하면 root로 로그인이 되고, 다시 test로 돌아가고자 할 땐 exit를 입력하면 된다. 이때, 유의할 점은 'su -'를 입력할 경우이다. 'su'를 입력할 땐 root의 환경변수를 적용하는 것이 아니라 현재 유저의 환경변수를 적용한다. 그러나 'su -'는 root의 환경변수를 적용하므로 /root 디렉토리로 이..

OS/Linux 2023.06.10

[Linux] mkdir 명령어

1. mkdir 명령어 mkdir는 존재하지 않는 디렉토리일 때 그 디렉토리를 생성한다. 2. mkdir 문법 mkdir [옵션] 디렉토리 - 예시 1) 기본 생성 $ mkdir test 2) 계층적으로 생성 $ mkdir test/test1 /(슬래쉬)를 구분자로 하여 계층 구조를 생성하면 된다. 이때, 상위 디렉토리가 없으면 에러가 발생한다. $ mkdir test/test1 mkdir: 'test/test1' 디렉토리를 만들 수 없습니다 : 그런 파일이나 디렉터리가 없습니다 (mkdir: cannot create directory 'test/test1' : File exists) 해당 에러는 -p 옵션으로 해결할 수 있다. -p 옵션은 부모 디렉토리를 생성해준다. $ mkdir -p test/tes..

OS/Linux 2023.06.10