리눅스는
여러명의 사용자를 지원하는 멀티 유저를 지원하는 시스템
리눅스 머신 하나에
여러명의 사용자가 사용을 할 수 있다라는 의미
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 (확인 명령어)
그렇다면 여기에 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--
스크립트 실행(Excute)
스크립트란?
like 대본
순차적으로 실행되는 명령의 모음.
bash 스크립트 = 기본 쉘 이름
기본 쉘에서 실행되는 여러가지 명령들을 모아놓고
이것들을 순차적으로 실행할수 있게 하는 파일
약속된 규정이 있음
첫줄은 반드시 #!/bin/bash 가 입력되어야함. (nano안에서)
$ echo $PATH
:으로 구분된 디렉토리들의 목록
which pwd
chmod 755 firstscript
chmod a+x firstsciprt
'기초 물방울 > 리눅스&VM' 카테고리의 다른 글
리눅스(Linux)공부기록 리디렉션과 파이프라인 (0) | 2022.04.06 |
---|---|
리눅스(Linux) 프로세스와 시그널 (0) | 2022.04.05 |
리눅스(Linux) 하드링크와 소프트링크 실습 (0) | 2022.04.04 |
리눅스(Linux) 공부 기록 #3 (0) | 2022.03.27 |
리눅스(Linux) 공부 기록 #2 Ubuntu 커맨드 (0) | 2022.03.20 |