돌할우밤 공부방

전체 글 (13)

  1. 2021.06.20 /Linux/RHCSA/3일차

    1. 확장 퍼미션(setUID setGID sticky bit)에 대하여 + 실습 확장 퍼미션에 관하여 일반적으로 파일이나 디렉토리에는 user, group, other 권한이 존재하고 각각 읽기, 쓰기, 실행 권한을 부여할 수 있다 이런 일반 권한 이외에도 리눅스에는 확장 퍼미션 즉 확장 권한이 존재하는데 이것이 setuid, setgid, sticky bit이다. 특수권한 setUID setGID sticky bit 8진수 4 2 1 먼저 위의 표를 보면 이렇게 나타낼 수 있는데 즉 확장퍼미션 값을 주고 싶으면 예를 들어 chmod? 744 이때 확장 퍼미션 값을? 에 집어넣으면 되겠다 -setUID SetUID가 설정된 파일을 실행할 때 일시적으로 파일 소유자의 권한을 얻어 실행할 수 있도록 하는데..

  2. 2021.06.18 /Linux/RHCSA/2일차

    1. 사용자 및 그룹 생성 삭제 예제 1) : 사용자 5개 생성하기 그룹 1개 만들고 생성한 5개의 사용자들 보조 그룹 지정하기, 그 후 전부 삭제 이때 삭제할 때 홈 디렉터리까지 전체 삭제하기. - 사용한 명령어 useradd [option] user-name - 사용자 생성 userdel [option] user-name - 사용자 삭제 groupadd [option] group-name groupdel group-name gpasswd [option], vi /etc/group - 그룹에 멤버 추가 자 먼저 사용자 5개를 생성해 보자. useradd로 사용자 추가하는 모습 tail 명령어로 추가된 사용자 확인하는 모습 그다음 생성한 사용자들을 포함시킬 그룹을 하나 만들어 보자. 자 이제 사용자 5개..

  3. 2021.06.16 /Linux/RHCSA/1일차

    1. 디렉터리 계층 구조의 관하여 - 리눅스는 위 사진과 같이 파일을 효율적으로 관리하기 위해 디렉터리가 계층적 즉 트리구조로 나뉘어 있다. 이것을 '파일 시스템'이라 한다. - / (root) : 위 사진에서 보이듯이 모든 디렉토리의 시작 즉 '최상위 디렉터리'이다. - 하위 디렉터리(서브 디렉터리) : '/ (root)' 아래로 위치한 디렉터리 ex) /(root) 아래 usr 아래 local 아래 bin 디렉터리 = /usr/local/bin 이렇게 되겠다. - 상위 디렉터리 (부모 디렉터리) : '..'로 표기되고 '/ (root)' 를 제외한 하위 디렉토리에는 상위 디렉토리가 있다. - 작업 디렉터리 : '.'으로 표기되고 현재 위치한 디렉터리를 뜻한다. - 홈 디렉토리 : '~'으로 표기되고 ..

1. 확장 퍼미션(setUID setGID sticky bit)에 대하여 + 실습

  • 확장 퍼미션에 관하여

일반적으로 파일이나 디렉토리에는 user, group, other 권한이 존재하고 각각 읽기, 쓰기, 실행 권한을 부여할 수 있다 이런 일반 권한 이외에도 리눅스에는 확장 퍼미션 즉 확장 권한이 존재하는데 이것이 setuid, setgid, sticky bit이다.

 

특수권한 setUID setGID sticky bit
8진수 4 2 1

먼저 위의 표를 보면 이렇게 나타낼 수 있는데 즉 확장퍼미션 값을 주고 싶으면 예를 들어 chmod? 744 이때 확장 퍼미션 값을? 에 집어넣으면 되겠다

 

-setUID

