기초 물방울/리눅스&VM

리눅스(Linux) 사용자와 그룹, 소유권, 사용자추가, 스크립트

Weeding 2022. 4. 4. 11:58
반응형
SMALL

리눅스는

여러명의 사용자를 지원하는 멀티 유저를 지원하는 시스템

 

리눅스 머신 하나에

여러명의 사용자가 사용을 할 수 있다라는 의미

 

A사용자와 B사용자가 서로 공유를 안한다면

정보를 보호해야하는 매커니즘이 필요함.

 

 

User / Group 개념

소유권과 권한이라는 개념이 파생됨.

 

사용자(계정O 사람X)들이 여러개로 그루핑됨.

System administrator : super user; root★

하나의 리눅스 시스템에는 하나의 관리자(root)가 필요함.

root는 모든 권한을 가짐.

 

Group A

User a/b/c

 

G B

U x/y/z

 

G C

U q/w/e

 

 


 

파일 소유권(Ownership)과 권한

 

file이라는 객체의 권한과 소유권이라는 속성이 연결되어있음.

 

어떤 file이 A조에 속하고 A조의 abc 조원들에게도 속하는 file이 있다라면

a가 만든 파일이 b,c가 어떤 권한을 가지고 있는지?

 

 

ex)

$pwd

/home/hostname/user2

# ls -l

total 8

drwxr-xr-x   2   user2   users   1024   Feb 9   14L22   directory1

 

permissions  Links  Owner  Group  Size  Date  Time  File or diectiory name

 

 

★ drwxr-xr-x : Permissions = 파일 접근 권한

-or d = File Type

 

Owner

r = Read

w = Write

x = Execute

 

Group

r

w

x

 

Other Users

r

w

x

 


 

파일 권한 = chmod

permission = mod

어떤 파일에 대해서 어떤 권한을 줄건지 입력값이 필요

문제는 "권한"

 

 

10진법 0~9

 

2진법 0,1

 

8진 표기법 0~7

16진법 0~9 , a,bcdef = 16개의 숫자

 

 

파일의 권한은

"8진 표기법"으로 설정

 

4 2 1 4 2 1 4 2 1

  7       7      7

 

r w x 

4 2 1

 

ex) rex 권한 다 준다면? = 755

 


의미 표기법(symbolic form)

 

$ chmod [ugoa(+/-)rwx] <dir>

u = user

g = group

o = others

a = all;

+ = add permission

- = remove

 

어떤 그룹에다가 어떤 권한을 준다 뺀다 기존의 어떤 파일(권한)에

 

To make a directory readable by others;

$ chmod go+rx <dir>

= group하고 others에 read하고 excute 권한을 더해줘

 


cat /etc/paaswd

= 시스템에 등록되어있는 유저들의 목록과 설정

한 줄당 하나의 계정

 

cat /etc/group

=etc에 해당되는 그룹들

 


사용자와 추가 실습

 

1. adduser 

좀 더 인터렉티브함. 좀 더 편함

 

sudo adduser

 

sudo adduser han

 

사용자바꾸기에서 계정 변경 가능

 

 

weeding이라는 계정에 han의 계정으로 실행되는 shell을 띄울 수 있음.

= su - han

 

계정을 지우는 방법

= deluser 사용자

sduo deluser han  --remove-home

(리눅스 시스템의 권한을 변경하는 것이기에 관리자권한 sudo 사용)

(만든 사용자의 터미널 exit와 로그아웃까지 해야함!)

 

 

2. useradd

 

 


 

 

두개의 그룹

 

animals  /  fruits

-dog         apple

-pig          banana

 

 

sudo addgroup animals

 

sudo addgroup fruits

 

sudo adduser pig --ingroup anmials

sudo adduser dog --ingroup animals

sudo adduser apple --ingroup fruits

sudo adduser banana --ingroup fruits

 

 

cat /etc/passwd   (확인 명령어)

 


 

read권한이 있어서 기록은 보이지만 w권한은 없어서 수정은 되지만 저장 안됨.(허가거부)

 

그렇다면 여기에 write권한을 chmod로 준다면

 

-rw-r--r--  (644)

8진수나 의미표기법으로 변경

 

 

8진수변경 방법

chmod 664 testfile

ls -al testfile

= -rw-rw-r--

 

의미표기법 변경 방법

chmod g+w testfile

ls -al testfile

= -rw-rw-r--

 

그룹 사용자의 write 권한이 없기 때문에 허가가 거부됨. (새로운 파일 만드는것은 허가가 안됨)

 

chmod로 읽고쓰고실행 권한을 내꺼에만 변경 600 > 다른 파일에서 다 허가 거부

 


스크립트 실행(Excute)

 

스크립트란?

like 대본

순차적으로 실행되는 명령의 모음.

bash 스크립트 = 기본 쉘 이름

기본 쉘에서 실행되는 여러가지 명령들을 모아놓고

이것들을 순차적으로 실행할수 있게 하는 파일

 

 

약속된 규정이 있음

첫줄은 반드시 #!/bin/bash 가 입력되어야함. (nano안에서)

 

 

$ echo $PATH

:으로 구분된 디렉토리들의 목록

 

which pwd

 

 

chmod 755 firstscript

chmod a+x firstsciprt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST