본문 바로가기
공부/Linux

리눅스(5)

by 드인 2019. 8. 23.

다중 사용자

1. 다중 사용자 소개

- 시스템의 복잡도가 높아짐

 

2. id와 who

1) id

- 나는 누구인지 알려줌

- uid : user id

- gid : group id

 

2) who

- 현재 이 시스템에 누가 접속했는지를 보여줌

- ssh -p 3002 k8805@local.host : k8805로 리눅스에 접속

 

 

관리자와 일반 사용자

- 유닉스 계열 두가지 형태의 사용자

 1) super(root) user

  - sudo [명령어]; : 일시적으로 super user의 권한을 사용

  - root라는 이름을 가짐

  - # : super user

  - root 디렉토리 사용

 2) user

  - 그냥 일반 사용자는 sudo 사용 안됨

  - $ : 일반 유저

 3) super user가 되기

  - su : change user id or become superuser

  (1) su - root

  (2) 비밀번호 입력

  (3) exit : 로그아웃

 4) root 사용자 잠금 풀기

  (1) sudo passwd -u root

  (2) su - root

  (3) sudo passwd -l root : root user에 잠금 걸음

 

 

사용자의 추가

- unix add user

 1) sudo useradd -m duru 

 2) su - duru

 3) sudo passwd duru : duru의 패스워드 생성

 4) duru는 sudo 명령어 안됨

 5) super user 가능한 사용자에서 sudo usermod -a -G sudo duru : 슈퍼 유저 권한으로 명령 사용 가능

 

 

권한 (permission)

1. basic

- Permission : File & Directory에 대해 유저의 Read & Wirte & Excute 유무를 결정

 1) touch perm.txt

 2) ls -l perm.txt

  - -rw-rw-r-- 1 egoing egoing 0 Dec 4 23:19 perm.txt

  (1) - : Type

    - - 는 기본적인 파일

    - d는 디렉토리

  (2) rw-rw-r-- : Access mode

    - rw- : Owner의 권한

    - rw- : Group의 권한

    - r-- : Other의 권한, 운영체제에 등록되어 있는 모든 사용자 의미

    - r : read, w : write, x : excute

  (3) egoing egoing : Owner Group

 3) echo 'hi' : echo는 문자를 표준출력으로 출력

 4) echo 'hi' > perm.txt : 텍스트가 perm.txt에 출력되어 저장

 5) cat perm,txt로 확인 가능

 6) du) 다른 사용자에서 cd /home/egoing, ls -l perm.txt

 7) du) echo 'hello' > perm.txt 시 권한이 거부됨

 

2. 권한을 변경하는 방법(chmod)

- Chmod : Access mode를 변경

- chmod o-r perm.txt : perm.txt에서 other의 read 권한 제거

chmod o+r perm.txt : perm.txt에서 other의 read 권한 부여

- chmod o+w perm.txt : perm.txt에서 other의 write 권한 부여

- chmod u-r perm.txt : perm.txt에서 user의 read권한 제거

 

3. 실행의 개념과 권한 설정

- excute : 실행

 1) nano hi-machine.sh

 2) #!/bin/bash : bin/bash의 프로그램을 통해서 실행

 3) echo 'hi hi hi hi'

 4) ./hi-macine.sh : 현재 디렉토리에서 hi-machine 실행 -> 안됨

 5) /bin/bash hi-machine : /bin/bash에서 hi-machine 실행됨

 6) chmod u+x hi-machine.sh; : 실행 권한 부여

 7) ./hi-macine.sh : 현재 디렉토리에서 hi-machine 실행 -> 실행됨

 8) du) chmod o+x hi-machine.sh : other에서 실행 권한 부여

 

4. directory의 권한

 1) mkdir perm; cd perm; echo 'hi' > perm.txt

 2) chmod o-r perm : other이 디렉토리 열람 불가능

 3) chmod o+r perm : other이 디렉토리 열람 가능

 4) chmod o-w perm : other이 파일 생성, 변경, 제거 불가능

 5) chmod o+w perm : other이 파일 생성, 변경, 제거 가능

 6) chmod o-x perm : other이 cd perm 불가능(cd 권한 불가능)

 7) chmod o+x perm : other이 cd perm 가능(cd 권한 가능)

 8) chmod -R o+w perm : perm과 그 하위디렉토리에 모두 write 권한 부여 

 

5. chmod 사용법 정리

- chmod [options] mode[,mode] file1 [file2 ...]

- Octal modes(8진법 모드)

 1) chmod 111 perm.txt : 1(excute only) -> ---x--x--x

 2) chmod 110 perm.txt : 1(excute only), 0(-) -> ---x--x---

 3) 0(---), 1(--x), 2(-w-), 3(-wx), 4(r--), 5(r-x), 6(rw-), 7(rwx)

- 문자열 모드

 1) chmod 옵션 [reference] [operator] [modes] 파일

 2) reference : u, g, o, a(all)

 3) operate : +, -, =(해당 권한을 설정한데로 변경)

 4) modes : r, w, x, -(사용권한ㅇ벗음)

 

그룹

1. intro

- user : file를 만든 사람, RWX에 의해 파일 사용

- other : file를 생성하지 않은 사람, RWX에 의해 파일 사용

- group : 특정한 사용자 그룹에게 권한 부여 위해 이름을 주고 파일에 지정, RWX에 의해 파일 사용

 

2. groupadd - 실습

 1) cd /var

 2) sudo mkdir developer

 3) cd developer/

 4) echo 'hi, ehoing' > egoing.txt  -> 거부됨

 5) sudo groupadd developer 

  - sudo !! : 직전에 입력했던 명령어 실행

 6) nano /etc/group 에서 developer 확인 가능

 7) sudo usermod -a -G developer egoing : 추가한다, 그룹에 developer라는, 수정할 사용자로는 egoing을

 8) sudo usermod -a -G developer k8805

 9) 재로그인(exit, 재접속)

 10) cd /var/developer/

 11) sudo chown root:developer . : 현재 디렉토리의 소유자를 root에서 developer로 바꿈 

 12) sudo chmod g+w .

 13) echo 'hi, egoing' > egoing.txt : egoing.txt에 hi, egoing 생성

 

 

 

 

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

리눅스(6)  (0) 2019.08.25
리눅스(4)  (0) 2019.08.21
리눅스(3)  (0) 2019.08.20
리눅스(2)  (0) 2019.08.11
리눅스(1)  (0) 2019.08.07