SetUID가 설정된 파일을 실행할 때 일시적으로 파일 소유자의 권한을 얻어 실행할 수 있도록 하는데 예를 들어 root 권한으로 지정된 프로그램에 SetUID가 지정되어 있다면 실행할 때 root 권한으로 실행된다 쉽게 설명을 덧붙이자면 실행할 때 root의 권한을 빌려온다고 생각하면 된다.

 

chmod로 fire라는 파일에 setUID값을 넣었으니 이제 실행하게 되면 root권한으로 실행되게된다 물론 이해하기싶게 fire파일을만들어서 한 모습
흔히 비밀번호 설정하기 위해 실행되는 파일인 passwd는 setUID로 되어있어 실행시키면 root의 권한을 빌려와 실행되지만 값을 바꾸면 root의 권한이 없어 실행이 불가능하다.

 

-setGID

 SetUID와 마찬가지로 SetGID가 설정된 파일을 실행할 때 일시적으로 파일 소유 그룹의 권한을 얻어 실행하도록 해준다

setGID값을 주고 root 계정으로 파일을 만들어보자
위 사진과 같이 루트로 파일을 만들어도 setGID값으로 인해 ubam그룹으로 권한을 얻어 실행하게 설정이 되어있다.

 

- sticky BIT

sticky BIT는 sticky BIT값이 설정된 디렉터리는 누구나 파일을 만들 수 있으며 자신의 소유가 아닌 파일을 삭제할 수 없다 즉 쉽게 말해 공유 디렉터리라고 보지만 소유자만이 파일 삭제가 가능하다.(물론 root계정으로는 삭제가 가능함)

 

ubam 계정으로 muyaho파일을 만든 모습 muyaho는 ubam및root계정만이 삭제가 가능하다

2. lsattrr과 chattr을 사용하여 파일 속성 바꾸기 

  • lsattr 명령어로 파일 속성을 알아보고 chattr로 파일 속성을 부여해보자

lsattr [option] [filename] - 해당 파일 속성을 알아보는 명령어

chattr [option] [-v version] [mode] [filename] - 해당파일 속성을 변경하는 명령어

 

먼저 파일의 속성들을 알아보자.

속성 설명
- ext2/ext3등 파일시스템에서 설정할 수 있는 13개의 속성을 의미
a 쓰기시에 오로지 추가모드로만 열 수 있다.
c 커널에 의해 디스크 상에 압축 상태로 저장.
d dump(8)명령 수행시 백업 되지 않는다 (덤프 방지)
i 삭제,이름변경,링크등 어떤 자료도 변경 불가. (root 조차 변경 불가)
j 데이터 저널링
s 지워질 때 블록들이 모두 0으로 되고 다시 디스크상에에 씌여짐(안전한 삭제)
t 하단 결합 불가
u 삭제가 되었을 경우에는 그 내용이 저장 (데이터로 복구 가능)
A 접근시간(atime) 갱신 안함
D 동기화된 디렉토리 업데이트
S 수정될 때 그 변화가 디스크 상에 동기화 (동기화된 업데이트)
T 디렉토리 계층구조의 최상위
읽기 전용 속성
h  큰 파일
e 압축  오류
i 색인 디렉토리
X 압축 로우 액세스
Z compressed dirty file

 

lsattr 명령어의 옵션


-R
디렉토리와 그 이하 모든 내용에 대한 속성값 출력.
-a '?'로 시작하는 파일을  포한한 디렉토리 내 모든 파일 출력.
-d 디렉토리를 볼 때 안에든 파일을 일반 파일처럼 출력.
-v 파일 버전을 출력.

 

lsattr 명령어로 Boom디렉토리와 그 밑 파일들 버전을 확인해 보았지만 설정이 되어있지 않다 이제 chattr로 속성을 부여해보자

chattr 명령어의 옵션

옵션  
-R 디렉토리와 그 이하 모든 내용의 속성을 변환
-V 변환된속성의 대하여 자세히 출력
-f 요ㅛ류 메세지 표시
-v version 파일의 버전을 설정
모드  
+ 파일의 속성을 추가
- 파일의 속성을 제거
= 파일이 갖는 속성을 오로지 주어진 속성을 가지도록 설정

