A. 사용자 및 그룹

1. 사용자 및 그룹

root 사용자 정보

 

- /etc/passwd 란 디렉터리에서 사용자의 정보를 확인할 수 있다. 

- 위의 그림을 보면 root 사용자의 정보가 다음과 같이 기입되어 있다. 

root x 0 0   /root /bin/bash
사용자 이름 암호

다른 파일에서 관리
사용자 ID 사용자가 소속된 그룹 ID

따로 지정하지 않으면 사용자 이름과 동일하게 생성된 그룹에 소속됨
추가 정보
(없어도 됨)
홈 디렉터리 기본 셀

 

- 암호는 /etc/shadow 란 디렉터리에서 관리한다. 

- 그룹의 정보는 /etc/group 란 디렉터리에서 관리한다. 

 

2. 사용자와 그룹 관련 명령어

adduser

- 새로운 사용자를 추가

ex) adduser newuser1

 

옵션 존재

--uid = 유저 ID 지정

--gid = 그룹 ID 지정

--home = 홈 디렉터리 지정

--shell = 셀 지정 

ex) adduser --shell /bin/bash newuser2

 

 

passwd

- 사용자의 비밀번호를 지정하거나 변경

ex)  passwd newuser1

 

 

usermod

-사용자의 속성을 변경

ex)

usermod --home /root/newuser1  newuser2

usermod --groups ubuntu newuser1

 

 

userdel

- 사용자 삭제

 

 

Change

- 사용자의 암호를 주기적으로 변경하도록 설정

ex) change -m 2 newuser1

 

옵션

-l = 사용자에 설정된 사항 확인

-m = 최소 사용일 지정

-M = 최대 사용일 지정

-E = 사용자의 암호가 만료되는 날짜

-W = 설정한 암호가 만료되기전 경고하는 일 수

 

 

groups

- 현재 사용자가 속한 그룹을 보여줌

ex)  groups

그냥 group만 입력
사용자 지정하여 입력

 

groupsadd

- 새로운 그룹을 생성

ex) groupadd newgroup1

 

groupmod

- 그룹의 속성을 변경

ex) groupmod --new-name mygroup1 newgroup1

 

 

groupdel

- 그룹 삭제 

 

 

gpasswd

- 그룹 패스워드

 

 

**

사용자가 생성될 때 홈 디렉터리의 파일은 /etc/skel 에서 복사해온다. 

따라서 사용자 생성시 배포가 필요한 파일은 해당 디렉터리에 복사해두면 된다.

 

 

B. 파일과 디렉터리의 소유와 허가권

 

- rw- r-- r-- 1 root root 0 1월 14일 17:00 test.txt
파일유형 파일허가권 링크수 파일 소유자 이름 파일 소유 그룹 파일 크기 마지막 변경 날짜 파일 이름

파일의 속성

 

소유자(User) 그룹(Group) 그 외 사용자(Other)
r w - r - x r - -
4 2 0 4 0 1 4 0 0
6 5 4

파일 허가권

 

1. 관련 명령어

chmod

- 파일 허가권을 수정하는 명령어

ex) chmod 777 sample.txt

 

 

chown/chgrp

- 파일의 소유권을 바꾸는 명령어

- root 사용자만 사용가능하다

ex)

chown ubuntu.ubuntu sample.txt

chown ubuntu sample.txt

chgrp ubuntu sample.txt

 

 

C. 링크

링크 설명

 

1. 하드링크

ln   "원본파일"  "하드링크로 복사할 파일"

ex) ln base.txt hardlink.txt

 

같은 아이노드를 가르킴 따라서 원본파일이 사라져도 사용가능

2. 심볼릭 링크(=소프트 링크)

ln -s "원본파일" "심볼릭 링크로 복사할 파일" 

ex) ln -s base.txt symboliclink.txt

 

원본파일이 사라지면 사용 불가능

 

 

D. 프로그램 설치

1. dpkg(Debian Package)

윈도우즈의  .exe와 비슷한 설치 파일

