15. Multi-user
여러 명이 컴퓨터를 같이 사용하게 되는 경우!
id : 현재 접속중인 내가 누구인지 알려줌
uid: user idgid: group id
who : 현재 누가 접속해있는지 알려줌
1) Super(Root) User vs User
-
sudo: super user do#: super 유저$: 일반 유저
-
super user가 되기 위해서
su명령어 사용- ex)
su - root- 비밀번호 입력 후, super user로 변경!
-
가급적 super user 지양하기! (꼭 필요할때 말고는)
exit: 로그아웃 후, 일반 user로 돌아오기
- ex)
-
lock & unlock
sudo passwd -u root: super user를 unlock하기sudo passwd -l root: super user를 lock하기
2) Add user
sudo useradd -m tom
sudo: super user만이 새로운 user를 추가를 할 수 있다-m: home directory도 함께 만들어줌
sudo passwd tom
tom이 사용할 password를 생성해줌
tom이 sudo 권한을 쓸 수 있게 해주려면?
- 방법 1) 유저 생성 시
sudo adduser tom sudo
- 방법 2) 유저 이미 생성 한후
sudo usermod -a -G sudo tom
su - tom이 잘 실행됨을 알 수 있다.
3) Permission
File & Directory에 대해서..
- 1) 읽기
- 2) 쓰기
- 3) 실행
에 대한 권한을 부여/제한할 수 있다.
-rw-rw-r-- 1 lee lee 0 Dec 4 23:19 temp.txt 해석 :
-: file ,d: directoryrw-rw-r--: access moderw-: owner의 권한 ( OOX )rw-: group의 권한 ( OOX )r--: others의 권한 ( OXX )
lee lee:- 앞의
lee: owner - 뒤의
lee: group
- 앞의
rwx
r: readw: writex: execute
4) chmod
change mode : for 권한 변경
chmod o-r temp.txt
-
o: other의 -
-r: read 권한을 제거(
+r: ~을 부여 )
chmod u-w temp.txt
u: user의-w: write 권한을 제거
[TIP] rwx : 총 8가지 ( 2^3 =8 ), 0~7의 숫자로도 control 가능!
5) directory 권한
파일은 읽기/쓰기/실행하기 가 명확하다. 그렇다면 directory는?
( 실습 준비 )
-
mkdir perm; cd perm; echo 'hi' > perm.txt -
cd ..
other에 대해, perm 경로의 읽기/쓰기 권한 부여
chmod o+r permchmod o+w permtouch test: test 파일이 잘 생성될 수 있음
실행(x)를 빼버리면, 아예 해당 경로에 접속도 불가!
특정 디렉토리 밑에 있는 “모든 하위 디렉토리/파일”에 대해 권한을 부여하려면?
R: Recursivechmod -R o+w perm
# 16. Group
file을 만든 사람 : user (u)
file을 만들지 않은 사람 : other (o)
수 많은 other 중 일부를, 묶을 수 없을까? “GROUP”
“GROUP”단위로 권한을 부여/제거할 수 있다!
- ex) GROUP 1 : developer
- ex) GROUP 2 : designer
1) groupadd
같은 group에 대해서, 권한 통일시키기!
-
user1, user2 : deveoper
-
user3 : designer
cd /var : 이 곳에, developer들이 사용할 공용 directory 만들자!
sudo mkdir developer
멤버를 그룹에 추가하기
-
1) 사용자 새로 생성시
useradd -G groupname username
-
2) 기존 사용자를 추가 시
-
2-1) 그룹 생성 :
sudo groupadd developers(
nano /etc/group을 확인해보면, 그룹이 새로 생성된 것을 알 수 있음 ) -
2-2) 그룹에 추가 :
sudo usermod -a -G developers lee
-
현재 directory의 소유자/그룹을 변경하기
sudo chown root:developer .: root에서 developer로sudo chgrp root:developer .: root에서 developer로
그런 뒤, sudo chmod g+w .
17. Internet / Network / Server
client ———(request)———> server
client <——–(response)——- server
google의 ip address는?
ping google.com
현재 접속중인 컴퓨터의 ip를 알아내기
- 방법 1)
ip addr - 방법 2-1) ipinfo.io/ip 로 접속하기
- 방법 2-2)
curl ipinfo.io/ip
but 방법 1) & 방법 2)의 ip가 다르다! 왜?
- 방법 1) 컴퓨터의 부여된 실제 ip …………. private IP
- 방법 2) 온라인 서비스가 인식한, 현재 내 컴퓨터의 ip ……….. public IP
( 내 고유의 ip와, 접속할때 사용하는 ip는 다를 수 있다! )