chattr명령어에 i옵션을 추가해 이도,삭제,수정불가 속성을 부여하고 ubam계정으로 삭제를 시도해 보겠다
위 사진처럼 허가 거부가 나오게된다 이처럼 속성을 부여할 수 있다

3. useradd로 유저를 생성하는 것 이외에 추가 속성 부여하기

전 게시물에서 했던 useradd(사용자 생성 명령어)로 이번에는 그냥 생성이 아닌 추가 속성을 부여해보자

-useradd 명령어의  옵션

옵션 설명 
-u  사용자 계정의 UID 지정 
-g  사용자 계정의 GID 지정 
-G  사용자 계정의 2차 그룹의 GID 지정 
-d  사용자의 홈 디렉토리를 지정
-e  사용자의 계정 만기일 지정 
-f 사용자의 계정 유효일 지정 
-s 로그인 시 사용할 기본 쉘 지정 
-M 사용자의 홈 디렉토리를 생성하지 않음 
-c comment 

그럼 이제 한번 만들어보자 나는 사용자 이름 : sakura UID : 2500 기본 그룹 : 10(wheel) 홈 디렉터리 : /home/nija/sakura 기본 쉘 : /bin/bash로 설정해서 만들어 보겠다

생성
성공한 모습을 볼 수 잇다

-추가로 chage 명령어 알아보고 실습해보자

chage란? 사용자의 패스워드 만기 정보를 변경 및 설정하는 명령어이다(root 권한을 가진 사용자만 사용 가능함)

옵션 설명
-l 지정한 계정의 정보 확인
-d 패스워드 날짜 수정 (yyyy-mm-dd형식 or 숫자)
-E 계정 만료일 설정 (yyyy-mm-dd형식 or 숫자)
-m 패스워드 최소 의무 사용일 수 지정
-M 패스워드 최종 변경일로부터 변경없이 사용할 수 있는 최대일 수 설정
-I 패스워드 만료일이 지나면 계정 비활성화 (yyyy-mm-dd형식)
-W 패스워드 만료 며칠 전부터 사용자에게 경고 메세지를 보낼지 설정

자 이제 sakura에 대한 패스워드 속성을 수정해 보자 최소기간 : 1 최대 기간 : 60 경고 기간 : 5 특정 날자에 만료 : 2021-8-22

sakura의 기본 설정값
바뀐 모습

 

4. /etc/sudoers란 파일에 대해 알아보자.

-먼저 /etc/sudoers는 sudo 명령 어을 사용하게 할 수 있는 계정을 관리하는 설정 파일이다 역시 설정 파일이기에 /etc밑에 존재하며 root계정 권한이 걸려있고 SetUID나 SetGID가 걸려있지 않으므로 일반 사용자가 읽거나 편집이 불가하다.

또한 /etc/sudoers파일은 쓰기 권한이 없기에 리눅스 편집기인 'vi'를 사용하지 못하고 'visudo'라는 명령어를 사용해 편집해야 한다. 그렇다고 vi편집기로 수정이 불가한 건 아닌데 chmod로 설정을 변경하면 수정이 가능하다.

visudo로 열어서 보면 100번째 줄로 이동하게 되면 sudo를 사용할 수 있는 계정을 부여하는 문구가 있다 여기에 [ '사옹자'          ALL=(ALL)           ALL]를 입력해서 sudo를 사용할수 있게 설정을 부여할 수 있다.

5. setfacl을 이용해 acl 구성해보기

-먼저 acl에 대하여 간단하게 알아보자

acl(Access Control List)이란 파일과 디렉터리 확장 속성 중에 하나이며 setfacl 명령어를 통해 파일의 소유자나 그룹을 더 만들며 다양한 권한을 줄 수 있으며 getfacl 명령어로 추가된 권한을 확인 할 수 있다.

 