확장명은 *.deb이며, 이를 패키지라고 부른다. 

 

프로그램 이름의 형식 (예시)

galculator_2.1.4-1_amd64.deb
galculator 2.1.4 1 amd64
패키지의 이름 버전 개정번호 아키텍쳐

 

아키텍쳐

amd64 = 64비트 CPU

i386 : 32비트 CPU

all : 모든 CPU

 

dpkg의 단점

의존성 문제가 있다. 

이를 해결하기 위해 apt-get이 등장하였다.

 

2. 자주 사용하는 dpkg 명령어 옵션

설치 

dpkg -i 패키지파일이름.deb

 

삭제

dpkg -r 패키지이름

dpkg -P 패키지이름 -> 설정파일까지 삭제

 

패키지 조회

dpkg -l 패키지이름 -> 설치된 패키지에 대한 정보를 보여줌

dpkg -L 패키지이름 -> 패키지가 설치한 파일 목록을 보여줌

 

아직 설치되지 않는 deb 파일 조회

dpkp --info 패키지이름.deb -> 패키지 파일에 대한 정보를 보여줌

 

 

3. apt-get 명령어

dpkg 명령의 패키지 의존성 문제를 완전하게 해결함. 

인터넷을 통하여 필요한 파일을 저장소에서 자동으로 모두 다운로드해서 설치하는 방식

저장소의 URL은 /etc/apt/sources.list 파일에 있다. 

 

4. 기본적인 apt-get 사용법

설치*

apt-get install 패키지이름

- 패키지 파일 이름이 아닌 패키지 이름만 기입하면된다. 

-  -y 옵션을 통해 사용자의 확인을 모두 yes로 간주하고 설치를 진행할수 있다. 

 

패키지 목록의 업데이트*

- apt-get update

 

삭제*

- apt-get remove/purge 패키지 이름

 

사용하지 않는 패키지 제거

- apt-get autoremove

 

내려 받은 파일 제거

- apt-get clean 또는 apt-get autoclean

 

의존성 확인

apt-cache

 

패키지 정보 보기

apt-cache show 패키지이름

 

패키지 의존성 확인

apt-cache depends 패키지이름

 

패키지 역의존성 확인

apt-cache rdepends 패키지이름

 

*로 따로 표시해둔 옵션 말고는 실제론 잘 안씀.

 

5. apt-get 작동 방식

apt-get 동작 방식

main 패키지 = 공식 / 무료

universe 패키지 = 비공식 / 무료

 

restricted 패키지 = 공식 / 유료

multiverse 패키지 = 비공식 / 유료

 

  • apt-get 명령으로 파일 설치를 시도하는데 설치가 정상적으로 안된다면 사이트 이상일 수도 있다.
  • /etc/apt/source.list 파일을 수정하여 사용하면된다. 수정후에는 apt-get update 명령어 입력 필요.
  • 아래의 주소에서 다른 미러 사이트의 URL를 찾을 수 있다. 

미러 저장소 사이트

 

E. 파일의 압축과 묶기

1. 파일 압축

  • 압축파일 확장명은 xz, bz2, gz, zip, Z 등
  • xz나 bz2 압축률이 더 좋다

2. 관련 명령어

xz, bzip2, gzip  모두 동일한 형식이다.

아래 명령어에서  xz를 맞는 확장명으로 치환하면된다.

 

xz 파일명

-> xz 확장명으로 압축

 

xz -d 파일명.xz

-> xz 확장명 압축해제

 

3. 파일 묶기

리눅스에서는 "파일 압축"과 "파일 묶기"는 원칙적으로 별개의 프로그램으로 수행한다.

 

4. 관련 명령어

tar

  • 동작
    • c = 묶기
    • x = 풀기
    • t = 경로 확인
  • 옵션
    • f = 파일
    • v = 과정보이기
    • J = tar + xz
    • z = tar + gzip
    • j = tar + bzip2

예시))

tar cvf  "파일이름 지정"  "묶을 대상 경로를 보통 씀"

 

tar cvfj  test.tar.bz2  /etc/systemd