본문 바로가기
리눅스/서버운영

[리눅스] 파티션 복사 실습⑦ (퍼미션 비교해보기)

by 상달군 2024. 1. 9.
728x90

 

루트에 있는 디렉토리를 awk와 diff명령어를 이용하여 퍼미션을 모두 비교 해보기 


비교 안해도 되는 디렉토리 : dev home media mnt opt proc run scr srv sys
비교 해야하는 디렉토리 boot etc usr var bin lib lib64 sbin


1. 비교하기 /boot부터 시작 


ls -al /boot | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./boot
ls -al /cptest/boot | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cpboot

 

✨ 결과

[root@localhost bootdiff]# diff boot cpboot
1c1
< total 185508
---
> total 185496
3c3
< dr-xr-xr-x. 22 root root 4096 ..
---
> drwxr-xr-x. 19 root root 249 ..
9c9
< -rw-------. 1 root root 24875520 initramfs-4.18.0-513.5.1.el8_9.x86_64kdump.img
---
> -rw-------. 1 root root 24870400 initramfs-4.18.0-513.5.1.el8_9.x86_64kdump.img

2. /etc


[root@localhost etcdiff]# ls -al /etc | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./etc
[root@localhost etcdiff]# ls -al /cptest/etc | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cpetc

 

✨ 결과

[root@localhost etcdiff]# diff etc cpetc
1c1
< total 1232
---
> total 1228
3c3
< dr-xr-xr-x. 22 root root 4096 ..
---
> drwxr-xr-x. 19 root root 249 ..

3. /bin


[root@localhost bindiff]# ls -al /bin/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./bin
[root@localhost bindiff]# ls -al /cptest/bin/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cpbin

 

✨ 결과

[root@localhost bindiff]# diff bin cpbin
1,2c1,2
< total 169420
< dr-xr-xr-x. 2 root root 32768 .
---
> total 169412
> dr-xr-xr-x. 2 root root 28672 .

4. /lib


[root@localhost libdiff]#  ls -al /lib/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./lib
[root@localhost libdiff]#  ls -al /cptest/lib/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cplib

 

✨ 결과

[root@localhost libdiff]# diff lib cplib
[root@localhost libdiff]#

5. /lib64


[root@localhost libdiff]# ls -al /lib64/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./lib64
[root@localhost libdiff]# ls -al /cptest/lib64/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cplib64

 

✨ 결과

[root@localhost libdiff]# diff lib64 cplib64
1,2c1,2
< total 176356
< dr-xr-xr-x. 47 root root 36864 .
---
> total 176336
> dr-xr-xr-x. 47 root root 28672 .
841c841
< drwxr-xr-x. 2 root root 8192 xtables
---
> drwxr-xr-x. 2 root root 4096 xtables


🔻 /lib64/xtables가 다름 
[root@localhost libdiff]# ls -al /lib64/xtables/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./lib64xtables
[root@localhost libdiff]# ls -al /cptest/lib64/xtables/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cplib64xtables

 

✨ 결과

[root@localhost libdiff]# diff lib64xtables cplib64xtables
1,3c1,3
< total 1832
< drwxr-xr-x. 2 root root 8192 .
< dr-xr-xr-x. 47 root root 36864 ..
---
> total 1820
> drwxr-xr-x. 2 root root 4096 .
> dr-xr-xr-x. 47 root root 28672 ..

💢 내용물은 같음 


6. /sbin


[root@localhost sbindiff]#  ls -al /sbin/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./sbin
[root@localhost sbindiff]#  ls -al /cptest/sbin/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cpsbin

 

✨ 결과

[root@localhost sbindiff]# diff sbin cpsbin
[root@localhost sbindiff]#

7. /var


[root@localhost ~]#  ls -al /var/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./var
[root@localhost ~]#  ls -al /cptest/var/ | awk '{ print $1" "$2" "$3" "$4" "$5" "$9 }' > ./cpvar

 

✨ 결과

/var/log

[root@localhost ~]# diff var cpvar
1c1
< total 24
---
> total 16
3c3
< dr-xr-xr-x. 22 root root 4096 ..
---
> drwxr-xr-x. 19 root root 249 ..
17c17
< drwxr-xr-x. 9 root root 4096 log
---
> drwxr-xr-x. 3 root root 93 log
25c25
< drwxrwxrwt. 3 root root 85 tmp
---
> drwxrwxrwt. 2 root root 6 tmp

💢 일단 log는 내가 복사후 내용물을 모두 지웠기때문에 당연히 다름 


/var/tmp

[root@localhost ~]# ll /cptest/var/tmp
total 0

[root@localhost ~]# ll /var/tmp
total 0
drwx------. 3 root root 17 Jan  8 19:05 systemd-private-d2993b5383874589b988d1378949f89e-chronyd.service-gwMbMp

💢 tmp는 부팅이 실패 했기때문에 systemd어쩌구 파일이 생성되지 않은거 같음


💢 모두 비교 해보았지만, 다른거는 

/var/tmp : systemd 어쩌구 파일 

/lib64/xtables/ : 크기만 다르고 내용물은 모두 같음 

 

이제 각 디렉토리 안에 있는 모든 파일을 비교해야 하는건가...?

 

728x90

댓글