먼저 getfacl과 setfacl 명령어에 알아보자

getfacl [option] [filename] - 파일 및 디렉토리 권한 확인 명령어

setfacl [option] [filename] - 파일 및 디렉토리 권한 부여(수정) 명령어

 

-getfacl 옵션

옵션 설명
-d 기본 소유자 그룹과 권환에 대해 확인
-R 디렉토리 및 파일 내용까지 확인

대표적인 사용 예 모습

이제 한번 설정을 바꿔보자

-setfacl 옵션

옵션 설명
-m 권한을 수정할 때 사용한다.
-x 권한을 삭제할 때 사용한다.
-R 디렉토리의 경우 밑의 파일 내용까지 권한 변경한다.
-b 권한 및 mask 등등 지정한 권한을 파멸적 삭제.

이렇게 설정을 변경해 저 디렉토리 수정권한을  sasuke라는 유저에게 부여해보았다.

'IT_공부 > Linux' 카테고리의 다른 글

/Linux/RHCSA/6일차  (0) 2021.06.28
/Linux/RHCSA/5일차  (0) 2021.06.27
/Linux/RHCSA/4일차  (1) 2021.06.22
/Linux/RHCSA/2일차  (0) 2021.06.18
/Linux/RHCSA/1일차  (0) 2021.06.16

1. 사용자 및 그룹 생성 삭제

예제 1) : 사용자 5개 생성하기 그룹 1개 만들고 생성한 5개의 사용자들 보조 그룹 지정하기, 그 후 전부 삭제
이때 삭제할 때 홈 디렉터리까지 전체 삭제하기.

- 사용한 명령어

useradd [option] user-name - 사용자 생성

userdel [option] user-name - 사용자 삭제

groupadd [option] group-name

groupdel group-name

gpasswd [option], vi /etc/group - 그룹에 멤버 추가

자 먼저 사용자 5개를 생성해 보자.

useradd로 사용자 추가하는 모습


tail 명령어로 추가된 사용자 확인하는 모습

그다음 생성한 사용자들을 포함시킬 그룹을 하나 만들어 보자.

 

groupadd로 그룹 생성후 tail명령어로 확인하는 모습

자 이제 사용자 5개를 포함시킬 그룹도 준비되었다 이제 사용자 5개의 보조 그룹을 지정해 보자.

-이때 사용자 red~yellow는 gpasswd로 지정하고 나머지 green~pink는 vi편집기를 사용하겠다.

 

먼저 gpasswd명령어에 -a옵션을 줘 사용자red~yellow를 그룹powerrangers에 포함한 모습

먼저 gpasswd -a 명령어를 사용하여 사용자 red~yellow를 보조그룹powerrangers로 지정 하는 모습


tail명령어로 보조그룹에 잘 지정이 되었는지 확인하는 모습

자 이제 vi편집기로 보조 그룹을 지정해 주자

 




vi편집기로 들어가보자



powerrangers에 green과pink를 추가작성 후 :wq로 저장

이제 확인해 보자.

잘 확인이 되는 모습.

그럼 이제 사용자를 삭제해 보겠다. 그런데 나는 사용자 홈 디렉터리도 삭제하기 위해 -r옵션을 붙여준다.



먼저 삭제하기 전에 홈디렉토리를 확인해 주자.


명령어로 쓱싹 지워보자

이제 확인해 보면

전부다 삭제가 된 것을 알 수 있다.

 

예제 2) : 사용자를 생성함과 '동시'에 보조 그룹 지정하기, 그 후 전부 삭제 
이때 삭제할 때 홈 디렉터리까지 전체 삭제하기.

-이번에는 일일이 그룹을 지정하기 귀찮으니 처음부터 지정하는 법을 알아보자.

 

-G옵션으로 보조 그룹명을 입력해서 동시 생성을 한다.

vi /etc/group 으로 확인해보면 성공적으로 추가가 되었다.

