[Linux] 원격접속 / 사용자와 파일 권한
2026. 1. 5. 05:04ㆍ📚 Linux
🐧 리눅스 OS & 원격 접속 및 권한 관리
1. 리눅스(Linux) OS 특징
🔹 임베디드 및 서버 개발
- 임베디드 OS 개발:
- 특정 목적에 맞는 컴퓨팅 시스템 세팅에 용이 (커스터마이징 가능).
- 서버 구축:
- 다중 사용자 환경(Multi-user) 제공에 최적화.
- 핵심 기능: 그룹 관리, 사용자 관리, 파일 권한 관리.
- 원격 접속: 서버 및 임베디드 개발자에게 필수 (개발 PC가 타겟 보드보다 성능이 우수하기 때문).
🔹 터미널(Terminal)의 이해
- 정의: 컴퓨터에 접속하기 위한 텍스트(Text) 기반 장치 (과거에는 하드웨어 자체를 지칭).
- 동작 원리:
사용자 ⮕ 터미널 ⮕ 쉘(Shell) ⮕ 커널(Kernel)
🛠️ 추천 터미널 에뮬레이터: Terminator
기존 터미널보다 편리한 GUI 환경(화면 분할 등)을 제공합니다.
- 설치 명령어:
sudo apt install terminator -y - 사용 팁: Ctrl + 휠 (폰트 크기 조절), 화면 Split 기능 제공
2. 리눅스 원격 접속 (Remote Access)
🔹 원격 접속의 중요성 및 조건
- 중요성: 장소(회사/집)에 구애받지 않고 작업 결과물을 공유하거나 제어할 수 있음.
- 필수 조건:
- 접속할 PC의 전원이 켜져 있고 네트워크에 연결되어야 함.
- IP 주소를 알아야 함 (네트워크 접속용).
- ID / Password를 알아야 함 (계정 인증용).
- 원격 접속용 프로그램(Server/Client)이 필요함.
🔹 서버 프로그램 설정 (Ubuntu)
- openssh-server 설치 (설치 즉시 데몬 자동 실행):
sudo apt install openssh-server -y - 시스템 데몬 상태 확인 (종료하려면 q 입력):
sudo systemctl status ssh
🔹 원격 접속 프로토콜 종류
- CLI 접속용 (쉘 접속)
- Telnet: 암호화되지 않음 (보안 취약, 비권장).
- SSH (Secure Shell): 데이터 암호화, 보안 강화 (표준 프로토콜).
- 파일 전송용
- FTP: 파일 전송 표준이나 암호화되지 않음.
- SFTP: SSH 기반으로 보안이 강화된 파일 전송.
- 참고: SSH만 설치되어 있으면 원격 접속과 파일 전송 모두 가능.
3. 포트 포워딩 (Port Forwarding)
🔹 개념
- Port: IP주소로 PC에 도달한 후, 어떤 프로세스(프로그램)인지 식별하는 번호.
- Well-known Port:
22: SSH / SFTP23: Telnet80: HTTP
- 포트 포워딩: 외부(Host)의 포트와 내부(Guest/가상머신)의 포트를 연결하여 통신 길을 열어주는 작업.
🔹 실습: VirtualBox 포트 포워딩 설정
- IP 주소 확인
- Windows (Host):
Win + R→cmd→ipconfig- VirtualBox Host-Only Network:
192.168.56.1
- VirtualBox Host-Only Network:
- Ubuntu (Guest): 터미널 →
ifconfig(없으면sudo apt install net-tools)- IP: 보통
10.0.2.15
- IP: 보통
- Windows (Host):
- VirtualBox 설정
- 가상머신 우클릭 → 설정 → 네트워크 → 고급 → 포트 포워딩
- 규칙 추가:
- 호스트 IP:
192.168.56.1/ 포트:22 - 게스트 IP:
10.0.2.15/ 포트:22
- 호스트 IP:
- MobaXterm 접속
- Session → SSH 클릭
- Remote host:
192.168.56.1 - Specify username:
ssafy(또는 설정한 ID) - Port:
22 - 기능: X11-Forwarding 지원으로 드래그&드롭 파일 공유 및 이미지 열람 가능.
4. 사용자 및 그룹 관리
🔹 Root와 Host의 이해
- Root: 리눅스 시스템의 최고 권한 관리자.
- Host: 네트워크에 연결된 컴퓨터 한 대의 개념.
🔹 사용자 (User) 관리
- 사용자 생성 (Home 디렉토리 자동 생성):
sudo adduser kfc - 사용자 변경 (로그인):
su kfc - 사용자 삭제 (파일 포함 완전 삭제):
sudo deluser kfc --remove-all-files - 주의:
sudo명령어는/etc/sudoers설정 파일에 등록된 계정만 사용 가능.
🔹 그룹 (Group) 관리
- 목적: 파일/디렉토리에 대한 권한을 그룹 단위로 단체 설정하기 위함.
- 정보 확인:
cat /etc/group - 그룹 생성 (Root 권한 필요):
sudo addgroup embedded - 그룹 정보 확인:
groups [계정명] - 그룹에 사용자 추가:
sudo gpasswd -a [유저명] [그룹명] - 그룹에서 사용자 삭제:
sudo gpasswd -d [유저명] [그룹명] - 그룹 삭제:
sudo delgroup [그룹명]
5. 리눅스 파일 시스템 및 권한 (Permission)
🔹 리눅스 파일의 종류
리눅스는 모든 것을 파일로 관리합니다. ls -al 명령어로 확인 시 맨 앞글자로 구분합니다.
-: Regular File (일반 파일)d: Directory File (디렉토리도 파일로 취급)l: Link File (윈도우의 바로가기와 유사)c/b: Device File (장치 파일,/dev에 위치하여 장치 제어)
🔹 파일 권한 구조
ls -al 출력 예시: -rwxr-xr-- (총 9자리 권한 정보)
- 첫 3글자: Owner (소유자) 권한
- 중간 3글자: Owner Group (소유 그룹) 권한
- 마지막 3글자: Other (그 외 사용자) 권한
| 기호 | 의미 | 파일(File)에서의 역할 | 디렉토리(Directory)에서의 역할 | 2진수 값 |
|---|---|---|---|---|
| r | Read | 내용 읽기 | ls로 파일 목록 확인 |
4 |
| w | Write | 내용 수정 | 디렉토리 내 파일 생성/삭제 | 2 |
| x | Execute | 실행 가능 | cd로 디렉토리 접근(이동) |
1 |
🔹 권한 변경 실습
1. 소유자/그룹 변경 (chown)
- 명령어:
sudo chown [소유자]:[그룹] [파일명] - 예시:
sudo chown jdragon:embedded abc - 우선순위: 파일에 접근할 때 Owner 권한이 Owner Group 권한보다 우선합니다.
2. 권한 변경 (chmod)
- 기호 모드 (Symbolic Mode)
u(User),g(Group),o(Other),a(All)+(추가),-(제거),=(지정)- 예시:
sudo chmod u=rwx abc(User에게 읽기/쓰기/실행 모두 부여)
- 8진수 모드 (Numeric Mode)
- r(4) + w(2) + x(1)의 합계로 설정
- 예시:
sudo chmod 777 abc(모든 사용자에게 모든 권한 rwx 부여) - 예시:
sudo chmod 421 abc(u=r, g=w, o=x)
3. 파일 및 디렉토리 권한 상세
echo HI > abc: abc 파일에 내용을 씀.- 복사(
cp) 권한 조건:- 복사할 원본 파일의 Read 권한 필요.
- 복사될 목적지 디렉토리의 Write 권한 필요.
- 디렉토리 필수 권한:
- 내부 목록을 보려면 Read.
- 내부로 들어가려면(
cd) Execute가 반드시 필요.
'📚 Linux' 카테고리의 다른 글
| [Linux] Build System 이해 (0) | 2026.01.12 |
|---|---|
| [Raspberry pi] sensor (1) | 2026.01.10 |
| 라즈베리파이 & 임베디드 기초 (0) | 2026.01.10 |
| [Linux] vi / plugin (0) | 2026.01.05 |
| Linux Shell (0) | 2026.01.02 |