본문 바로가기

RHCSA

RHCSA 2일차

1. 유저, 그룹 생성 삭제 

 

유저 생성 명령어는 다음과 같다.

useradd [옵션] user-name

<옵션>

-u: UID 지정

-g: 사용자 그룹 지정

-G: 사용자 보조그룹 지정

-d: 사용자 홈 디렉터리 지정

-p: 사용자 패스워드 지정

 

그룹 생성하는 명령어는 다음과 같다.

groupadd [옵션] group-name

 

먼저 sling 이라는 그룹을 추가한다.

 

그리고 user1 ~ user10까지 보조그룹은 sling로 설정해서 생성해보겠다.

 

생성된 유저정보는 /etc/passwd 파일에서 확인할 수 있다. 생성한 user1~user10까지 확인 가능하다.

 

그리고 사용자의 홈 디렉터리도 /home 디렉터리에 생성되었다. 사용자의 홈디렉터리는 사용자 계정 생성시 자동으로 함께 생서되도록 설정되어 있다.

 

 

그리고 보조그룹은 모두 sling로 확인할 수 있다.

 

다음으로 생성한 유저를 삭제해보겠다.

 

유저 삭제 명령어는 다음과 같다.

userdel [옵션] user-name

<옵션>

-r: 사용자의 홈 디렉토리 제거

 

-r 옵션을 사용해 사용자의 홈 디렉터리도 같이 삭제하겠다.

사용자를 삭제하면 /etc/passwd 파일 하단에 사용자 정보가 함께 삭제되었다.

 

또한 사용자의 홈 디렉터리도 함께 삭제되었음을 볼 수 있다.

 

 


2. 리눅스의 퍼미션, 소유자의 개념 이해하기

 

리눅스는 멀티 유저(Multi-user) 시스템으로 여러 사용자가 공동으로 파일을 사용할 수 있다. 그렇기 때문에 자신을 제외한 다른 사용자가 자신의 파일을 수정하는것을 방지하고 싶은 상황이 온다. 이때 퍼미션 기능을 사용한다.

 

파일이나 디렉터리의 접근 주체를 소유자, 소유그룹, 기타 사용자로 나누고 읽기, 쓰기, 실행 권한을 각각 부여할 수 있다.

다. 

 

아래의 사진은 ls -al 명령어를 통해 /etc 디렉터리 파일 리스트를 확인한 것이다. 

 

제일 왼쪽을 보면 파란색은 d로 시작하는데 이는 디렉터리를 의미한다. 그리고 검은색은 제일 왼쪽이 _로 시작하는데 이는 파일을 의미한다.

 

제일 왼쪽 글씨를 제외하면 9글자가 남는데 3글자씩 소유자, 소유그룹, 기타 사용자의 권한을 나타낸다.

각각 써있는 rwx에서 r은 read(읽기), w는 write(쓰기), x는 excute(실행)을 의미하며 각각의 글자가 써있으면 해당 권한이 부여된것이다. 또한 각각 2진수로 나타내기 위해 읽기 권한(r)은 4, 쓰기 권한(w)은 2, 실행 권한(x)은 1로 표현한다.

 

예를들어 사진의 제일 위에있는 wgetrc 파일은 -rw-r--r-- 권한은 다음과 같다.

  • 소유자는 읽기, 쓰기(rw-) ->6
  • 소유 그룹은 읽기(r--) -> 4
  • 기타 사용자는 읽기(r--) ->4

즉, wgetrc 파일의 퍼미션은 644이다.

 

 

이제 직접 실습해보겠다.

 

먼저 /home 디렉터리에 0616 디렉터리와 A라는 파일을 생성했다.

0616 디렉터리는 소유자와 소유 그룹이 root이고 권한은 755이다.

A 파일도 소유자와 소유 그룹은 root이고 권한은 644이다.

 

파일과 디렉터리의 권한을 바꿔보도록 하겠다.

 

파일이나 디렉터리의 권한을 변경하는 명령어는 chmod이다.

chmod 755 파일명
chmpd -R 755 디렉터리명

<옵션>

-R: 디렉터리의 권한을 변경할때 하위의 파일 혹은 디렉터리의 권한 모두 변경한다.

 

먼저 A파일의 권한을 400으로 바꾸로 0616 디렉터리의 권한을 770으로 하겠다.

 

다음으로 user 계정으로 A파일을 읽어보고, 0616 디렉터리로 이동해보겠다.

 

위의 사진을 보면 A 파일을 읽는것도 거부되었고 0616 디렉터리로 이동하는것도 거부되었다.

A파일은 퍼미션이 400으로 소유자인 root만 읽을수 있기 때문이다. 그리고 0616 디렉터리로 이동하는것도 거부되었다.

디렉터리 이동 명령어인 cd는 해당 디렉터리에  실행 권한(x)가 있어야 가능하다. 따라서 권한이 없으므로 cd 명령어가 실행되지 않는다.

 

다시 A파일의 퍼미션은 755, 0616 디렉터리의 퍼미션은 775로 변경했다.

 

그리고 다시 user 계정으로  A 파일을 읽어보고 0616 디렉터리로 이동해보겠다.

이번에는 정상적으로 실행되었다. 그리고 A 파일의 소유자를 user로 변경하고 다시 퍼미션은 640으로 변경해보겠다.

 

파일 소유권 변경 명령어는 chown이다.

chown [소유자]:[소유그룹] [파일명 or 디렉터리명]

만약 해당 디렉터리의 하위 목록까지 모두 소유권을 변경하려면 -R 옵션을 사용하면된다.

 

다음으로 user1 사용자를 생성하고 A 파일을 읽어보겠다.

권한이 없어서 거부되었음을 알 수 있다.

 

 


3. umask

 