2. 리눅스의 Permission(권한)과 소유자의 개념 이해하기.

  • Permission(권한)에 관하여.

- 리눅스는 멀티유저 운영체제이다. 그래서 보안상의 이유로 다른 사용자들이 파일에 접근을 허용하거나 금지하기 위해 필요한 개념이다.

- 파일이나 디렉토리에 대해 쓰기,읽기,실행 권한을 부여하는 것을 Permission 즉 권한이라 한다.

- 펴미션을 알아볼 수 있는 명령어 : ls -l 또는 ls -n

  • 파일타입과 퍼미션의 값에 관하여.

- 먼저 퍼미션의 값에 알아보기 전에 파일 타입에 알아보자.

사진에 보이다시피 파일타입은 맨앞에 오게 되며 그 뒤에는 퍼미션이 붙게 된다.

-사용자 구분

퍼미션필드의 사용자 구분User(소유자)와 Group(그룹), Other(기타) 알아보자.

항목 설명
User(소유자) 파일과 디렉토리의 소유자이며 파일이나 디렉토리를 생성한 사용자가 일반적으로 소유자가 된다. 명령어로 변경 가능
Group(그룹) 사용자가 속한 논리 그룹이며 파일이나 디렉토리를 생성한 사용자의 기본그룹으로 지정. 명령어로 변경 가능
Other(기타) 소유자나 그룹에 속하지 않는 기타 사용자

 

- 파일 타입 종류

 파일 타입에 종류는 밑의 표와 같다

d : 디렉토리
b : 블록타입 특수 파일
c : 문자타입 특수 파일
l : 심볼릭 링크 파일
p : 파이프 파일
s : 소켓 파일
- : 일반 파일

- 파일 및 디렉토리 Permission(권한) 종류와 값(8진수)

 이제 퍼미션의 종류와 8진수 값에 대해 알아보자. 

퍼미션 문자 파일 디렉토리 값(8진수)
읽기 r 파일 내용 확인 및 복사 가능. ls 명령어로 디렉토리 내용 확인 가능. 4
쓰기 w 파일의 내용 수정 가능. 실행 권한이 있을 경우 디렉토리 내에 파일 추가 및 삭체 가능. 2
실행 x 실행파일의 경우 실행가능(실행 퍼미션을 가지고 있을 때.) cd 명령어 사용하여 디렉토리 접근 가능. 1

-8진수를 이용한 퍼미션의 집합

8진수 펴미션 집합
7 rwx
6 rw-
5 r-x
4 r--
3 -wx
2 -w-
1 --x
0 ---
  • 퍼미션 관련 명령어에 관하여.

1. chmod - 파일 및 디렉토리 권한 변경 명령어

사용법 : chmod [who(u,g,o,a)] [+,-,=] [permission(r,w.x)] [filename]

 ex)

tiger라는 파일의 파일 권한 변경한 모습. 심볼릭 모드 사용
lion의 파일 권한 변경. 8진수 모드 사용

2. chown - 파일 및 디렉토리 소유권 변경 명령어

사용법 : chown [option] [user:group] [filename]

ex)

tiger의 소유자와 그룹을 naruto에서 root계정으로 변경한 모습

3. chgrp - 파일의 사용자 그룹 변경 명령어

사용법 : chgrp [option] [group] [filename]

ex)

root에서 그룹naruto로 변경한 모습

3. umask에 관하여.

-umask란?

리눅스를 다루면서 파일과 디렉토리를 만들어본 경험이 있을것이다 이 때 설정된 '기본 권한'으로 생성되게 된다.

이러한 기본 권한은 umask로 인해 설정하며 나중에도 umask로 변경 가능하다.

(기본 umask는 022로 설정되어 있다 그러므로 파일을 새로 생성할  때는 666 022를 뺀 값 644로 생성되며 디렉토리는 777에서 022를 뺀 755값으로 기본 권한이 설정된다.)

 

밑의 사진은 기본 umask를 변경 후 파일 및 디렉토리의 변화를 확인해본 모습이다.



