cat /sys/block/sda/queue/rotational

result get 1 or 0 (true or false)

which means ''harddisk for 1"

 

You can also use 'lsblk -d -o name,rota' to get this value for all of your physical devices.

 

장착되어 있는 디스크 타입이 SSD인지 하드디스크 인지 OS shell에서 확인하는 방법으로

직접 디바이스 정보에서 rotational 값을 확인하거나 lsblk 명령을 사용할 수 있다.

'System Engineering > Linux' 카테고리의 다른 글

Logstash - filebeat SSL settings  (0) 2019.11.26
Buffers and cache in memory (Linux)  (0) 2019.11.11
Bash: sed  (0) 2019.05.07
Tools: ab  (0) 2018.08.30
Find files and directory which is using disks very highly  (0) 2018.08.17

SSL / TLS Intermediate CA

Ref: https://www.thesslstore.com/blog/root-certificates-intermediate/

 

각 CA는 하나 이상의 루트 CA를 가질 수 있으며, 실제 대부분의 CA는 여러개의 루트를 가지고 있다.

 

사용자 시스템에서 리프 인증서가 인증이 되면, 그 인증서의 루트에서 발급 된 모든 인증서는 사용자의 시스템에서 자동으로 신뢰하도록 설계되어 있다.

 

Certificate chain

인증서 발급을 위해서는 CSR (Certificate Signing Request)와 Private key를 생성하며, 인증 기관 루트에서 개인 키로 인증서를 서명함으로 인증 체인이 완성된다.

 

 

루트 CA에서 직접 모든 인증서를 발급하고 관리하는 것은 보안상 많은 리스크를 수반하므로, 중간 CA를 두어 보안 및 관리에 용이하도록 한다.

'System Engineering > Security' 카테고리의 다른 글

VDI  (0) 2018.06.18
IPS & IDS (feat. FW)  (0) 2018.06.18

When you install pipsi from get-pipsi.py, You should not execute python with sudo.

Just export PATH for pipsi

'Python' 카테고리의 다른 글

Python pip local package install  (0) 2023.06.21
SSH with python3  (0) 2019.01.25
flask: download file from directory  (0) 2019.01.02
Flask on apache via mod_wsgi  (0) 2018.12.06
Python 2.6 to 2.7 (or 3.x)  (0) 2018.11.23

-linux FILE 내의 ORIGINAL 문자열 찾아 CHANGE로 변경
sed -i 's/{ORIGINAL}/{CHANGE}/g' {FILE_NAME}
- 파일의 \n 찾아 공백으로 변경
sed ':a;N;$!ba;s/\n/%0A/g' pdisk_list.txt
- 파일 빈 줄 지우기
sed '/^$/d' main.txt > out.txt
-windows 프로세스 실행 시작 시간 확인
wmic process get caption,creationdate | findstr 프로세스명

-linux FILE 내의 ORIGINAL 문자열 찾아 CHANGE로 변경
sed -i 's/{ORIGINAL}/{CHANGE}/g' {FILE_NAME}

- 파일의 \n 찾아 공백으로 변경 
sed ':a;N;$!ba;s/\n/%0A/g' pdisk_list.txt 

- 파일 빈 줄 지우기 
sed '/^$/d' main.txt > out.txt 
-windows 프로세스 실행 시작 시간 확인 
wmic process get caption,creationdate | findstr 프로세스명

'System Engineering > Linux' 카테고리의 다른 글

Buffers and cache in memory (Linux)  (0) 2019.11.11
Check the disk type in linux (ubuntu)  (0) 2019.11.07
Tools: ab  (0) 2018.08.30
Find files and directory which is using disks very highly  (0) 2018.08.17
Check and recover disk badblocks  (0) 2018.08.16

paramiko 모듈을 이용하여 원격 리눅스 서버에 SSH 접속


pip를 이용하여 paramiko 모듈 설치


1
python -m pip install paramiko
cs


paramiko ssh 기본 접속 설정


1
2
3
4
5
6
7
8
9
10
11
import paramiko
import time
 
def main():
    HOST = 'ip_address'
 
    try:
        ssh = paramiko.SSHClient()
        # SSH Host key 설정
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(HOST, username='USERNAME', password='PW')
cs


기본적으로 한번 connect 된 상태에서 명령어를 실행할 때 마다 하나의 채널이 생성되고 종료되는 것이 반복된다.

su 커맨드를 사용하기 위해서는 채널을 유지시켜 줘야 하는데, 이 때 invoke_shell()를 사용하면 된다.


1
2
3
4
channel = ssh.invoke_shell()
 
channel.send('su -\n')
channel.send('password\n')
cs



전체 코드


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
32
33
34
35
36
37
38
39
40
41
import paramiko
import time
 
def main():
    HOST = 'ip_address'
 
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(HOST, username='USERNAME', password='PW')
        channel = ssh.invoke_shell()
 
        channel.send('su -\n')
        outdata, errdata = waitStreams(channel)
        print (outdata)
        channel.send('PW2\n')
        outdata, errdata = waitStreams(channel)
        print (outdata)
 
        channel.send('touch python_test_is_complete\n')
        outdata, errdata = waitStreams(channel)
        print (outdata)
 
    finally:
        if ssh is not None:
            ssh.close()
 
# python 모듈을 실행하는 커맨드 라인에서 출력 결과를 보여는 
def waitStreams(chan):
    time.sleep(1)
    outdata=errdata = ""
 
    while chan.recv_ready():
        outdata += str(chan.recv(1000))
    while chan.recv_stderr_ready():
        errdata += str(chan.recv_stderr(1000))
 
    return outdata, errdata
 
if __name__ == "__main__":
    main()
cs



Python 3.7.2 Traceback


1
TypeError: can only concatenate str (not "bytes") to str
cs


전체코드 33 ~ 36: byte로 읽은 데이터를 str 타입으로 변환 시켜 저장해야 정상적으로 print를 사용할 수 있다.

'Python' 카테고리의 다른 글

Python pip local package install  (0) 2023.06.21
pipsi - pip script installer  (1) 2019.06.04
flask: download file from directory  (0) 2019.01.02
Flask on apache via mod_wsgi  (0) 2018.12.06
Python 2.6 to 2.7 (or 3.x)  (0) 2018.11.23

+ Recent posts