반응형
리눅스 shasum 명령어 사용법 정리
shasum은 SHA(Secure Hash Algorithm) 체크섬을 계산하는 명령어입니다.
파일의 무결성(Integrity)을 검증하거나 파일이 변조되지 않았는지 확인할 때 사용됩니다.
대표적인 사용 사례
- 다운로드한 파일 검증
- 소프트웨어 패키지 무결성 확인
- 백업 파일 검증
- 배포 파일 체크섬 생성
1. SHA (Secure Hash Algorithm)
SHA는 데이터의 고유한 해시값(Hash Value) 을 생성하는 알고리즘입니다.
| 알고리즘 | 해시 길이 | 특징 |
| SHA-1 | 160 bit | 오래된 알고리즘 (보안 취약 가능) |
| SHA-224 | 224 bit | SHA-2 계열 |
| SHA-256 | 256 bit | 현재 가장 널리 사용 |
| SHA-384 | 384 bit | SHA-2 계열 |
| SHA-512 | 512 bit | 높은 보안 수준 |
실무에서는 SHA-256 또는 SHA-512 사용이 권장됩니다.
2. shasum 패키지 정보
shasum 명령어는 Perl Digest 모듈을 통해 제공됩니다.
perl-Digest 패키지
yum info perl-Digest
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Installed Packages
Name : perl-Digest
Arch : noarch
Version : 1.17
Release : 245.amzn2
Size : 28 k
Repo : installed
From repo : amzn2-core
Summary : Modules that calculate message digests
URL : http://search.cpan.org/dist/Digest/
License : GPL+ or Artistic
Description : The Digest:: modules calculate digests, also called "fingerprints" or
: "hashes", of some data, called a message. The digest is (usually)
: some small/fixed size string. The actual size of the digest depend of
: the algorithm used. The message is simply a sequence of arbitrary
: bytes or bits.
perl-Digest-SHA 패키지
yum info perl-Digest-SHA
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Installed Packages
Name : perl-Digest-SHA
Arch : x86_64
Epoch : 1
Version : 5.85
Release : 4.amzn2.0.2
Size : 110 k
Repo : installed
From repo : amzn2-core
Summary : Perl extension for SHA-1/224/256/384/512
URL : http://search.cpan.org/dist/Digest-SHA/
License : GPL+ or Artistic
Description : Digest::SHA is a complete implementation of the NIST Secure Hash Standard. It
: gives Perl programmers a convenient way to calculate SHA-1, SHA-224, SHA-256,
: SHA-384, SHA-512, SHA-512/224, and SHA-512/256 message digests. The module can
: handle all types of input, including partial-byte data.
3. shasum 명령어 오류
다음과 같은 오류가 발생할 수 있습니다.
$ shasum
-bash: shasum: command not found
이는 perl-Digest-SHA 패키지가 설치되지 않았기 때문입니다.
4. shasum 설치
대부분의 Linux 배포판에는 기본 설치되어 있지만 없는 경우 다음 명령으로 설치합니다.
yum install -y perl-Digest-SHA
설치 후 확인
which shasum
/usr/bin/shasum
5. shasum 버전 확인
shasum --version
5.85
$ which shasum
/usr/bin/shasum
728x90
6. 기본 사용법
기본 문법
shasum [옵션] 파일명
7. 체크섬 계산 예시
1) SHA-1 체크섬 계산
shasum -a 1 filename
6f5902ac237024bdd0c176cb93063dc4 filename
2) SHA-256 체크섬 계산 (권장)
shasum -a 256 filename
9f86d081884c7d659a2feaa0c55ad015 filename
3) SHA-512 체크섬 계산
shasum -a 512 filename
4) 여러 파일의 체크섬 계산
shasum -a 256 file1 file2 file3
hash1 file1
hash2 file2
hash3 file3
8. 체크섬 파일 생성
파일 검증을 위해 체크섬 파일을 생성할 수 있습니다.
shasum -a 256 filename > filename.sha256
e3b0c44298fc1c149afbf4c8996fb924 filename
9. 체크섬 검증
다운로드한 파일이 정상인지 검증할 때 사용합니다.
shasum -a 256 -c filename.sha256
정상 결과
filename: OK
오류 결과
filename: FAILED
10. 체크섬 파일 형식
일반적인 체크섬 파일 형식
hash값 파일명
e3b0c44298fc1c149afbf4c8996fb924 file.tar.gz
또는 일부 시스템에서는 다음 형식이 사용됩니다.
SHA256(file.tar.gz)= e3b0c44298fc1c149afbf4c8996fb924
11. 체크섬 검증 시 주의사항
1. 올바른 체크섬 파일 사용
- 체크섬 파일 확장자 예시
- .sha
- .sha1
- .sha256
- .sha512
2. 알고리즘 확인
- 체크섬 파일 알고리즘과 -a 옵션이 일치해야 합니다.
shasum -a 256 -c file.rpm.sha256
3. 체크섬 파일 형식 확인
- 체크섬 파일이 다음 형식인지 확인합니다.
hash값 파일명
3b83ef96387f14655fc854ddc3c6bd57 ap-8.1-x86_64.rpm
4. 체크섬 재생성
- 필요 시 체크섬을 다시 생성할 수 있습니다.
shasum -a 256 ap-8.1-x86_64.rpm > ap-8.1-x86_64.rpm.sha256
shasum 외에도 다양한 체크섬 도구
- md5sum : MD5 해시 계산
- sha1sum : SHA-1 해시 계산
- sha256sum : SHA-256 해시 계산
- sha512sum : SHA-512 해시 계산
12. 실무 활용 예시
소프트웨어 다운로드 검증
wget https://example.com/file.tar.gz
wget https://example.com/file.tar.gz.sha256
shasum -a 256 -c file.tar.gz.sha256
file.tar.gz: OK
728x90
반응형
'리눅스' 카테고리의 다른 글
| ubuntu 환경에서 elasticsearch와 kibana를 설치하는 방법 (0) | 2023.02.16 |
|---|---|
| SecureCRT 접속 시 Key exchange failed 오류 (0) | 2023.02.16 |
| CentOS 7에서 HAProxy를 Source Compile 방식으로 설치하는 방법 (0) | 2023.02.14 |
| [리눅스] consul-template 파일 생성 (0) | 2023.02.14 |
| HashiCorp Consul KV 사용하는 방법 (0) | 2023.02.14 |