umask확인 및 변경하는 모습


변경 후 디렉토리는 755가되어야 하는데 744로 바뀐 모습
변경 후 파일은 644가 되어야 하는데 633으로 바뀐 모습

 

4. DNS서버 바꿔보기.

사용된 명령어 : nslookup 입력 후 server - 설정된dns확인 vi filename - 파일에서 직접 수정

 

- 첫번째 방법 : resolv.conf 파일변경으로 인해 DNS바꾸기

nslookup으로 먼저 dns를 확인해 준다.

 

vi 편집기로 dns를 8.8.8.8로 변경 후 :wq로 저장
다시 확인하여 바뀐 모습.

- 2번째 방법 : 네트워크 설정파일 수정하기  /etc/sysconfig/network-scripts/ifcfg-ens33

 

-/etc/sysconfig/network-scripts/ifcfg-ens33 경로로 들어가 dns를 설정전으로 바꿔보자

ifcfg-ens33파일을 확인 vi편집기로 열어보자

 

여기서 DNS1이라고 되어있는 부분에 전 DNS값을 입력하자.
입력! 후 :wq로 저장하자
설정 후 네트워크를 재시작 하고 확인하면 다시 DNS값이 바뀐걸 확인할 수 있다

 

5. /etc/hosts파일이 어떤파일인지알아보고 내용 변경해보기.

-/etc/hosts 파일이란?

/etc/hosts 파일은 운영 체제가 호스트 이름을 IP 주소에 매핑할 때 사용하는 컴퓨터 이다 즉 hosts 파일에 등록해둔 IP와 호스트 이름이 있으면 해당 호스트 이름으로 접근을 할 때 설정 해둔 IP 주소로 접근을 하게 된다.

 

자 이제 한번 변경 해보자.

먼저 /etc/hosts파일을 확인해보면은 ipv4 와 ipv6 주소의 localhost가 설정되어있다.

여기서 223.130.195.200(네이버 ip)를 ubam.com을 입력하면 접속되게 설정해 보겠다.

이렇게 작정 후 :wq로 저장하고 나와서 테스트 해보자.
작성 후 엔터를 누르면!
네이버로 들어가는 모습을 확인 할 수 있다.

 

6. nmcli, nmtui를 사용하여 네트워크 변경해보기.

- nmcli,nmntui란?

먼저 이 둘은 쉽게설명하면 네트워크 설정을 변경할 수 있게 해주는 Network Manager명령어이다

둘의 차이점으로는 밑의 설명과 같다.

nmtui => 콘솔에서 사용 가능한  TUI   N/W 설정 프로그램
nmcli  => 콘솔에서 사용 가능한 명령어 기반 CUI  N/W 설정 프로그램

자 이제 이 두개의 명령어로 간단하게 ip를 변경해 보자

먼저 ifconfig를 사용해 ens33의 ip를 확인해 주자 192.168.199.128.인걸 확인 후 이거를 192.168.0.123로 바꿔주자
192.168.0.123으로 정상 적으로 바뀐 모습

이제 nmtui로 다시 전 상태로 되돌려보자

다시 192.168.199.128작성 후 내용 저장
내용이 다시 바뀐 모습

'IT_공부 > Linux' 카테고리의 다른 글

/Linux/RHCSA/6일차  (0) 2021.06.28
/Linux/RHCSA/5일차  (0) 2021.06.27
/Linux/RHCSA/4일차  (1) 2021.06.22
/Linux/RHCSA/3일차  (0) 2021.06.20
/Linux/RHCSA/1일차  (0) 2021.06.16

이미지 출처 :  https://sayo-le.tistory.com/7 디렉토리 계층 구조

1. 디렉터리 계층 구조의 관하여

- 리눅스는 위 사진과 같이 파일을 효율적으로 관리하기 위해 디렉터리가 계층적 즉 트리구조로 나뉘어 있다.

