compress : Unix시스템에서 사용하는 압축 도구, 압축시 파일명 맨 뒤엔 .z확장자가 추가됨.
compress 압축
$ compress FILE
compress 압축 해제
$ uncompress FILE
gzip(GNU Zip) : Linux의 기본 압축 도구로 널리 사용되므로 호환성이 좋은 압축 도구임. 압축시 파일명 맨 뒤엔 .gz확장자가 추가됨.
gzip 압축 해제
$ gunzip GZIP_FILE
$ gzip -d GZIP_FILE
bzip2 : gzip 보다 압축 효율을 개선한 새로운 압축 도구 압축시 파일명 맨 뒤에 .bz2 확장자가 추가됨.
bzip2 압축
$ bzip2 BZIP2_FILE
bzip2 압축 해제
$ bunzip2 BZIP2_FILE
$ bzip2 -d BZIP2_FILE
xz : 가장 최근에 개발된 압축 도구로 기존의 gzip, bzip2 압축 도구보다 압축율이 높은 압축 도구 Solid 압축 방식을 사용함. 압축시 파일명 맨 뒤에 .xz 확장자가 추가됨.
xz 압축
$ xz File
xz 압축 해제
$ unxz XZ_FILE
$ xz -d XZ_FILE
tar(Tape Archive)
tar 압축 명령
- Z : compress 방식으로 아카이브 및 압축
gzip 방식으로 아카이브 및 압축 동시에 실행하는 예시
$ tar zcf TAR_FILE FILE...$ tar zcvf TAR_FILE FILE...$ tar ztf TAR_FILE$ tar ztvf TAR_FILE$ tar zxf TAR_FILE$ tar zxvf TAR_FILE$ tar zxvf TAR_FILE -C DESTINATION_PATH/etc/passwd - 시스템에 등록된 사용자 정보를 저장.
/etc/shadow - 사용자의 패스워드를 해시패시워드 형태로 저장.
/etc/group - 그룹에 대한 정보를 저장.
USER:x:UID:GID:GECOS:HOME:SHELL
| 필드 | 설명 |
|---|---|
| USER | 사용자의 이름을 나타낸다. 사용자의이름은 시스템에서 유일해야 하며 사용자로 로그인 할 때 사용. |
| x(place holder) | 사용자의 패스워드를 저장하는 필드. 현재 이 필드는 사용되지 않으며, 현재 패스워드에 대한 정보는 /etc/shadow 파일에 해시 패스워드 형태로 저장. |
| UID | 시스템에서 사용자를 식별하는 번호. 0번은 root 사용자를 의미하며 1000번 미만은 시스템 사용자 계정으로 예약되어 있고 일반 사용자는 1000번부터 부여된다. |
| GID | 시스템에서 그룹을 식별하는 번호. 사용자와 머ㅏ찬가지로 0번은 root그룹이며 1000번 미만은 시스템 그룹으로 예약되어있고 1000번 이상부터는 일반 그룹에게 부여됨. |
| GECOS | GECOS(General Electrics Comprehensive Operation)라는 형식의 주석 필드. 사용자의 계정에 대한 주석을 기재할 수 있음. |
| HOME | 사용자의 홈 디렉토리를 절대경로로 나타냄. |
| SHELL | 사용자가 기본으로 사용할 쉘을 나타냄. |
(1) useradd USER
(2) passwd USER

useradd [option] [argument]
| 옵션 | 설명 |
|---|---|
| -u UID | 사용자의 UID를 지정한다. |
| -U | 사용자를 생성할 때 사용자와 같은 이름의 그룹을 생성한다. |
| -g GID | 사용자의 기본 그룹을 지정한다. |
| -G GID | 사용자의 보조 그룹을 지정한다. |
| -c 주석 | 사용자에 대한 GECOS를 지정한다. |
| -d 디렉토리 | 사용자의 홈 디렉터리를 지정한다. |
| -s 쉘 | 사용자의 기본 쉘을 지정한다. |
| -o | 사용자를 생성할 때 UID의 중복을 허용한다. |
| -p 패스워드 | 사용자를 생성할 때 패스워드를 지정한다. 이 옵션을 사용하면 /etc/password 의 두 번째 필드에 패스워드가 저장된다. 현재 사용 x |
| -r | UID가 199부터 999인 시스템 계정을 만들 때 사용한다. |
| -m | 사용자의 홈 디렉토리가 존재하지 않을 경우 생성해준다. |
| -e 만기일 | 사용자 생성 시 /etc/shadow 파일의 EXPIRE 필드 값을 지정한다. |
| -f 기간 | 사용자 생성 시 /etc/shadow 파일의 INACTIVE 필드 값을 지정한다. |
그룹
-g Group 사용자계정
<br>
보조그룹(Sulpplementary Group): 주그룹 이외의 그룹, -G 옵션 사용하여 추가
보조그룹은 사용자가 필수로 속해야 하는 그룹이 아니고 여러개의 보조그룹에 속할 수 있다.
-G GROUP [OPTION] 사용자계정

보조그룹을 sys설정하고 user04 계정 생성.

/etc/group 안에
sys:x:3:user04은
GROUP:GROUP_PASSWORD:GID:USERS(보조그룹의 구성원)을 나타냄.
c 주석

※ 큰따옴표 주의.
홈디렉터리 생성
$vim /etc/logins.defs 에서 CREATE_HOME 옵션을 no로 설정하면


사용자 계정 user08,09의 홈디렉터리가 확인은 되지만.

ls -l /home
실제로는 user08,09의 홈 디렉터리가 만들어지지 않은 것을 알 수 있다.
이럴 경우 -m 옵션을 사용하거나

-m -d 옵션으로 직접설정해줘야 한다.

$usermod [OPTION]... USER
| 옵션 | 설명 |
|---|---|
| -u UID | UID 변경 |
| -g GID | 기본 그룹(GID) 변경 |
| -G GID | 보조 그룹 변경 |
| a | 보조 그룹 추가 가입 (-G 옵션과 함께 사용) |
| -d HOMEDIR | Home Directory 변경 |
| -m | 변경된 홈 디렉터리로 홈 디렉터리를 이동 |
| -s SHELL | 사용자의 기본 쉘 지정 |
예시

예시2 (보조그룹 추가)


$userdel [OPTION] ..USER
그냥 userdel을 사용할 경우 홈 디렉터리와 메일함이 남아있기 때문에 -r 옵션을 권장한다.
$userdel -r ..USER
-r : 사용자의 홈 디렉터리, 메일함 등을 함께
$groupadd [OPTION]... GROUP$groupmod [OPTION]... GROUP$groupdel GROUP