A. 사용자 및 그룹
1. 사용자 및 그룹

- /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


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 작동 방식

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
'Linux' 카테고리의 다른 글
| 리눅스 - 하드디스크 관리 Part 1 (1) | 2025.02.01 |
|---|---|
| 리눅스 기본 정리 - Part 2 (0) | 2025.01.23 |
| KVM 특징 및 설치 방법 - 커널 기반 가상 머신 (0) | 2024.07.30 |
| NFS 개념, 구조, 동작원리 - 파일에 접근할 수 있도록 하는 분산 파일 시스템 프로토콜 (0) | 2024.07.30 |
| htpasswd 사용법 - 아파치 사용자 인증 파일 생성 및 관리 (0) | 2024.07.30 |