이것을 '파일 시스템'이라 한다.

 

- / (root) :  위 사진에서 보이듯이 모든 디렉토리의 시작 즉 '최상위 디렉터리'이다.

 

- 하위 디렉터리(서브 디렉터리) : '/ (root)'  아래로 위치한 디렉터리

    ex) /(root) 아래 usr 아래 local 아래 bin 디렉터리 = /usr/local/bin 이렇게 되겠다.

 

- 상위 디렉터리 (부모 디렉터리) : '..'로 표기되고 '/ (root)' 를 제외한 하위 디렉토리에는 상위 디렉토리가 있다.

 

- 작업 디렉터리 : '.'으로 표기되고 현재 위치한 디렉터리를 뜻한다.

 

- 홈 디렉토리 : '~'으로 표기되고 사용자(user)에게 할당된 작업 영역으로, 사용자는 홈 디렉토리 아래에 파일이나

하위 디렉터리를 생성하며 작업 가능하다.


2. 경로의 관하여

- 위 디렉토리 계층 구조를 보면 아시다시피 트리처럼 나뉜 파일 시스템에는 경로가 있으며 크게

'절대 경로'와 '상대 경로'로 나뉜다.

- 디렉터 리간 각 경로를 구분하기 위해 구분자로 '/'를 사용

 

 2-1. 절대 경로

 - 일단 절대 경로의 가장 큰 특징은 무조건 '/ (root)'부터 시작하는 경로이다. 쉽게 말해 무조건 '/ (root)'로부터 지정해서

파일의 경로를 적어주는 것이 '절대 경로'가 되겠다.

 ex) /home/user = 보시다시피 '/'로 시작하며 '/'로 파일의 경로를 적는다.

 

 2-2. 상대 경로

 - 상대 경로의 가장 큰 특징은 절대 경로와는 다르게 '현재 위치한 디렉터리'를 기준으로 시작하는 경로이다. '/'를 제외한 '.'과 '..'그리고 '~'으로 표시하며 현재 위치한 디렉터리 위치에 따라 달라진다.

 ex) 현재 위치 : /usr/local/bin 일 때

   ./test.txt : 현재 /usr/local/bin/test.txt를 나타낸다

  ../local : bin 상위 디렉터리에 있는 /usr/local을 뜻한다.


3. 디렉터리와 파일의 관하여

 이제 위에서 자주 나오던 '디렉터리'와 '파일'에 알아보자.

 

 3-1. 디텍 터리 

 - 디렉터리란 쉽게 말해 우리가 흔히 접하는 window라는 os에서 '폴더'에 해당하며 좀 더 쉽게 말하자면

 '파일이라는 물건을 담기 위한 가방'이라고 생각하면 도니다.

 -효율적으로 관리하기 위해 계층적으로 구성한다.

 

3-2. 파일

 - 파일은 모든 상황에 관련 있는 정보들을 모아서 하나의 물건으로 만든 것이라고 생각하면 편하다

 이것들을 효과적으로 모아서 관리하기 위해 '디렉터리라는 가방'을 사용한다.


4. 리눅스 명령어

 -간단 설명. ver

pwd: 현재 경로 확인

pwd 예시

ls (list) : 디렉터리 목록 확인

ls 예시

cal, date: 달력과 날짜 확인 

date 예시
cal 예시

cd : 디텔토리 이동 명령어 (절대 경로와 상대 경로로 이동 가능.)

ex) cd..(상위 디렉터리 이동), cd / (root디렉터리로 이동), cd ~(홈 디렉토리로 이동),

cd /home/ubam/(절대 경로 사용하여 이동), cd../dev (상대 경로 사용하여 이동)
man '명령어' : '명령어'에 대한 매뉴얼 확인

사용법 : man [options] [section] command

[SPACE] : 한 페이지 밑으로 내려간다

[ENTER] : 한 줄 밑으로 내려간다.

[b] : 전 페이지로 올라간다.

