서버 & 리눅스 실무팁

리눅스 쉘 스크립트 실전 예제 Part 6: 권한 및 보안 관리 자동화

smartbay 2025. 6. 14. 15:43

리눅스 쉘 스크립트 실전 예제 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 자동화 혁신 파트너
비즈니스 효율을 높이는 스마트한 IT 솔루션을 제공합니다.

웹사이트 : www.esmartbay.co.kr
E-mail : smartbay.svc@gmail.com
카카오톡 : 바로 상담하기