일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- tar
- chatGPT
- 날짜변경
- firewalld
- docker image
- yum
- ssh
- 리다이렉션
- 랜카드인식불량
- nmcli
- HTTPD
- Kubernetes
- ansible
- vagrant kubernetes
- docker network
- docker
- pvcreate
- M365필터
- 프로세스
- swapon
- vgcreate
- lvcreate
- MSBing
- newbingai
- chmod
- mount
- 같은폴더
- 엑셀파일명변경
- journalctl
- permission
- Today
- Total
becool
20210408 (목) 본문
09:30 review
프로세스
부모 프로세스
자식 프로세스
데몬 프로세스
고아 프로세스
좀비 프로세스
$ kill [option] [signal] [PID]
root 3242 2947 0 09:41 pts/0 00:00:00 sleep 1000
[root@localhost ~]# kill -s 2 3242
[1] Interrupt sleep 1000
$ killall [option] [signal] [Process Name]
[root@localhost ~]# killall -v -3 sleep
Killed sleep(3408) with signal 3
[2] Quit (core dumped) sleep 2000
[3] Quit (core dumped) sleep 3000
[4]- Quit (core dumped) sleep 4000
[5]+ Quit (core dumped) sleep 5000
$ pkill -SIG Process
[user@localhost root]$ pkill -2 sleep
pkill: killing pid 3576 failed: Operation not permitted
[1] Interrupt sleep 1000
[2] Interrupt sleep 2000
[3]- Interrupt sleep 3000
[4]+ Interrupt sleep 4000
[user@localhost root]$ ps -ef |grep sleep
root 3576 783 0 09:49 ? 00:00:00 sleep 60
user 3644 3437 0 09:50 pts/0 00:00:00 grep --color=auto sleep
pkill : 소문자 t 특정 터미널의 프로세스를 제어할 수 있음.
대문자 P를 통해 부모프로세스 제어가 가능
[user@localhost root]$ pkill -15 -t pts/0 sleep → pts/0에 속하는 sleep 만 15번 시그널(TERM)
[1] Terminated sleep 1000
[2]- Terminated sleep 2000
[3]+ Terminated sleep 3000sleep
[user@localhost root]$ ps -ef |grep sleep
user 3889 3851 0 09:53 pts/2 00:00:00 sleep 4000
root 4092 783 0 09:59 ? 00:00:00 sleep 60
user 4108 3437 0 10:00 pts/0 00:00:00 sleep 5000
user 4126 3437 0 10:00 pts/0 00:00:00 grep --color=auto sleep
[user@localhost root]$ pkill -2 -P 3851 sleep
===================================
아카이브
- 다수의 파일을 하나로 묶는 것.
tar
아카이브 생성
$ tar cf 아카이브파일 파일
아카이브 확인
$ tar tf 아카이브파일
$ tar tfv 아카이브파일 (상세보기)
아카이브 해제
$ tar xf 아카이브파일
$ tar xfv 아카이브파일 (과정보기)
※ 해제 시, 동일한 파일명이 있으면 덮어쓰기(replace) 됨.
===================================
압축 및 압축 해제
compress
$ compress [FILE]
$ uncompress [FILE]
gzip
$ gzip [FILE]
$ gunzip [FILE]
bzip2
$ bzip2 [FILE]
$ bunzip2 [FILE]
xz
$ xz [FILE]
$ unxz [FILE]
zip NEWZIP FILE
※ 해제 시, 동일한 파일명이 있으면 덮어쓰기여부를 물어봄 (y,n,A,r)
replace file1? [y]es, [n]o, [A]ll, [N]one, [r]ename:
[user@localhost 20210408]$ zip newzip.zip file1 file2 file3
adding: file1 (deflated 65%)
adding: file2 (deflated 42%)
adding: file3 (deflated 61%)
파일 여러개를 압축하고 싶으면 1) tar 묶기 → 2) 압축 의 순서로 진행.
===================================
아카이브 + 압축
[user@localhost 20210408]$ tar zcf hello3.tar.gz file1 file2 file3
[user@localhost 20210408]$ tar ztf hello3.tar.gz
file1
file2
file3
[user@localhost 20210408]$ tar zxf hello3.tar.gz
tar -> gzip 한번에 실행 (zcf)
gzip -> tar 한번에 실행 (zxf)
ztf 파일 보기
[user@localhost 20210408]$ tar jcf hello4.tar.bz2 file1 file2 file3
[user@localhost 20210408]$ tar jtf hello4.tar.bz2
file1
file2
file3
[user@localhost 20210408]$ tar jxf hello4.tar.bz2
tar -> bzip2 한번에 실행 (jcf)
bzip2 -> tar 한번에 실행 (jxf)
jtf 파일 보기
[user@localhost 20210408]$ tar Jcf hello5.tar.xz file1 file2 file3
[user@localhost 20210408]$ tar Jtf hello5.tar.xz
file1
file2
file3
[user@localhost 20210408]$ tar Jxf hello5.tar.xz
tar -> xz 한번에 실행 (Jcf)
xz -> tar 한번에 실행 (Jxf)
Jtf 파일 보기
===================================
사용자 및 그룹 관리
/etc/passwd : Unix/Linux 사용자 계정 데이터베이스 파일
user01:x:1001:1001::/home/user01:/bin/bash
Username:PW:UID:GID:GECOS:HOME/SHELL
# useradd [OPTION] [USER] → /home에 유저 홈디렉터리 자동 생성됨 (안되게 설정되어있으면 -m옵션 활용)
-c [Comment] GECOS, Comment
[root@localhost ~]# useradd -c "test07 user" test07
test07:x:1005:1005:test07 user:/home/test07:/bin/bash
※ 유저 홈디렉터리 자동생성 옵션파일 : /etc/login.defs (이 파일의 값은 새 사용자를 만들때만 사용된다.) ..... |
-d [HOME]
[root@localhost ~]# useradd -d /home/test test08
test08:x:1006:1006::/home/test:/bin/bash
-m 사용자의 홈디렉터리가 존재하지 않을 경우 생성
[root@localhost ~]# useradd -c "test08 user" -d /home/test test08
user11:x:1007:1007::/home/test011:/bin/bash
-u [UID] 사용자의 UID값을 지정
[root@localhost ~]# useradd -u 1011 test13
test13:x:1011:1011::/home/test13:/bin/bash → UID값 지정
-r 사용자의 UID값을 시스템 계정 UID범위 (199~999)에서 할당
[root@localhost ~]# useradd -r test12
test12:x:987:981::/home/test12:/bin/bash → UID값이 900번대로 지정됨. (시스템계정)
# usermod [OPTION] [USER]
usermod 옵션 | 사용법 |
-c, --comment COMMENT | 주석 필드에 comment(GECOS) 추가/변경 |
-g, --gid GROUP | 사용자 계정에 대한 기본 그룹설정 |
-G, --groups GROUPS | 사용자 계정에 대한 쉼표로구분된 보조그룹목록 지정 |
-a, --append | 보조그룹집합을 새로운 집합으로 바꾸는 대신 보조그룹을 그룹멤버십의 사용자 현재 집합에 추가하도록 -G옵션과 함께 사용. |
-d, --home HOME_DIR | 사용자 계정에 대한 홈디렉터리 설정 |
-m, --move -home | 사용자의 홈디렉터리를 새 위치로 이동한다 -d와 함께 사용 |
-s, --shell SHELL | 사용자 계정에 대한 특정 로그인 쉘을 지정 |
-L, --lock | 사용자 계정 잠금 |
-U, --unlock | 사용자 계정 잠금해제 |
-p | PASSWORD 를 지정 → 보안에 취약하므로 사용하지 않음 |
-c comment
[root@localhost ~]# usermod -c "test1234" test07
test07:x:1005:1005:test1234:/home/test07:/bin/bash
-d HOME
[root@localhost ~]# usermod -d /home/test11 user11
user11:x:1007:1007::/home/test11:/bin/bash
-u UID 사용자의 UID 값을 변경
[root@localhost ~]# usermod -u 1012 test13
test13:x:1012:1011::/home/test13:/bin/bash
-g GID 사용자의 Primary Group 변경
-G GID 사용자의 Supplementary Group 변경 (기존 보조그룹 replace)
[root@localhost ~]# usermod -G ntp linux2
[root@localhost ~]# id linux2
uid=1021(linux2) gid=38(ntp) groups=38(ntp)
-a GID 사용자의 Supplementary Group 추가 (보조그룹 append)
[root@localhost ~]# usermod -a -G adm linux2
[root@localhost ~]# usermod -a -G postfix linux2
[root@localhost ~]# id linux2
uid=1021(linux2) gid=38(ntp) groups=38(ntp),4(adm),89(postfix)
-s SHELL 사용자의 SHELL 변경
[root@localhost ~]# usermod -s /bin/sh test02
[root@localhost ~]# su - test02
-sh-4.2$
-sh-4.2$ pwd
/home/test02
-o 사용자 UID 지정시 중복을 허용함
# userdel [OPTION] [USER]
※ 사용자의 홈디렉터리는 남아있음. → -r 옵션을 쓰면 홈디렉터리도 같이 삭제됨
※ -r옵션이 없으면 할당되지 않은 UID가 소유한 파일이 시스템이 잔존함.
이 문제는 삭제된 사용자(UID)의 홈디렉터리 외부에도 있을 수 있으며,
이 상황은 정보누출 및 보안 문제를 야기할 수 있다.
그룹
/etc/group : 그룹관리파일
기본 그룹 : 사용자 생성시 기본적으로 속하는 그룹
보조 그룹 : 기본 그룹 이외에 속할 수 있는 그룹
[root@localhost home]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost home]# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01)
그룹 추가
groupadd [OPTION] [GROUP]
-g GID 그룹의 GID 설정
※ 기본설정은 최근에 생성된 gid값에서 +1 하여 숫자가 지정되게 되나 g옵션을 통하여 직접 지정할 수 있음.
+1 숫자가 이미 쓰고 있는경우 빈 숫자를 찾아서 생성함.
groupadd 옵션 | 사용법 |
-g GID | 생성될 그룹의 GID값을 직접 지정함. |
-o | 그룹의 GID값 중복 허용 |
-r | 그룹의 GID값을 시스템 그룹의 범위(199~999) 내에서 할당 |
그룹 수정
groupmod [OPTION] [GROUP]
-g 그룹의 GID 변경
-n NEWGRP 그룹의 이름 변경
[root@localhost home]# groupmod -n test9 group9
test9:x:1012:
[root@localhost home]# groupmod -g 1008 group7
group7:x:1008:
그룹삭제
groupdel
※ 사용자의 기본그룹으로 설정된 그룹은 삭제 불가 → usermod 를 통해 GID변경 후 그룹 삭제 필요
[root@localhost home]# usermod -g 1000 linux2 → GID 1000으로 변경 [root@localhost home]# usermod -g user linux3 → GROUP명 user로 변경 숫자/텍스트 모두 가능 |
===================================
사용자 전환
su (Subsitute User, Switching Users)
$ su [OPTION] [USER]
-l : -l 옵션은 - 기호 하나만으로 줄여서 쓸 수 있다. 전환하는 user의 홈디렉터리로 이동하면서 전환한다.
사용하지 않는경우 현재의 작업디렉터리에서 전환된다.
→ -(-l)는 해당 사용자로 새로 로그인한 것 처럼 쉘환경을 초기화하는 반면,
su는 해당사용자로 쉘을 시작하지만 원래 사용자의 환경설정을 유지함.
sudo
$ sudo [OPTION] [COMMAND]
$ sudo [option] command
- 다른 사용자의 권한으로 작업1회 수행 후 종료/사용자 전환
- 다른 사용자의 패스워드가 아닌 현재 사용자의 패스워드를 입력하여 명령어 수행
'linux' 카테고리의 다른 글
20210412 (월) (0) | 2021.04.12 |
---|---|
20210409 (금) (0) | 2021.04.09 |
20210407 (수) -NEW (0) | 2021.04.07 |
20210407 (수) (0) | 2021.04.07 |
20210406 (화) (0) | 2021.04.06 |