[q] : man 명령을 종료한다

ex) man ls 명령어의 메뉴얼 페이지를 보여준다.

man man 명령어의 매뉴얼 페이지를 보여준다.

man -k passwd passwd라는 키워드가 포함된 메뉴얼 페이지를 찾아서 출력한다.

man -f passwd passwd라는 키워드와 일치하는 메뉴얼 페이지의 목록 정보를 출력한다.

man 5 passwd 다섯 번째 영역에 있는 passwd의 메뉴얼 페이지를 출력한다.

man -w mkdir man mkdir 실행 시에 출력되는 '매뉴얼 페이지' 파일의 경로를 출력한다.
clear : 프롬프트 화면을 정리
mkdir : 디렉터리 생성 명령어

명령어를 사용한 다음 ls로 확인 후의 모습

cp : 파일 혹은 디렉터리 복사 (디렉터리는 -r 옵션 사용.)

ex) cp  -f  file1  file2

mv : 파일 혹은 디렉터리 이동

파일 ubam을 /var/empty/로 옮긴 모습

rm : 파일 혹은 디렉터리 삭제 (디렉토리는 -r 옵션.)

-r 옵션을 사용해 디렉토리를 지운모습

touch : 파일이나 디렉터리의 최근 업데이트 일자를 현재 시간으로 변경(파일이나 디렉터리가 없으면 빈 파일 생성)

touch로 파일  생성
sshd의 업데이트 일자 변경

cat : 파일의 내용 출력 (사용에 따라 파일 합치기 및 기존 파일을 다른 파일에 덧붙이기)

tiger와tiger2를 연결해서 lion에 저장하는 모습
내용 확인한 모습

head : 파일의 앞부분을 보고 싶은 줄 수만큼 보기

옵션을 부여하지 않으면 기본적으로 10줄까지 출력

echo : 텍스트를 화면에 출력

tail : 파일의 뒷부분을 보고싶은 줄 수 만큼 보기

옵션을 붙여 뒤에서 3줄을 본 모습

find : 특정 파일이나 디렉터리 검색

사용법 : find [옵션] [PATH] [EXPRESSION]

diff : 두 파일의 내용을 비교

-d 옵션을 사용해 차이점을 비교한 모습

history : 전에 사용했던 명령어를 순서대로 확인

df : 전체의 디스크 사용량 확인

du : 특정 디렉터리의 디스크 사용량 확인

 

exit : 실행 중인 명령어 취소 및 터미널 종료

uname : 시스템 명령 확인 및 os, 커널 버전 확인

free : 메모리 사용량 및 잔여량 확인

lscpu : CPU 하드웨어 정보 간단한 방식으로 확인

whatis '명령어' : 명령어에 대해 간단하게 설명

type : 쉘에 내장된 명령어인지, 외부 명령어인지, 앨리어스 명령어인지 등을 확인

last : 로그인 재부팅 로드 출력

root계정의 로그 출력

w : 서버에 접속한 사용자 정보와 작업 정보 확인

hostname : 호스트 이름 확인

tar : 파일 압축 및 해제 명령어

sudo : root 계정의 권한을 사용해서 명령어 실행

su : 사용자 변경 명령어 

root 계정으로 로그인 한 모습

5.root계정에 관하여.

  1. 모든 권한을 가지고 있는 최고 관리자가 사용하는 ID를 의미 한다.
  2. 운영체제 모든 것을 제어할 권리를 가지게 된다.
  3. 파일의 접근 및 권한 수정도 마음대로 할 수 있다.

 

 

'IT_공부 > Linux' 카테고리의 다른 글

/Linux/RHCSA/6일차  (0) 2021.06.28
/Linux/RHCSA/5일차  (0) 2021.06.27
/Linux/RHCSA/4일차  (1) 2021.06.22
/Linux/RHCSA/3일차  (0) 2021.06.20
/Linux/RHCSA/2일차  (0) 2021.06.18
1 2

>