--w--w--w- 떠도 보안취약 아님일 수 있음chmod/chown로 고치려 들지 말 것. 커널 인터페이스 망가짐 위험 있음open/read/write로 접근 → 커널이 즉시 계산해서 응답함procfs(/proc)
/proc/<pid>/… = 프로세스 상태/proc/sys/* = 커널 튜닝(sysctl) 엔트리. echo로 값 바꾸기도 함sysfs(/sys)
echo 한 줄이 실제 하드웨어 동작 바꿈. 신중하게 다룰 것devtmpfs(/dev)
devpts(/dev/pts)
tmpfs(/run, /dev/shm, 종종 /tmp)
1777(world-writable + sticky) 정상임cgroupfs(/sys/fs/cgroup)
(참고) pstore, securityfs, tracefs 등도 있음
--w--w--w- 같은 거 보이면 보안사고 같아 보이나, 의미가 다름/sys의 컨트롤 파일은 한 줄 쓰기만 받음. 잘못 쓰면 커널 동작 바뀜 → 테스트 금지/proc /sys /dev /run/user/*/gvfs /snap /var/lib/docker /var/lib/containers 등 제외 권장
find 원라이너(파일만 world-writable):
find / -xdev \
\( -path /proc -o -path /sys -o -path /dev -o -path '/run/user/*/gvfs' -o -path /var/lib/docker -o -path /var/lib/containers -o -path /snap \) -prune -o \
-type f -perm -0002 -printf '%M %u:%g %m %TY-%Tm-%Td %TH:%TM %p\n' 2>/dev/null
rsync 백업 예외:
rsync -aAX --exclude={"/proc/*","/sys/*","/dev/*","/run/*","/tmp/*","/mnt/*","/media/*","/lost+found"} / DEST/
tar 백업 예외:
tar --one-file-system --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run -cpf backup.tar /
/proc은 실시간이라 스캔 중 프로세스/FD 사라짐 → No such file 정상
조용히 돌리려면:
find / -ignore_readdir_race ... 2>/dev/null
# 마운트 타입 보기
findmnt -t proc,sysfs,tmpfs,devtmpfs,devpts,cgroup,cgroup2
# 특정 경로 파일시스템 타입
stat -f -c '%T %n' /proc /sys /dev /run /tmp
# 커널이 아는 FS 타입 리스트
cat /proc/filesystems
/etc/sysctl.conf / /etc/sysctl.d/*.conf 로 설정하고 sysctl -p 함/proc/sys/* / /sys/*에 직접 echo 쓰는 건 일시적/테스트용으로만/proc /sys는 분리된 뷰일 수 있음보통 tmpfs + 1777이 정석임
디렉터리가 world-writable이면 sticky(1) 꼭 있어야 함:
ls -ld /tmp /dev/shm
# 기대: drwxrwxrwt … /tmp (맨 끝 t)
/proc /sys /dev 퍼미션 보고 취약 판정 금지# 로컬 FS만(EXT/XFS/BTRFS) world-writable 파일 찾기
findmnt -rn -t ext2,ext3,ext4,xfs,btrfs -o TARGET \
| while read m; do
find "$m" -xdev \
\( -path /proc -o -path /sys -o -path /dev -o -path '/run/user/*/gvfs' \) -prune -o \
-type f -perm -0002 -printf '%M %u:%g %m %p\n'
done
# 특정 경로가 가상 FS인지 판별(one-liner)
stat -f -c '%T' "$PATH" | grep -Eq 'proc|sysfs|tmpfs|devtmpfs|devpts|cgroup' && echo vfs || echo disk