[Linux] Host

정재훈·2022년 3월 24일
0

Linux

목록 보기
6/19
post-thumbnail

Host 개념

Host : 네트워크에 연결되어 있는 장치, 컴퓨터
리눅스는 다중 시스템으로 설계되어 있고, 리눅스가 설치된 컴퓨터 1대를 HOST라고 부른다.

혼자 사용 가능, 가족 전체 사용 가능 -> 각자 계정으로 로그인 가능한다.
관리자 지정이 필요하며, 공용 프로그램들을 설치/제거를 모두에게 허용할 수 없기 때문에, 관리에만 가능토록 설정한다.

리눅스를 처음 설치하면 해당 계정은 관리자인 root로 부터 권한을 부여받는다.

본인의 UserID & HostName 확인

터미널을 켜면 User ID @ Host Name

파일 권한 설정

남의 파일들을 건들지 못하게 설정이 가능하다. 하지만, root 계정은 모든 것을 할 수 있다.

Host Name : 장치를 지목할 때 사용하는 이름
네트워크의 특정 PC를 지목하는 방법 : IP 주소 , Host Name

본인의 IP 확인하기!

sudo apt install net-tools
ifconfig : ip를 확인하는 명령어

비밀번호 변경

passwd명령어를 통해 변경가능하다. 해당 명령어는 sudo를 앞에 안붙혀도 된다. 비밀번호 변경만큼 시스템에 영향을 끼치는 명령어를 관리자가 아닌 사람이 실행가는 한지에 대해 의문을 가질 수 있지만, 사용자 본인이 본인의 비밀번호를 변경할 수 있게 끔 설계 한것입니다.

sudo passwd 명령어는 root 비밀번호를 변경합니다. root는 관리자로 보안상의 이유로 root 비밀번호는 사용자 모두가 몰라야하는게 정상입니다. root 비밀번호 변경은 보안상 치명적이기 때문에 변경하지 말자!!

관리자 타 사용자의 비밀번호를 바꿀수도 있다. sudo passwd [사용자이름]

참고) 비밀번호는 보통 더 짧게 바꾸지 못한다.

Root로 로그인

우분투에서는 보안상의 이유로 root로 로그인 하는것을 막아놓았다.
따라서, 일반 계정으로 접속하여 사용자 변경을 통해 root 계정을 사용해보겠습니다.

sudo su를 통해 root계정으로 접속가능합니다.
사용자가 root 권한을 사용할 때에는 명령어 입력시 앞에 $와 중대한 변경 시 sudo를 사용하였는데, root 계정에 접속하면 명령어 입력시 앞에 #과 관리자이므로 sudo를 제외시킵니다.

그렇다고, 아무나 root로 변경이 가능한 것은 아닙니다.
root 권한이 있는 사람만이 변경이 가능하고, root로 변신할 수 있는 계정을 지목가능합니다.
sudo usermod -aG sudo [username]

sudo는 관리자의 힘(root 권한)으로 명령어를 수행하는 의미입니다.
프로그램 추가/삭제, 시스템 중요파일/vi 편집, User 계정 추가/삭제 등 모든게 가능하다.

임베디드 개발자는 root 밖에 다루지 않는다. sudo라는 명령어 따로 불필요
임베디드 리눅스에서는 실행하자마자 바로 root로 자동로그인 후 APP 실행

Host 기본 셋팅 - 시간

시스템 로그 메세지에 시간을 정확히 찍기 위해 시간부터 세팅한다.
로그 메세지 : 사용 이력을 나타내는 메세지로, 에러 디버깅에 필수적이고, 시간 정보가 중요하다.

한국시간(KST) : UTC(세계 표준 시간) + 9시간

date : 현재 시간 확인 명령어

정확한 시간 맞추기

sudo apt install rdate : rdate(remote date) 설치
sudo rdate time.bora.net : LG유플러스가 운영하는 시간 서버에 맞추기

시간 정보를 가지고 있는 Time Server에 접속하여 시간 정보를 가져오고, 내 HOST에 Time 적용

User 생성

root 권한이 없는 새로운 계정이 만들어진다. /home/[user 이름] 경로에 user 전용 디렉토리가 만들어진다.
sudo adduser [user 이름]
필요한 모든 설정들을 Default로 자동설정 해준다.

su [user 계정 이름] : user계정으로 접속한다. 로그아웃 하고 exit

계정 삭제

deluser을 통해 계정을 삭제할 수 있는데, deluser 명령어에는 다양한 옵션이 존재합니다.
deluser 옵션 확인 명령어 : man deluser
계정 완전 삭제 명령어 : sudo deluser [계정명] --remove-all-files

그룹 만들기

권한을 그룹별로 설정 해주기위해 그룹을 만들어준다.

계정을 생성하면 그룹이 함께 자동으로 생성된다.
그룹 생성 명령어 : sudo addgroup [그룹명]
그룹에 사용자 추가 : sudo gpasswd -a [계정명] [그룹명]
그룹에서 사용자 제거 : sudo gpasswd -d [계정명] [그룹명]

사용자가 어떤 그룹에 소속되었는지 확인 : groups [계정명]
그룹마다 어떤 사람들이 소속되었는지 확인 : cat /etc/group

한 User는 여러 개의 그룹에 참여 가능하다!

그룹 제거 : sudo delgroup [그룹명]

파일 개념 및 종류

리눅스 커널 내부에서는 폴더도 파일 취급한다.

Regular File : 일반 파일
Directory File : 리눅스 커널 내부에서는, 디렉토리도 파일로 취급
Link File : 윈도우의 바로가기와 비슷한 파일
Device File : 새로운 장치를 연결하면, 상징물과 같은 파일이 하나 생긴다. -> 이 파일을 통해 장치 제어 가능

ls –al을 통해 레귤러(-), 디렉토리(d), link(I), 장치파일(c,b)를 통해 파일 종류 확인

ls -al /etc : etc -> 시스템 전반의 설정 파일, 환경설정

파일종류/rwx권한(user,group,other 순)/oner/oner Group 순으로 명시된다.

파일종류 : 레귤러(-), 디렉토리(d), link(I), 장치파일(c,b)
rwx -> r : 파일 read 권한 , w : 파일 write 권한, x : 파일 실행 권한, - : 권한 없음
oner : 사용자 , oner Group : 그룹
other은 guest가 아니고 owner와 owner Group을 제외한 모든 사람들을 뜻한다.

권한 설정

sudo chown [owner명] : [owner 그룹명] [파일명] -> 파일의 owner와 그룹명 바꾸기
sudo chmod[변경할 mode] [파일명] : 파일의 rwx 권한 변경

모드 변경 방법
  1. u=rwx : user의 rwx 권한 부여
  2. g=rw : group의 rw 권한 부여
  3. o = : other의 권한 부여 x
  1. u+r : user에 r 권한 부여
  2. o-w : other에 w 권한 제외
  3. a+w : user/group/other에 w 권한 부여

rwx => 421 = 7
113 : --x --x -rw
777 : rwx rwx rwx
660 : rw- rw- ---

파일을 초기 생성하면 권한은 rw- rw- r-- , 디렉토리를 초기 생성하면 권한은 rwx rwx rx가 된다.

디렉토리 파일 권한

r : ls로 파일 목록 읽기
w : 디렉토리 내 파일 생성/삭제
x : cd로 폴더 접근

txt 실행하면?

텍스트 파일을 실행하면 쉘 스크립트로 동작한다.
read, excute를 둘다 지정해 실행
./test.txt로 실행

profile
여러 방향으로 접근하는 개발자

0개의 댓글