리눅스 쉘 스크립트 실전 예제 Part 6: 권한 및 보안 관리 자동화
중요한 파일의 접근 권한과 보안 속성, 이제는 스크립트로 자동 점검하고 설정하세요.
1. 파일 권한 일괄 변경 (chmod, chown)
용도: 특정 디렉토리 내부 모든 파일의 퍼미션과 소유자를 일괄 정리할 수 있습니다.
find /path/to/files -type f -exec chmod 640 {} \;
find /path/to/files -type f -exec chown user:group {} \;
설명:
- chmod 640: 읽기·쓰기/읽기/없음 권한으로 설정합니다.
- chown: 지정한 사용자와 그룹으로 소유자 변경
- 실수 방지를 위해 -exec echo로 테스트 후 실행을 권장합니다.
2. world-writable 파일 탐지 및 제거
용도: 누구나 쓸 수 있는(writable by anyone) 위험한 권한 설정을 가진 파일을 탐지하고 제거하거나 권한을 조정합니다.
find /path/to/check -type f -perm -0002 -exec ls -l {} \;
설명:
- -perm -0002: others-writable 권한을 가진 파일을 검색합니다.
- 권한 변경 시 chmod o-w 또는 chmod 640 등으로 조정 가능합니다.
3. 민감 파일 자동 암호화 (GPG)
용도: DB 백업, 개인정보 파일 등을 자동 암호화하여 무단 열람을 방지합니다.
gpg --batch --yes --output secret.sql.gpg --symmetric --cipher-algo AES256 secret.sql
설명:
- --symmetric: 대칭키 방식으로 암호화합니다.
- --cipher-algo AES256: AES 256bit 암호화 알고리즘 사용
- --batch --yes: 비대화식 스크립트용 옵션입니다.
4. 파일 접근 권한 리포트 생성
용도: 특정 경로 내 파일들의 권한, 소유자, 그룹 정보를 리포트 파일로 저장하여 보안 점검 또는 변경 이력 관리에 활용할 수 있습니다.
find /path/to/dir -type f -exec stat -c "%a %U %G %n" {} \; > permission_report.txt
설명:
- stat -c "%a %U %G %n": 퍼미션, 사용자, 그룹, 파일경로 출력
- 결과를 permission_report.txt에 저장합니다.
5. 삭제 방지를 위한 immutable 설정
용도: 중요 파일을 실수나 악성 스크립트로부터 보호하기 위해 삭제 방지 속성을 설정합니다.
chattr +i /path/to/critical_file
설명:
- chattr +i: 파일에 변경·삭제를 막는 immutable 속성을 부여합니다.
- 제거하려면 chattr -i 파일명으로 설정을 해제합니다.
- 일부 파일시스템(ext 계열 등)에서만 지원됩니다.
마무리
파일 및 디렉토리 권한은 시스템 보안의 첫 관문입니다. 자동화 스크립트로 점검 및 설정을 주기적으로 실행하면 운영 리스크를 줄이고 관리 효율성을 높일 수 있습니다.
실무에 바로 적용할 수 있는 리눅스 쉘 스크립트 예제, 스마트베이에서 함께합니다.
비즈니스 효율을 높이는 스마트한 IT 솔루션을 제공합니다.
웹사이트 : www.esmartbay.co.kr
E-mail : smartbay.svc@gmail.com
카카오톡 : 바로 상담하기
'서버 & 리눅스 실무팁' 카테고리의 다른 글
| 리눅스 쉘 스크립트 실전 예제 Part 8: 자동화 예약 실행 (0) | 2025.06.14 |
|---|---|
| 리눅스 쉘 스크립트 실전 예제 Part 7: 중복 및 무결성 검사 (0) | 2025.06.14 |
| 리눅스 쉘 스크립트 실전 예제 Part 5: 디스크 용량과 감시 자동화 (0) | 2025.06.14 |
| 리눅스 쉘 스크립트 실전 예제 Part 4: 파일 이름 및 확장자 정리 (0) | 2025.06.14 |
| 리눅스 쉘 스크립트 실전 예제 Part 3: 백업 및 압축 자동화 (1) | 2025.06.14 |