umask란 퍼미션에 대한 디폴트 값으로 파일이나 디렉터리를 생성하면 초기 접근 권한을 설정할 떄 사용하는 값이라고 생각할 수 있다.

 

파일의 초기 권한은 666이고, 디렉터리의 초기 권한은 777이다.

이 초기 권한에서 umask 값을 뺀것이 생성되는 파일과 디렉터리의 권한이다.

 

umask 값을 확인하는 방법은 umask 명령어를 입력하는 것이다.

umask값은 0002이다. 

이 뜻은 파일을 생성하면 초기 권한인 666에서 002를 뺀 664가 되고, 디렉터리를 생성하면 초기 권한이 777에서 0=002를 뺀 775가 된다는 뜻이다.

 

여기서 제일앞의 0은 제외하겠다. 이는 ACL과 관련된 내용으로 이후에 다루도록 하겠다.

 

-S 옵션을 사용하면 기본 허가권을 문자로 볼 수 있다.

u는 소유자, g는 소유 그룹, o는 기타 사용자를 뜻한다.

 

다음과 같이 0616 디렉터리와 fileA 파일을 생성하면 각각의 퍼미션은 775, 664임을 알 수 있다.

 

umask 값을 005로 바꿔보겠다. 

 

이제 0616A 디렉터리와 fileB 파일을 생성해보겠다.

umask 값이 변경되어 생성한 파일과 디렉터리도 접근 권한이 바뀐것을 볼 수 있다.

  • 0616A: 772
  • fileB: 442

 

umask를 영구적으로 변경하는 방법도 있다. 이방법은 

/etc/profile 파일에서 UMASK 부분을 수정하면 영구적으로 변경된다.

아래의 /etc/profile 파일에서 59~62번째 줄을 보면 UID가 199보다 크면(일반 사용자인 경우) umask값을 002로 부여하고 UID가 199보다 작거나 같다면(관리가 계정인 경우 = root) umask는 022를 부여한다.

따라서 아래의 60, 62번째 줄을 수정하고 저장하면 영구정으록 umask 값을 변경할 수 있다.

 

 

 

4. DNS 서버 변경
2가지 방법으로 dns 서버 바꿔 보기 
첫번째 resolv.conf 파일변경
두번째 연결된 랜카드에서 dns 조회서버 변경

 

첫 번째는  /etc/resolv.conf 파일을 수정하는 방법이다.

 

먼저 /etc/resolv.conf 파일을 확인해보면 DNS가 다음과 같이 입력되어 있다.

 

이를 아래와 같이 수정하고 저장하고 systemctl 

 

 

두 번째 방법은 랜카드에서 직접 DNS를 수정하는 방법이다.

 

랜카드 설정은 /etc/sysconfig/network-scripts/ifcfg-* 파일을 수정하면 된다.

다음은 /etc/sysconfig/network-scripts/ifcfg-ens33 파일이다.

 

파일에 다음과 같이 내용을 추가하고 저장후에 Network Manager를 재실행하면 /etc/resolve.conf값이 수정된다.

 


5. /etc/hosts파일

 

/etc/hosts 파일은 DNS보다 먼저 해당 파일에 입력된 도메인명을 확인후에 해당 서버로 가게된다.

즉 캐시(cache)와 비슷한 개념이라고 보면된다.

 

google.com으로 핑을 보내면 142.250.196.110 ip 주소로 핑을 보낸다.

 

/etc/hosts 파일을 수정해서 google.com으로 핑을 보내면 다른 ip 주소로 핑을 보내도록 해보겠다.

먼저 /etc/hosts 파일에 아래와 같이 내용을 추가하고 저장한다.

 

다음에 google.com으로 핑을 보내면 아래와 같이 파일에 입력해준 ip 주소로 핑을 보낸다. 아무 주소나 입력했기에 핑이보내지지 않는다.

 


6 nmcli, nmtui로 네트워크 변경해보기 

 

nmcli로 네트워크 변경

 

먼저 nmcli con show 명령어로 현재 연결된 네트워크를 확인한다.

 

ens33을 더 자세히 알아보기 위해 nmcli con show enp0s3 입력해서 ipv4 내용 확인

 

아래와 같이 수정

ip주소, gateway, dns들이 변경된것을 확인 할 수 있다.

 

다음으로 nmcli con show enp0s3 명령어로 enp0s3을 활성화한다.

 

 

 

nmtui로 네트워크 변경하기

 

nmcli로 변경했던 enp0s3을 다시 원래대로 수정해보겠다.

 

먼저 nmtui 명령어 실행하면 다음과 같이 gui로 네트워크를 편집할 수 있다. 연결 편집을 선택(Enter)

 

 

enp0s3 선택

 

아래와 같이 nmcli로 설정한 값들을 확인할 수 있다.

 

 

ip 주소, 게이트웨이, DNS 서버 모두 삭제해준다. 삭제후 제일 처음 메뉴로 돌아와서 연결 활성화 선택

 

 

이더넷 (ens33)에서 유선 연결 1을 선택하고 활성화 해준다.

 

이제 종료해준다.

 

 

nmcli con show 명령어로 다시 원래대로 연결된것을 알 수 있다.

 

CentOS에서 한글이 안 쳐져서 유선 연결 1 과 유선 연결 2를 nmtui로 접속해 인터페이스 이름과 맞게 각각 ens33과 ens34로 변경했다. 

 

 

 

 

 

 

 

'RHCSA' 카테고리의 다른 글

RHCSA 6일차  (0) 2021.06.24
RHCSA 5일차  (0) 2021.06.23
RHCSA 4일차  (0) 2021.06.22
RHCSA 3일차  (0) 2021.06.20
RHCSA 1일차  (0) 2021.06.15